diff --git a/district/blocks.py b/district/blocks.py
index 469f09a0fef841b820f429df3ec0d6879ede1e6d..3e98158a20c86ab9348ba92e7c1625708b112a04 100644
--- a/district/blocks.py
+++ b/district/blocks.py
@@ -154,7 +154,6 @@ class CardLinkBlock(CardLinkBlockMixin):
             "district.DistrictContactPage",
             "district.DistrictCrossroadPage",
             "district.DistrictCustomPage",
-            "district.DistrictElectionRootPage",
             "district.DistrictPeoplePage",
             "district.DistrictProgramPage",
             "district.DistrictInteractiveProgramPage",
@@ -283,7 +282,6 @@ class CardLinkBlock(CardLinkBlockMixin):
             "district.DistrictCustomPage",
             "district.DistrictElectionCampaignPage",
             "district.DistrictElectionProgramPage",
-            "district.DistrictElectionRootPage",
             "district.DistrictPeoplePage",
             "district.DistrictPersonPage",
             "district.DistrictPostElectionStrategyPage",
diff --git a/district/migrations/0068_districtelectioncampaignpage_and_more.py b/district/migrations/0068_districtelectioncampaignpage_and_more.py
index 6de9ff058a17b62de65a3fcc024faf07d4247462..e20c9b3eb5e2c675aebf4768050efd44b70aaada 100644
--- a/district/migrations/0068_districtelectioncampaignpage_and_more.py
+++ b/district/migrations/0068_districtelectioncampaignpage_and_more.py
@@ -9,7 +9,6 @@ import wagtail.images.blocks
 import wagtailmetadata.models
 from django.db import migrations, models
 
-import district.models
 import shared.models
 
 
@@ -10002,7 +10001,7 @@ class Migration(migrations.Migration):
                 "verbose_name": "Bod programu voleb",
             },
             bases=(
-                district.models.DistrictElectionSubCampaignPageMixin,
+                # district.models.DistrictElectionSubCampaignPageMixin,
                 shared.models.SubpageMixin,
                 wagtailmetadata.models.WagtailImageMetadataMixin,
                 "wagtailcore.page",
@@ -14885,7 +14884,7 @@ class Migration(migrations.Migration):
                 "verbose_name": "Povolební strategie",
             },
             bases=(
-                district.models.DistrictElectionSubCampaignPageMixin,
+                # district.models.DistrictElectionSubCampaignPageMixin,
                 shared.models.SubpageMixin,
                 wagtailmetadata.models.WagtailImageMetadataMixin,
                 "wagtailcore.page",
diff --git a/district/migrations/0218_auto_20240601_1530.py b/district/migrations/0218_auto_20240601_1530.py
index 2ae930bceec06a78e25a41cdc30f3dd37880461c..84fb952c542ddfd23a665db940260c51065cefe0 100644
--- a/district/migrations/0218_auto_20240601_1530.py
+++ b/district/migrations/0218_auto_20240601_1530.py
@@ -1,16 +1,24 @@
 # Generated by Django 5.0.4 on 2024-06-01 13:30
 
-from django.db import migrations, transaction
 import wagtail
+from django.apps import apps as base_apps
+from django.contrib.contenttypes.management import create_contenttypes
+from django.db import migrations, transaction
 
-from district.blocks import ProgramGroupWithCandidatesBlock, CandidateListBlock, CandidateBlock, CandidateSecondaryListBlock, SecondaryCandidateBlock, ProgramGroupBlockPopout
-from shared.blocks import SocialLinkBlock, ProgramBlockPopout
+from district.blocks import (
+    ProgramGroupWithCandidatesBlock,
+)
+from shared.blocks import SocialLinkBlock
 
 
 def migrate_programs(apps, schema_editor):
     # Get the models
     DistrictHomePage = apps.get_model("district", "DistrictHomePage")
 
+    # Update content types, as they may not yet have been created.
+    # This is very ugly, but must be done.
+    create_contenttypes(base_apps.get_app_config("district"))
+
     DistrictElectionRootPage = apps.get_model("district", "DistrictElectionRootPage")
     DistrictElectionCampaignPage = apps.get_model(
         "district", "DistrictElectionCampaignPage"
@@ -54,6 +62,7 @@ def migrate_programs(apps, schema_editor):
     program_post_election_strategy_content_type = ContentType.objects.get(
         app_label="district", model="districtpostelectionstrategypage"
     )
+
     new_program_page_content_type = ContentType.objects.get(
         app_label="district", model="districtnewprogrampage"
     )
@@ -105,7 +114,7 @@ def migrate_programs(apps, schema_editor):
             # Update numchild on the home page
             home_page.numchild = home_page.numchild + 1
             home_page.save(update_fields=["numchild"])
-            
+
         # Iterate over all child DistrictElectionRootPage instances
         for election_root_page in get_children_of_type(
             DistrictElectionRootPage, home_page, root_page_content_type
@@ -124,10 +133,8 @@ def migrate_programs(apps, schema_editor):
                     # Title
                     "title": "",  # Done
                     "order": 0,
-
                     # Post-election
-                    "post_election_strategies": [],  
-
+                    "post_election_strategies": [],
                     # Candidates
                     "candidate_list_number": "",
                     "candidate_list_title": "",  # Done
@@ -135,13 +142,11 @@ def migrate_programs(apps, schema_editor):
                     "candidate_blocks": [],  # Done
                     "combined_candidates": [],  # Done
                     "primary_candidate_count": 0,  # Done
-                    
                     # Program
                     "program_title": "",
                     "program_points": [],
                     "program_is_inline": False,
                     "program_content_before": "",  # Done
-                    
                     # Misc.
                     "funding_info": "",
                 }
@@ -155,9 +160,11 @@ def migrate_programs(apps, schema_editor):
                 program_data["order"] = campaign_page.order
 
                 program_data["candidate_list_number"] = campaign_page.number
-                program_data[
-                    "candidate_list_title"
-                ] = campaign_page.candidate_list_title
+                program_data["candidate_list_title"] = (
+                    campaign_page.candidate_list_title
+                    if campaign_page.candidate_list_title
+                    else campaign_page.title
+                )
 
                 program_data["program_title"] = (
                     campaign_page.program_point_list_title
@@ -183,9 +190,12 @@ def migrate_programs(apps, schema_editor):
 
                     for candidate in candidate_list["candidate_list"]:
                         if candidate["type"] == "person_page":
-                            if DistrictPersonPage.objects.filter(
-                                id=candidate["value"]
-                            ).first() is None:
+                            if (
+                                DistrictPersonPage.objects.filter(
+                                    id=candidate["value"]
+                                ).first()
+                                is None
+                            ):
                                 # We have nothing to do here, this page ID is either unfilled or points to a missing page
                                 continue
 
@@ -349,7 +359,9 @@ def migrate_programs(apps, schema_editor):
                             age=candidate_block["data"]["age"],
                             is_pirate=candidate_block["data"]["is_pirate"],
                             other_party=candidate_block["data"]["other_party"],
-                            other_party_logo_id=candidate_block["data"]["other_party_logo"],
+                            other_party_logo_id=candidate_block["data"][
+                                "other_party_logo"
+                            ],
                             social_links=social_links,
                             content_type_id=people_page_content_type.id,
                             locale_id=default_locale.id,
@@ -375,32 +387,38 @@ def migrate_programs(apps, schema_editor):
                 primary_candidates = []
                 secondary_candidates = []
 
-                for position, candidate in enumerate(program_data["combined_candidates"]):
+                for position, candidate in enumerate(
+                    program_data["combined_candidates"]
+                ):
                     if position <= program_data["primary_candidate_count"]:
-                        primary_candidates.append({  # CandidateBlock value for CandidateListBlock
-                            "page": candidate["page"].id,
-                            "description": (
-                                candidate["page"].perex
-                                if len(candidate["page"].perex) > 32
-                                else (
-                                    candidate["page"].job
-                                    if candidate["page"].job
-                                    else candidate["page"].position
-                                )
-                            ),
-                            "image": (
-                                candidate["page"].profile_image.id
-                                # Not sure why there is a need to check for the second condition.
-                                # But, without it, the migration crashes on some images.
-                                if candidate["page"].profile_image is not None
-                                else 0
-                            )
-                        })
+                        primary_candidates.append(
+                            {  # CandidateBlock value for CandidateListBlock
+                                "page": candidate["page"].id,
+                                "description": (
+                                    candidate["page"].perex
+                                    if len(candidate["page"].perex) > 32
+                                    else (
+                                        candidate["page"].job
+                                        if candidate["page"].job
+                                        else candidate["page"].position
+                                    )
+                                ),
+                                "image": (
+                                    candidate["page"].profile_image.id
+                                    # Not sure why there is a need to check for the second condition.
+                                    # But, without it, the migration crashes on some images.
+                                    if candidate["page"].profile_image is not None
+                                    else 0
+                                ),
+                            }
+                        )
                     else:
-                        secondary_candidates.append({  # SecondaryCandidateBlock value for CandidateSecondaryListBlock
-                            "number": candidate["position"],
-                            "page": candidate["page"].id,
-                        })
+                        secondary_candidates.append(
+                            {  # SecondaryCandidateBlock value for CandidateSecondaryListBlock
+                                "number": candidate["position"],
+                                "page": candidate["page"].id,
+                            }
+                        )
 
                 primary_candidates_block = {
                     # Acts as CandidateListBlock
@@ -417,32 +435,36 @@ def migrate_programs(apps, schema_editor):
 
                 # There's no time left to set this up properly. We'll just use
                 # inline points for everything, at least for now.
-                
+
                 # Create program point blocks
                 program_points = []
 
                 for program_point in program_data["program_points"]:
-                    program_points.append({  # Act as ProgramBlockPopout
-                        "title": program_point["title"],
-                        "content": str(program_point["content"]),
-                        "guarantor": (
-                            program_point["guarantor_page"].id
-                            if program_point["guarantor_page"]
-                            else None
-                        )
-                    })
+                    program_points.append(
+                        {  # Act as ProgramBlockPopout
+                            "title": program_point["title"],
+                            "content": str(program_point["content"]),
+                            "guarantor": (
+                                program_point["guarantor_page"].id
+                                if program_point["guarantor_page"]
+                                else None
+                            ),
+                        }
+                    )
 
-                program_categories = [{  # Act as ProgramPopoutCategory
-                    "name": program_data["candidate_list_title"],
-                    "point_list": program_points
-                }]
+                program_categories = [
+                    {  # Act as ProgramPopoutCategory
+                        "name": program_data["candidate_list_title"],
+                        "point_list": program_points,
+                    }
+                ]
 
                 program_block = {
                     "type": "program_group_popout",
                     "value": {
                         "title": program_data["program_title"],
-                        "categories": program_categories
-                    }
+                        "categories": program_categories,
+                    },
                 }
 
                 # Finally, create a block for this program
@@ -450,18 +472,15 @@ def migrate_programs(apps, schema_editor):
                     {
                         "title": program_data["title"],
                         "preamble_content": program_data["program_content_before"],
-
                         "primary_candidates": primary_candidates_block,
                         "secondary_candidates": secondary_candidates_block,
-                        
-                        "program": [program_block]
+                        "program": [program_block],
                     }
                 )
 
-                new_program_page.program.append((
-                    "program_group_with_candidates",
-                    new_program_block
-                ))
+                new_program_page.program.append(
+                    ("program_group_with_candidates", new_program_block)
+                )
                 new_program_page.save()
 
 
@@ -472,14 +491,649 @@ class Migration(migrations.Migration):
 
     operations = [
         migrations.AlterField(
-            model_name='districtelectioncampaignpage',
-            name='candidates',
-            field=wagtail.fields.StreamField([('candidates', wagtail.blocks.StructBlock([('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictPersonPage'])), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybrán, použije se obrázek ze stránky kandidáta', label='Obrázek', required=False)), ('description', wagtail.blocks.TextBlock(label='Popis'))]), label=' '))]))], blank=True, verbose_name='Kandidátní listina'),
+            model_name="districtelectioncampaignpage",
+            name="candidates",
+            field=wagtail.fields.StreamField(
+                [
+                    (
+                        "candidates",
+                        wagtail.blocks.StructBlock(
+                            [
+                                (
+                                    "candidates",
+                                    wagtail.blocks.ListBlock(
+                                        wagtail.blocks.StructBlock(
+                                            [
+                                                (
+                                                    "page",
+                                                    wagtail.blocks.PageChooserBlock(
+                                                        label="Stránka",
+                                                        page_type=[
+                                                            "district.DistrictPersonPage"
+                                                        ],
+                                                    ),
+                                                ),
+                                                (
+                                                    "image",
+                                                    wagtail.images.blocks.ImageChooserBlock(
+                                                        help_text="Pokud není vybrán, použije se obrázek ze stránky kandidáta",
+                                                        label="Obrázek",
+                                                        required=False,
+                                                    ),
+                                                ),
+                                                (
+                                                    "description",
+                                                    wagtail.blocks.TextBlock(
+                                                        label="Popis"
+                                                    ),
+                                                ),
+                                            ]
+                                        ),
+                                        label=" ",
+                                    ),
+                                )
+                            ]
+                        ),
+                    )
+                ],
+                blank=True,
+                verbose_name="Kandidátní listina",
+            ),
         ),
         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.DistrictElectionCampaignPage', 'district.DistrictElectionProgramPage', 'district.DistrictElectionRootPage', 'district.DistrictPeoplePage', 'district.DistrictPersonPage', 'district.DistrictPostElectionStrategyPage', 'district.DistrictProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Karty programu'))])), ('program_group_popout', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Název')), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('description', wagtail.blocks.RichTextBlock(label='Popis', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek vyskakovacího bloku')), ('content', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah')), ('guarantor', wagtail.blocks.PageChooserBlock(label='Garant', page_type=['district.DistrictPersonPage'], required=False))]), label='Jednotlivé bloky programu'))]), label='Kategorie programu'))])), ('program_group_with_candidates', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('preamble_content', wagtail.blocks.RichTextBlock(help_text='Text, který se zobrazí před přepínačem mezi kandidáty a programem.', label='Preambule', required=False)), ('primary_candidates', wagtail.blocks.StructBlock([('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictPersonPage'])), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybrán, použije se obrázek ze stránky kandidáta', label='Obrázek', required=False)), ('description', wagtail.blocks.TextBlock(label='Popis'))]), label=' '))], help_text='Zobrazí se ve velkých blocích na začátku stránky.', label='Osoby na čele kandidátky')), ('secondary_candidates', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Ostatní kandidátky', label='Nadpis zbytku kandidátky')), ('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('number', wagtail.blocks.CharBlock(label='Číslo')), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictPersonPage'])), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybrán, použije se obrázek ze stránky kandidáta', label='Obrázek', required=False))]), label='Zbylí kandidáti na listině'))], help_text='Zobrazí se v kompaktním seznamu pod čelem kandidátky.', label='Ostatní osoby na kandidátce')), ('program', wagtail.blocks.StreamBlock([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('url', wagtail.blocks.URLBlock(label='Odkaz pokrývající celou tuto část', required=False)), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('title', wagtail.blocks.CharBlock(label='Titulek článku programu')), ('text', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah'))]), label='Jednotlivé články programu'))])), ('program_group_crossroad', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek')), ('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text', wagtail.blocks.RichTextBlock(label='Krátký text pod nadpisem', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictArticlePage', 'district.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictElectionCampaignPage', 'district.DistrictElectionProgramPage', 'district.DistrictElectionRootPage', 'district.DistrictPeoplePage', 'district.DistrictPersonPage', 'district.DistrictPostElectionStrategyPage', 'district.DistrictProgramPage'], 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'))]))]))]))], 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.DistrictElectionCampaignPage",
+                                                            "district.DistrictElectionProgramPage",
+                                                            "district.DistrictElectionRootPage",
+                                                            "district.DistrictPeoplePage",
+                                                            "district.DistrictPersonPage",
+                                                            "district.DistrictPostElectionStrategyPage",
+                                                            "district.DistrictProgramPage",
+                                                        ],
+                                                        required=False,
+                                                    ),
+                                                ),
+                                                (
+                                                    "link",
+                                                    wagtail.blocks.URLBlock(
+                                                        label="Odkaz", required=False
+                                                    ),
+                                                ),
+                                            ]
+                                        ),
+                                        label="Karty programu",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "program_group_popout",
+                        wagtail.blocks.StructBlock(
+                            [
+                                (
+                                    "title",
+                                    wagtail.blocks.CharBlock(
+                                        help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                        label="Název programu",
+                                    ),
+                                ),
+                                (
+                                    "categories",
+                                    wagtail.blocks.ListBlock(
+                                        wagtail.blocks.StructBlock(
+                                            [
+                                                (
+                                                    "name",
+                                                    wagtail.blocks.CharBlock(
+                                                        label="Název"
+                                                    ),
+                                                ),
+                                                (
+                                                    "icon",
+                                                    wagtail.images.blocks.ImageChooserBlock(
+                                                        label="Ikona", required=False
+                                                    ),
+                                                ),
+                                                (
+                                                    "description",
+                                                    wagtail.blocks.RichTextBlock(
+                                                        label="Popis", required=False
+                                                    ),
+                                                ),
+                                                (
+                                                    "point_list",
+                                                    wagtail.blocks.ListBlock(
+                                                        wagtail.blocks.StructBlock(
+                                                            [
+                                                                (
+                                                                    "title",
+                                                                    wagtail.blocks.CharBlock(
+                                                                        label="Titulek vyskakovacího bloku"
+                                                                    ),
+                                                                ),
+                                                                (
+                                                                    "content",
+                                                                    wagtail.blocks.RichTextBlock(
+                                                                        features=[
+                                                                            "h3",
+                                                                            "h4",
+                                                                            "h5",
+                                                                            "bold",
+                                                                            "italic",
+                                                                            "ol",
+                                                                            "ul",
+                                                                            "hr",
+                                                                            "link",
+                                                                            "document-link",
+                                                                            "image",
+                                                                            "superscript",
+                                                                            "subscript",
+                                                                            "strikethrough",
+                                                                            "blockquote",
+                                                                            "embed",
+                                                                        ],
+                                                                        label="Obsah",
+                                                                    ),
+                                                                ),
+                                                                (
+                                                                    "guarantor",
+                                                                    wagtail.blocks.PageChooserBlock(
+                                                                        label="Garant",
+                                                                        page_type=[
+                                                                            "district.DistrictPersonPage"
+                                                                        ],
+                                                                        required=False,
+                                                                    ),
+                                                                ),
+                                                            ]
+                                                        ),
+                                                        label="Jednotlivé bloky programu",
+                                                    ),
+                                                ),
+                                            ]
+                                        ),
+                                        label="Kategorie programu",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "program_group_with_candidates",
+                        wagtail.blocks.StructBlock(
+                            [
+                                (
+                                    "title",
+                                    wagtail.blocks.CharBlock(
+                                        help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                        label="Název programu",
+                                    ),
+                                ),
+                                (
+                                    "preamble_content",
+                                    wagtail.blocks.RichTextBlock(
+                                        help_text="Text, který se zobrazí před přepínačem mezi kandidáty a programem.",
+                                        label="Preambule",
+                                        required=False,
+                                    ),
+                                ),
+                                (
+                                    "primary_candidates",
+                                    wagtail.blocks.StructBlock(
+                                        [
+                                            (
+                                                "candidates",
+                                                wagtail.blocks.ListBlock(
+                                                    wagtail.blocks.StructBlock(
+                                                        [
+                                                            (
+                                                                "page",
+                                                                wagtail.blocks.PageChooserBlock(
+                                                                    label="Stránka",
+                                                                    page_type=[
+                                                                        "district.DistrictPersonPage"
+                                                                    ],
+                                                                ),
+                                                            ),
+                                                            (
+                                                                "image",
+                                                                wagtail.images.blocks.ImageChooserBlock(
+                                                                    help_text="Pokud není vybrán, použije se obrázek ze stránky kandidáta",
+                                                                    label="Obrázek",
+                                                                    required=False,
+                                                                ),
+                                                            ),
+                                                            (
+                                                                "description",
+                                                                wagtail.blocks.TextBlock(
+                                                                    label="Popis"
+                                                                ),
+                                                            ),
+                                                        ]
+                                                    ),
+                                                    label=" ",
+                                                ),
+                                            )
+                                        ],
+                                        help_text="Zobrazí se ve velkých blocích na začátku stránky.",
+                                        label="Osoby na čele kandidátky",
+                                    ),
+                                ),
+                                (
+                                    "secondary_candidates",
+                                    wagtail.blocks.StructBlock(
+                                        [
+                                            (
+                                                "heading",
+                                                wagtail.blocks.CharBlock(
+                                                    default="Ostatní kandidátky",
+                                                    label="Nadpis zbytku kandidátky",
+                                                ),
+                                            ),
+                                            (
+                                                "candidates",
+                                                wagtail.blocks.ListBlock(
+                                                    wagtail.blocks.StructBlock(
+                                                        [
+                                                            (
+                                                                "number",
+                                                                wagtail.blocks.CharBlock(
+                                                                    label="Číslo"
+                                                                ),
+                                                            ),
+                                                            (
+                                                                "page",
+                                                                wagtail.blocks.PageChooserBlock(
+                                                                    label="Stránka",
+                                                                    page_type=[
+                                                                        "district.DistrictPersonPage"
+                                                                    ],
+                                                                ),
+                                                            ),
+                                                            (
+                                                                "image",
+                                                                wagtail.images.blocks.ImageChooserBlock(
+                                                                    help_text="Pokud není vybrán, použije se obrázek ze stránky kandidáta",
+                                                                    label="Obrázek",
+                                                                    required=False,
+                                                                ),
+                                                            ),
+                                                        ]
+                                                    ),
+                                                    label="Zbylí kandidáti na listině",
+                                                ),
+                                            ),
+                                        ],
+                                        help_text="Zobrazí se v kompaktním seznamu pod čelem kandidátky.",
+                                        label="Ostatní osoby na kandidátce",
+                                    ),
+                                ),
+                                (
+                                    "program",
+                                    wagtail.blocks.StreamBlock(
+                                        [
+                                            (
+                                                "program_group",
+                                                wagtail.blocks.StructBlock(
+                                                    [
+                                                        (
+                                                            "title",
+                                                            wagtail.blocks.CharBlock(
+                                                                help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                                                label="Název programu",
+                                                            ),
+                                                        ),
+                                                        (
+                                                            "point_list",
+                                                            wagtail.blocks.ListBlock(
+                                                                wagtail.blocks.StructBlock(
+                                                                    [
+                                                                        (
+                                                                            "url",
+                                                                            wagtail.blocks.URLBlock(
+                                                                                label="Odkaz pokrývající celou tuto část",
+                                                                                required=False,
+                                                                            ),
+                                                                        ),
+                                                                        (
+                                                                            "icon",
+                                                                            wagtail.images.blocks.ImageChooserBlock(
+                                                                                label="Ikona",
+                                                                                required=False,
+                                                                            ),
+                                                                        ),
+                                                                        (
+                                                                            "title",
+                                                                            wagtail.blocks.CharBlock(
+                                                                                label="Titulek článku programu"
+                                                                            ),
+                                                                        ),
+                                                                        (
+                                                                            "text",
+                                                                            wagtail.blocks.RichTextBlock(
+                                                                                features=[
+                                                                                    "h3",
+                                                                                    "h4",
+                                                                                    "h5",
+                                                                                    "bold",
+                                                                                    "italic",
+                                                                                    "ol",
+                                                                                    "ul",
+                                                                                    "hr",
+                                                                                    "link",
+                                                                                    "document-link",
+                                                                                    "image",
+                                                                                    "superscript",
+                                                                                    "subscript",
+                                                                                    "strikethrough",
+                                                                                    "blockquote",
+                                                                                    "embed",
+                                                                                ],
+                                                                                label="Obsah",
+                                                                            ),
+                                                                        ),
+                                                                    ]
+                                                                ),
+                                                                label="Jednotlivé články programu",
+                                                            ),
+                                                        ),
+                                                    ]
+                                                ),
+                                            ),
+                                            (
+                                                "program_group_crossroad",
+                                                wagtail.blocks.StructBlock(
+                                                    [
+                                                        (
+                                                            "title",
+                                                            wagtail.blocks.CharBlock(
+                                                                help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                                                label="Název programu",
+                                                            ),
+                                                        ),
+                                                        (
+                                                            "point_list",
+                                                            wagtail.blocks.ListBlock(
+                                                                wagtail.blocks.StructBlock(
+                                                                    [
+                                                                        (
+                                                                            "image",
+                                                                            wagtail.images.blocks.ImageChooserBlock(
+                                                                                label="Obrázek"
+                                                                            ),
+                                                                        ),
+                                                                        (
+                                                                            "title",
+                                                                            wagtail.blocks.CharBlock(
+                                                                                label="Titulek",
+                                                                                required=True,
+                                                                            ),
+                                                                        ),
+                                                                        (
+                                                                            "text",
+                                                                            wagtail.blocks.RichTextBlock(
+                                                                                label="Krátký text pod nadpisem",
+                                                                                required=False,
+                                                                            ),
+                                                                        ),
+                                                                        (
+                                                                            "page",
+                                                                            wagtail.blocks.PageChooserBlock(
+                                                                                label="Stránka",
+                                                                                page_type=[
+                                                                                    "district.DistrictArticlePage",
+                                                                                    "district.DistrictArticlesPage",
+                                                                                    "district.DistrictCenterPage",
+                                                                                    "district.DistrictContactPage",
+                                                                                    "district.DistrictCrossroadPage",
+                                                                                    "district.DistrictCustomPage",
+                                                                                    "district.DistrictElectionCampaignPage",
+                                                                                    "district.DistrictElectionProgramPage",
+                                                                                    "district.DistrictElectionRootPage",
+                                                                                    "district.DistrictPeoplePage",
+                                                                                    "district.DistrictPersonPage",
+                                                                                    "district.DistrictPostElectionStrategyPage",
+                                                                                    "district.DistrictProgramPage",
+                                                                                ],
+                                                                                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",
+                                                            ),
+                                                        ),
+                                                    ]
+                                                ),
+                                            ),
+                                        ]
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                ],
+                blank=True,
+                verbose_name="Programy",
+            ),
         ),
-        migrations.RunPython(migrate_programs)
+        migrations.RunPython(migrate_programs),
     ]
diff --git a/district/migrations/0219_alter_districtelectioncampaignpage_options_and_more.py b/district/migrations/0219_alter_districtelectioncampaignpage_options_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..6a4ecab2a5af6c1d45c85a5c5dea8c6d2f4b5868
--- /dev/null
+++ b/district/migrations/0219_alter_districtelectioncampaignpage_options_and_more.py
@@ -0,0 +1,175 @@
+# Generated by Django 5.0.4 on 2024-06-04 13:40
+
+import wagtail.blocks
+import wagtail.fields
+import wagtail.images.blocks
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('district', '0218_auto_20240601_1530'),
+    ]
+
+    operations = [
+        migrations.AlterModelOptions(
+            name='districtelectioncampaignpage',
+            options={},
+        ),
+        migrations.AlterModelOptions(
+            name='districtelectionprogrampage',
+            options={},
+        ),
+        migrations.AlterModelOptions(
+            name='districtelectionrootpage',
+            options={},
+        ),
+        migrations.AlterModelOptions(
+            name='districtinteractiveprogrampage',
+            options={},
+        ),
+        migrations.AlterModelOptions(
+            name='districtpostelectionstrategypage',
+            options={},
+        ),
+        migrations.AlterModelOptions(
+            name='districtprogrampage',
+            options={},
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='campaign_funding_info',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='candidate_list_title',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='candidates',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='content',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='hero_candidates_image',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='hero_cta_buttons',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='hero_headline',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='hero_image',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='hero_motto',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='number',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='order',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='program_point_list_title',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='search_image',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectioncampaignpage',
+            name='show_program_points_inline',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectionprogrampage',
+            name='campaign_funding_info',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectionprogrampage',
+            name='content',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectionprogrampage',
+            name='guarantor',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectionprogrampage',
+            name='image',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectionprogrampage',
+            name='perex',
+        ),
+        migrations.RemoveField(
+            model_name='districtelectionprogrampage',
+            name='search_image',
+        ),
+        migrations.RemoveField(
+            model_name='districtinteractiveprogrampage',
+            name='content',
+        ),
+        migrations.RemoveField(
+            model_name='districtinteractiveprogrampage',
+            name='perex',
+        ),
+        migrations.RemoveField(
+            model_name='districtinteractiveprogrampage',
+            name='search_image',
+        ),
+        migrations.RemoveField(
+            model_name='districtpostelectionstrategypage',
+            name='campaign_funding_info',
+        ),
+        migrations.RemoveField(
+            model_name='districtpostelectionstrategypage',
+            name='content',
+        ),
+        migrations.RemoveField(
+            model_name='districtpostelectionstrategypage',
+            name='perex',
+        ),
+        migrations.RemoveField(
+            model_name='districtpostelectionstrategypage',
+            name='search_image',
+        ),
+        migrations.RemoveField(
+            model_name='districtprogrampage',
+            name='content',
+        ),
+        migrations.RemoveField(
+            model_name='districtprogrampage',
+            name='perex',
+        ),
+        migrations.RemoveField(
+            model_name='districtprogrampage',
+            name='search_image',
+        ),
+        migrations.AlterField(
+            model_name='districtcrossroadpage',
+            name='cards_content',
+            field=wagtail.fields.StreamField([('cards', wagtail.blocks.StructBlock([('headline', wagtail.blocks.CharBlock(label='Titulek bloku', required=False)), ('card_items', 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.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictPeoplePage', 'district.DistrictProgramPage', 'district.DistrictInteractiveProgramPage', 'district.DistrictGeoFeatureCollectionPage', 'district.DistrictCalendarPage', 'district.DistrictPdfPage', 'district.DistrictNewProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))], template='styleguide2/includes/molecules/boxes/card_box_block.html'), label='Karty s odkazy'))]))], blank=True, verbose_name='Karty rozcestníku'),
+        ),
+        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.DistrictElectionCampaignPage', 'district.DistrictElectionProgramPage', 'district.DistrictPeoplePage', 'district.DistrictPersonPage', 'district.DistrictPostElectionStrategyPage', 'district.DistrictProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Karty programu'))])), ('program_group_popout', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Název')), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('description', wagtail.blocks.RichTextBlock(label='Popis', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek vyskakovacího bloku')), ('content', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah')), ('guarantor', wagtail.blocks.PageChooserBlock(label='Garant', page_type=['district.DistrictPersonPage'], required=False))]), label='Jednotlivé bloky programu'))]), label='Kategorie programu'))])), ('program_group_with_candidates', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('preamble_content', wagtail.blocks.RichTextBlock(help_text='Text, který se zobrazí před přepínačem mezi kandidáty a programem.', label='Preambule', required=False)), ('primary_candidates', wagtail.blocks.StructBlock([('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictPersonPage'])), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybrán, použije se obrázek ze stránky kandidáta', label='Obrázek', required=False)), ('description', wagtail.blocks.TextBlock(label='Popis'))]), label=' '))], help_text='Zobrazí se ve velkých blocích na začátku stránky.', label='Osoby na čele kandidátky')), ('secondary_candidates', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Ostatní kandidátky', label='Nadpis zbytku kandidátky')), ('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('number', wagtail.blocks.CharBlock(label='Číslo')), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictPersonPage'])), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybrán, použije se obrázek ze stránky kandidáta', label='Obrázek', required=False))]), label='Zbylí kandidáti na listině'))], help_text='Zobrazí se v kompaktním seznamu pod čelem kandidátky.', label='Ostatní osoby na kandidátce')), ('program', wagtail.blocks.StreamBlock([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('url', wagtail.blocks.URLBlock(label='Odkaz pokrývající celou tuto část', required=False)), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('title', wagtail.blocks.CharBlock(label='Titulek článku programu')), ('text', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah'))]), label='Jednotlivé články programu'))])), ('program_group_crossroad', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek')), ('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text', wagtail.blocks.RichTextBlock(label='Krátký text pod nadpisem', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictArticlePage', 'district.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictElectionCampaignPage', 'district.DistrictElectionProgramPage', 'district.DistrictPeoplePage', 'district.DistrictPersonPage', 'district.DistrictPostElectionStrategyPage', 'district.DistrictProgramPage'], 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'))]))]))]))], blank=True, verbose_name='Programy'),
+        ),
+        migrations.AlterField(
+            model_name='districtpeoplepage',
+            name='people',
+            field=wagtail.fields.StreamField([('people_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug skupiny', required=False)), ('person_list', wagtail.blocks.ListBlock(wagtail.blocks.PageChooserBlock(label='Detail osoby', page_type=['district.DistrictPersonPage']), label='Skupina osob'))], label='Seznam osob')), ('team_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Název sekce týmů')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug sekce', required=False)), ('team_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('headline', wagtail.blocks.CharBlock(label='Titulek bloku', required=False)), ('card_items', 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.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictPeoplePage', 'district.DistrictProgramPage', 'district.DistrictInteractiveProgramPage', 'district.DistrictGeoFeatureCollectionPage', 'district.DistrictCalendarPage', 'district.DistrictPdfPage', 'district.DistrictNewProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))], template='styleguide2/includes/molecules/boxes/card_box_block.html'), label='Karty s odkazy'))], label='Karta týmu'), label='Týmy'))]))], blank=True, verbose_name='Lidé a týmy'),
+        ),
+    ]
diff --git a/district/models.py b/district/models.py
index d7a05d9c60da38209785791fa32e91b900ee56c8..dd6da1254cb708f35e3ad22fbcaed96a0d899862 100644
--- a/district/models.py
+++ b/district/models.py
@@ -1,23 +1,19 @@
 import json
-from functools import cached_property
 
 from django.core.cache import cache
 from django.core.exceptions import ValidationError
 from django.db import models
-from django.http import HttpResponseNotFound, HttpResponseRedirect
 from modelcluster.contrib.taggit import ClusterTaggableManager
 from modelcluster.fields import ParentalKey
 from taggit.models import TaggedItemBase
 from wagtail.admin.panels import (
     FieldPanel,
-    HelpPanel,
     InlinePanel,
     MultiFieldPanel,
     ObjectList,
     PageChooserPanel,
     TabbedInterface,
 )
-from wagtail.contrib.routable_page.models import RoutablePageMixin, route
 from wagtail.fields import RichTextField, StreamField
 from wagtail.models import Orderable, Page
 from wagtailmetadata.models import MetadataPageMixin
@@ -191,10 +187,7 @@ class DistrictHomePage(CalendarMixin, MainHomePageMixin):
         "district.DistrictContactPage",
         "district.DistrictCrossroadPage",
         "district.DistrictCustomPage",
-        "district.DistrictElectionRootPage",
         "district.DistrictPeoplePage",
-        "district.DistrictProgramPage",
-        "district.DistrictInteractiveProgramPage",
         "district.DistrictGeoFeatureCollectionPage",
         "district.DistrictCalendarPage",
         "district.DistrictPdfPage",
@@ -624,12 +617,9 @@ class DistrictCrossroadPage(
         "district.DistrictContactPage",
         "district.DistrictCrossroadPage",
         "district.DistrictCustomPage",
-        "district.DistrictElectionRootPage",
         "district.DistrictGeoFeatureCollectionPage",
         "district.DistrictPeoplePage",
         "district.DistrictPersonPage",
-        "district.DistrictProgramPage",
-        "district.DistrictInteractiveProgramPage",
     ]
     ### OTHERS
 
@@ -671,441 +661,10 @@ class DistrictCustomPage(MainSimplePageMixin):
     ### RELATIONS
 
     parent_page_types = ["district.DistrictHomePage", "district.DistrictCrossroadPage"]
-    subpage_types = ["district.DistrictElectionRootPage"]
-
-
-# --- END Migrated models ---
-
-
-# --- BEGIN Old election models ---
-
-
-class DistrictElectionBasePage(
-    ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, Page
-):
-    ### FIELDS
-
-    content = StreamField(
-        CONTENT_BLOCKS
-        + [
-            ("badge", blocks.PersonBadgeBlock()),
-        ],
-        verbose_name="Obsah",
-        blank=True,
-        use_json_field=True,
-    )
-
-    campaign_funding_info = models.URLField(
-        "URL pro zjištění informací o financování kampaně",
-        blank=True,
-        null=True,
-        help_text="Pokud ponecháte prázdné, použije se buď odkaz z nadřazené stránky, nebo https://wiki.pirati.cz/ft/start.",
-    )
-
-    ### PANELS
-
-    content_panels = Page.content_panels + [
-        FieldPanel("content"),
-        FieldPanel("campaign_funding_info"),
-    ]
-
-    promote_panels = make_promote_panels()
-
-    settings_panels = []
-
-    class Meta:
-        abstract = True
-
-    @cached_property
-    def root_election_page(self):
-        if isinstance(self, DistrictElectionRootPage):
-            return self
-
-        return (
-            self.get_ancestors()
-            .type(DistrictElectionRootPage)
-            .live()
-            .specific()
-            .first()
-        )
-
-
-class DistrictElectionSubCampaignPageMixin:
-    @cached_property
-    def campaign_page(self):
-        return (
-            self.get_ancestors()
-            .type(DistrictElectionCampaignPage)
-            .live()
-            .specific()
-            .first()
-        )
-
-
-class DistrictPostElectionStrategyPage(
-    DistrictElectionSubCampaignPageMixin, DistrictElectionBasePage
-):
-    ### FIELDS
-
-    perex = models.TextField("Perex", help_text="Pro přehled volebního programu")
-
-    content_panels = DistrictElectionBasePage.content_panels + [
-        FieldPanel("perex"),
-    ]
-
-    ### RELATIONS
-
-    parent_page_types = ["district.DistrictElectionCampaignPage"]
-    subpage_types = []
-
-    class Meta:
-        verbose_name = "Povolební strategie"
-
-    def get_meta_description(self):
-        if self.search_description:
-            return self.search_description
-        return self.perex
-
-
-class DistrictElectionProgramPage(
-    DistrictElectionSubCampaignPageMixin, DistrictElectionBasePage
-):
-    ### FIELDS
-
-    guarantor = models.ForeignKey(
-        "district.DistrictPersonPage",
-        verbose_name="Garant",
-        on_delete=models.PROTECT,
-        blank=True,
-        null=True,
-    )
-    image = models.ForeignKey(
-        "wagtailimages.Image",
-        verbose_name="Ilustrační obrázek",
-        on_delete=models.PROTECT,
-        related_name="+",
-    )
-    perex = models.TextField("Perex", help_text="Pro přehled volebního programu")
-
-    ### PANELS
-
-    content_panels = DistrictElectionBasePage.content_panels + [
-        PageChooserPanel("guarantor"),
-        FieldPanel("image"),
-        FieldPanel("perex"),
-    ]
-
-    ### RELATIONS
-
-    parent_page_types = ["district.DistrictProgramPage"]
-    subpage_types = []
-
-    class Meta:
-        verbose_name = "Bod programu voleb"
-
-    def get_meta_image(self):
-        return self.search_image or self.image or self.root_page.get_meta_image()
-
-    def get_meta_description(self):
-        if self.search_description:
-            return self.search_description
-        return self.perex
-
-
-class DistrictElectionCampaignPage(DistrictElectionBasePage):
-    ### FIELDS
-    number = models.CharField(
-        "Zvolené číslo kandidátní listiny", blank=True, null=True, max_length=4
-    )
-    candidates = StreamField(
-        [
-            ("candidates", blocks.CandidateListBlock()),
-        ],
-        verbose_name="Kandidátní listina",
-        blank=True,
-        use_json_field=True,
-    )
-    candidate_list_title = models.CharField(
-        "Titulek kandidátní listiny",
-        blank=True,
-        null=True,
-        max_length=128,
-        help_text="Např. Kandidátní listina pro magistrát.",
-    )
-    program_point_list_title = models.CharField(
-        "Titulek programové sekce",
-        blank=True,
-        null=True,
-        max_length=128,
-        help_text="Např. Program pro magistrát.",
-    )
-    show_program_points_inline = models.BooleanField(
-        "Zobrazit obsah programu na jedné stránce",
-        default=False,
-        help_text="Hodí se v případě spousty krátkých bodů programu, z nichž si většina nezaslouží vlastní stránku.",
-    )
-    hero_headline = models.CharField(
-        "Banner headline",
-        max_length=128,
-        blank=True,
-        null=True,
-        help_text="Použije se v hlavním banneru. Pokud je toto hlavní kampaň voleb, nebo ve vaší obci je jen jedna jediná kandidátní listina, můžete ponechat prázdné a pro titulek se pak použije titulek root volební stránky.",
-    )
-    hero_motto = models.CharField(
-        "Motto/claim pro banner",
-        max_length=128,
-        blank=True,
-        null=True,
-        help_text="Použije se v hlavním banneru.",
-    )
-    hero_cta_buttons = StreamField(
-        [
-            ("button_group", ButtonGroupBlock()),
-        ],
-        verbose_name="CTAs pro banner",
-        blank=True,
-        null=True,
-        help_text="Použije se v hlavním banneru.",
-        use_json_field=True,
-    )
-    hero_image = models.ForeignKey(
-        "wagtailimages.Image",
-        on_delete=models.PROTECT,
-        related_name="+",
-        verbose_name="Ilustrační obrázek pro banner",
-        help_text="Pokud ponecháte prázdné, použije se výchozí obrázek stránek.",
-        null=True,
-        blank=True,
-    )
-    hero_candidates_image = models.ForeignKey(
-        "wagtailimages.Image",
-        on_delete=models.PROTECT,
-        related_name="+",
-        verbose_name="Obrázek s kandidáty pro banner",
-        help_text="Použije se jako overlay v hlavním banneru a proto by fotka měla mít průhlednost aby to nevypadalo divně.",
-        null=True,
-        blank=True,
-    )
-    order = models.SmallIntegerField(
-        "Pořadí",
-        default=0,
-        help_text="Čím nižší pořadí, tím důležitější kampaň je. Bude použito při řazených výpisech a nejdůležitější kampaň bude automaticky routovaná pokud někdo přistoupí na volební rozcestník.",
-    )
-
-    ### PANELS
-
-    content_panels = Page.content_panels + [
-        HelpPanel(
-            "<strong>TIP: </strong>Body programu a stránku povolební strategie přidávejte jako podstránky této stránky"
-        ),
-        FieldPanel("candidates"),
-        MultiFieldPanel(
-            [
-                FieldPanel("number"),
-                FieldPanel("candidate_list_title"),
-                FieldPanel("program_point_list_title"),
-                FieldPanel("show_program_points_inline"),
-                FieldPanel("content"),
-            ],
-            "Personalizace",
-        ),
-        MultiFieldPanel(
-            [
-                FieldPanel("hero_headline"),
-                FieldPanel("hero_motto"),
-                FieldPanel("hero_image"),
-                FieldPanel("hero_candidates_image"),
-                FieldPanel("hero_cta_buttons"),
-            ],
-            "Hero banner",
-        ),
-        FieldPanel("order"),
-        FieldPanel("campaign_funding_info"),
-    ]
-
-    ### RELATIONS
-
-    parent_page_types = ["district.DistrictElectionRootPage"]
-    subpage_types = [
-        "district.DistrictElectionProgramPage",
-        "district.DistrictPostElectionStrategyPage",
-    ]
-
-    class Meta:
-        verbose_name = "Kandidatura"
-
-    @cached_property
-    def post_election_strategy(self):
-        return (
-            self.get_children()
-            .type(DistrictPostElectionStrategyPage)
-            .live()
-            .specific()
-            .first()
-        )
-
-    @cached_property
-    def program_points(self):
-        return self.get_children().type(DistrictElectionProgramPage).live().specific()
-
-    def get_meta_image(self):
-        return (
-            self.search_image
-            or self.hero_candidates_image
-            or self.hero_image
-            or self.root_page.get_meta_image()
-        )
-
-    def get_meta_description(self):
-        if self.search_description:
-            return self.search_description
-
-        return self.hero_motto
-
-
-class DistrictElectionRootPage(RoutablePageMixin, Page):
-    """The election root page only serves as a wrapper for sharing stuff among campaign pages.
-
-    It is never rendered on its own. When accessed, it will automatically redirect to the first campaign page.
-    """
-
-    ### PANELS
-
-    ### RELATIONS
-
-    parent_page_types = [
-        "district.DistrictHomePage",
-        "district.DistrictCustomPage",
-        "district.DistrictCrossroadPage",
-    ]
-    subpage_types = [
-        "district.DistrictElectionCampaignPage",
-        "district.DistrictGeoFeatureCollectionPage",
-    ]
-
-    ### OTHERS
-
-    class Meta:
-        verbose_name = "Volební rozcestník"
-
-    @cached_property
-    def campaigns(self):
-        return (
-            self.get_children()
-            .type(DistrictElectionCampaignPage)
-            .live()
-            .order_by("districtelectioncampaignpage__order")
-        )
-
-    @cached_property
-    def primary_campaign(self):
-        return self.campaigns.first()
-
-    @route(r"^$")
-    def index(self, request):
-        """When accessed, redirect to first campaign page available or trigger 404."""
-        if not self.primary_campaign:
-            return HttpResponseNotFound()
-
-        return HttpResponseRedirect(self.primary_campaign.get_url())
-
-
-class DistrictInteractiveProgramPage(
-    ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, Page
-):
-    ### FIELDS
-
-    perex = models.TextField("Perex", blank=True)
-    content = StreamField(
-        [("interactive_program_block", blocks.InteractiveProgramBlock())],
-        verbose_name="Části programu",
-        blank=False,
-        use_json_field=True,
-    )
-
-    ### PANELS
-
-    content_panels = Page.content_panels + [
-        FieldPanel("perex"),
-        FieldPanel("content"),
-    ]
-
-    promote_panels = make_promote_panels()
-
-    settings_panels = []
-
-    ### RELATIONS
-
-    parent_page_types = ["district.DistrictHomePage"]
     subpage_types = []
 
-    ### OTHERS
-
-    class Meta:
-        verbose_name = "Interaktivní program"
-
-    def save(self, **kwargs):
-        from redmine_utils.functions import fill_data_from_redmine_for_page
-
-        fill_data_from_redmine_for_page(self)
-        return super().save(**kwargs)
 
-    def get_meta_description(self):
-        if self.search_description:
-            return self.search_description
-        return self.perex
-
-
-class DistrictProgramPage(
-    ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, Page
-):
-    ### FIELDS
-
-    perex = models.TextField("Perex", blank=True)
-    content = StreamField(
-        [
-            ("static_program_block", blocks.StaticProgramBlock()),
-            ("redmine_program_block", blocks.RedmineProgramBlock()),
-        ],
-        verbose_name="obsah stránky",
-        blank=True,
-        use_json_field=True,
-    )
-
-    ### PANELS
-
-    content_panels = Page.content_panels + [
-        FieldPanel("perex"),
-        FieldPanel("content"),
-    ]
-
-    promote_panels = make_promote_panels()
-
-    settings_panels = []
-
-    ### RELATIONS
-
-    parent_page_types = ["district.DistrictHomePage"]
-    subpage_types = []
-
-    ### OTHERS
-
-    class Meta:
-        verbose_name = "Plnění programu"
-
-    def save(self, **kwargs):
-        from redmine_utils.functions import fill_data_from_redmine_for_page
-
-        fill_data_from_redmine_for_page(self)
-        return super().save(**kwargs)
-
-    def get_meta_description(self):
-        if self.search_description:
-            return self.search_description
-        return self.perex
-
-
-# --- END Old election models ---
+# --- END Migrated models ---
 
 
 class DistrictGeoFeatureCollectionPage(
@@ -1218,7 +777,6 @@ class DistrictGeoFeatureCollectionPage(
 
     parent_page_types = [
         "district.DistrictHomePage",
-        "district.DistrictElectionRootPage",
     ]
     subpage_types = ["district.DistrictGeoFeatureDetailPage"]
 
@@ -1532,3 +1090,30 @@ class DistrictGeoFeatureDetailPage(
             print(exc)
 
             raise ValidationError({"geojson": str(exc)}) from exc
+
+
+# Legacy models required for migrations
+
+
+class DistrictElectionRootPage(Page):
+    pass
+
+
+class DistrictProgramPage(Page):
+    pass
+
+
+class DistrictInteractiveProgramPage(Page):
+    pass
+
+
+class DistrictElectionCampaignPage(Page):
+    pass
+
+
+class DistrictElectionProgramPage(Page):
+    pass
+
+
+class DistrictPostElectionStrategyPage(Page):
+    pass
diff --git a/district/templates/district/district_geo_feature_collection_page.html b/district/templates/district/district_geo_feature_collection_page.html
index 11c9300f6236a0bd342e71b410b0019a9e865304..77ce4f7e8efbbc4bee1a8768dd162f58ac3fb0b2 100644
--- a/district/templates/district/district_geo_feature_collection_page.html
+++ b/district/templates/district/district_geo_feature_collection_page.html
@@ -1,173 +1,86 @@
-{% extends "district/base.html" %}
-{% load static wagtailcore_tags wagtailimages_tags %}
+{% extends "styleguide2/simple_page.html" %}
 
-{% block subheader %}
-  {% if page.image %}
-    {% image page.image fill-1920x500-c75 jpegquality-80 as bg_img %}
-  {% else %}
-    {% image page.root_page.fallback_image fill-1920x500-c75 jpegquality-80 as bg_img %}
-  {% endif %}
-
-  <header class="hero hero--image text-center md:text-left py-16" style="--image-url: url({{ bg_img.full_url }})">
-    <div class="container container--default grid lg:grid-cols-7 gap-4 items-center text-center lg:text-left">
-      <div class="lg:col-span-3 order-2 lg:order-1">
-        <h1 class="head-alt-lg md:head-alt-xl text-shadow-lg max-w-2xl mx-auto lg:mx-0">
-          {{ page.title }}
-        </h1>
-        <h2 class="head-xs text-shadow-lg max-w-xl mx-auto lg:mx-0">
-          {{ page.perex }}
-        </h2>
-        <div class="mt-4 md:mt-8 space-y-4">
-          {% for block in page.hero_cta_buttons %}
-            {% include_block block %}
-          {% endfor %}
-        </div>
-      </div>
-      <div class="lg:col-span-4 order-1 lg:order-2">
-        {% if page.logo_image %}
-          {% image page.logo_image width-490 as logo_img %}
-          <img src="{{ logo_img.url }}" class="h-32 lg:h-80 m-auto object-contain" alt="{{ page.title }}">
-        {% endif %}
-      </div>
-    </div>
-  </header>
-
-  {% if promoted_features %}
-    <section id="propagovane" class="bg-grey-50 py-8 lg:py-16">
-      <div class="container container--default">
-        {% if page.promoted_block_title %}
-          <h2 class="head-alt-md mb-4">{{ page.promoted_block_title }}</h2>
-        {% endif %}
-
-        <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
-          {% for feature in promoted_features %}
-            <div class="card card--hoveractive article-card bg-white">
-              <div class="article-card-cover">
-                <span class="absolute mt-2 ml-2 rounded-full inline-flex items-center justify-center bg-grey-125 font-bold text-center text-base w-8 h-8 no-underline">
-                  <a href="?item={{ feature.pk }}-{{ feature.slug }}" class="no-underline js-feature-item-anchor">{{ feature.index }}</a>
-                </span>
-                {% if feature.image %}
-                  {% image feature.image fill-260x192-c75 jpegquality-80 as img %}
-                  {% image feature.image fill-520x384-c75 jpegquality-80 as img_2x %}
-                  <a href="?item={{ feature.pk }}-{{ feature.slug }}" title="{{ feature.title }}" class="js-feature-item-anchor"><img src="{{ img.url }}" srcset="{{ img.url }}, {{ img_2x.url }} 2x" alt="{{ feature.title }}"></a>
-                {% endif %}
-              </div>
-              <div class="card__body p-4 flex items-center">
-                <h2 class="head-heavy-2xs flex-1"><a href="?item={{ feature.pk }}-{{ feature.slug }}" title="{{ feature.title }}" class="js-feature-item-anchor underline">{{ feature.title }}</a></h2>
-              </div>
-            </div>
-          {% endfor %}
-        </div>
-
-        <div class="text-center mt-8 lg:mt-16">
-          <a href="#mapa" class="btn btn--black btn--hoveractive btn--icon text-lg btn--fullwidth md:btn--autowidth">
-            <div class="btn__body-wrap">
-              <div class="btn__body">Zobrazit další</div>
-              <div class="btn__icon"><i class="ico--chevron-right"></i></div>
-            </div>
-          </a>
-        </div>
-      </div>
-    </section>
-  {% endif %}
-{% endblock subheader %}
-
-{% block container_class %}container--default{% endblock %}
-{% block container_spacing %}py-8 pb-0 lg:py-16{% endblock %}
+{% load wagtailcore_tags %}
 
 {% block content %}
-  <article>
-    <div class="space-y-8 lg:space-y-16">
-      <section>
-        {% for block in page.content %}
-          {% include_block block with block_id=block.id %}
-        {% endfor %}
-      </section>
-
-      <section id="mapa">
-        {% if page.map_title %}
-          <h2 class="head-alt-md mb-4">{{ page.map_title }}</h2>
-        {% endif %}
-        <div
-          class="v-geo-feature-collection"
-          data-wrapper-class="container-padding--zero lg:container-padding--auto"
-          data-initial-zoom="14"
-          data-tile-server-config="{{ js_map.tile_server_config }}"
-          data-tile-style="{{ js_map.style }}"
-          data-categories="{{ js_map.categories }}"
-          data-geojson="{{ js_map.geojson }}"
-        ></div>
-      </section>
-
-      <section id="kategorie">
-        {% if page.category_list_title %}
-          <h2 class="head-alt-md mb-4">{{ page.category_list_title }}</h2>
-        {% endif %}
-
-        <div class="grid grid-cols-1 md:grid-cols-2 gap-4 md:gap-8">
-          {% for category, features in features_by_category %}
-            <div class="card md:elevation-2" style="border-right: 4px rgb({{ category.rgb.0 }}, {{ category.rgb.1 }}, {{ category.rgb.2 }}) solid;">
-              <div class="card__body p-4">
-                <h3 class="head-allcaps-heavy-2xs mb-2">{{ category.name }}</h3>
-                <ul class="leading-normal {% if not forloop.last %}mb-4{% endif %} md:mb-0">
-                  {% for feature in features %}
-                    <li>
-                        <span class="rounded-full inline-flex items-center justify-center bg-grey-125 font-bold text-center text-xs w-5 h-5 mr-2 no-underline">
-                          <a href="?item={{ feature.pk }}-{{ feature.slug }}" class="no-underline js-feature-item-anchor">{{ feature.index }}</a>
-                        </span>
-                        <a href="?item={{ feature.pk }}-{{ feature.slug }}" class="js-feature-item-anchor"><span class="text-sm underline">{{ feature.title }}</span></a>
-                      </a>
-                    </li>
-                  {% endfor %}
-                </ul>
-              </div>
-            </div>
-          {% endfor %}
-        </div>
-      </section>
-
-      {% if page.content_after %}
-        <section class="space-y-4">
-          {% for block in page.content_after %}
+  {% block navbar %}
+   {% include 'styleguide2/includes/organisms/layout/district/navbar.html' with selected_item=page.get_menu_title %}
+  {% endblock %}
+
+  {% block header %}
+    {% include 'styleguide2/includes/organisms/header/photo_header.html' with title=page.title main_image=page.main_image description=page.perex %}
+  {% endblock %}
+
+  <main class="container--wide mb-2 lg:mb-12">
+    {% block inner_content %}
+      <div class="mt-8">
+        <section>
+          {% for block in page.content %}
             {% include_block block with block_id=block.id %}
           {% endfor %}
         </section>
-      {% endif %}
-
-      <div class="space-y-8 lg:flex lg:space-y-0 lg:space-x-16">
-        <section class="lg:w-2/3 space-y-4">
-          {% for block in page.content_footer %}
-            {% include_block block with block_id=block.id %}
-          {% endfor %}
+  
+        <section id="mapa">
+          {% if page.map_title %}
+            <h2 class="head-alt-md mb-4">{{ page.map_title }}</h2>
+          {% endif %}
+          
+          <div
+            class="v-geo-feature-collection"
+            data-wrapper-class="container-padding--zero lg:container-padding--auto"
+            data-initial-zoom="14"
+            data-tile-server-config="{{ js_map.tile_server_config }}"
+            data-tile-style="{{ js_map.style }}"
+            data-categories="{{ js_map.categories }}"
+            data-geojson="{{ js_map.geojson }}"
+          ></div>
         </section>
-
-        <div class="lg:w-1/3">
-          <aside class="sharebox pt-4 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 hover:no-underline"
-                ><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 hover:no-underline"
-                ><i class="ico--twitter"></i></a>
+  
+        <section id="kategorie">
+          {% if page.category_list_title %}
+            <h2 class="head-alt-md mb-4">{{ page.category_list_title }}</h2>
+          {% endif %}
+  
+          <div class="grid grid-cols-1 md:grid-cols-2 gap-4 md:gap-8">
+            {% for category, features in features_by_category %}
+              <div class="card md:elevation-2" style="border-right: 4px rgb({{ category.rgb.0 }}, {{ category.rgb.1 }}, {{ category.rgb.2 }}) solid;">
+                <div class="card__body p-4">
+                  <h3 class="head-allcaps-heavy-2xs mb-2">{{ category.name }}</h3>
+                  <ul class="leading-normal {% if not forloop.last %}mb-4{% endif %} md:mb-0">
+                    {% for feature in features %}
+                      <li>
+                          <span class="rounded-full inline-flex items-center justify-center bg-grey-125 font-bold text-center text-xs w-5 h-5 mr-2 no-underline">
+                            <a href="?item={{ feature.pk }}-{{ feature.slug }}" class="no-underline js-feature-item-anchor">{{ feature.index }}</a>
+                          </span>
+                          <a href="?item={{ feature.pk }}-{{ feature.slug }}" class="js-feature-item-anchor"><span class="text-sm underline">{{ feature.title }}</span></a>
+                        </a>
+                      </li>
+                    {% endfor %}
+                  </ul>
+                </div>
               </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>
-          </aside>
-        </div>
+            {% endfor %}
+          </div>
+        </section>
+  
+        {% if page.content_after %}
+          <section class="my-4">
+            {% for block in page.content_after %}
+              {% include_block block with block_id=block.id %}
+            {% endfor %}
+          </section>
+        {% endif %}
+  
+        {% if page.content_footer %}
+          <section class="my-4">
+            {% for block in page.content_footer %}
+              {% include_block block with block_id=block.id %}
+            {% endfor %}
+          </section>
+        {% endif%}
       </div>
-
-      {% include "shared/followus_snippet.html" %}
-    </div>
-  </article>
+    {% endblock %}
+  </main>
 {% endblock %}
 
 
diff --git a/donate/blocks.py b/donate/blocks.py
index 3dfce28d65e4ddc314031134d553dd61fe9dc658..880e852e49530f1399a2623b356e1440ed25c0c7 100644
--- a/donate/blocks.py
+++ b/donate/blocks.py
@@ -11,7 +11,7 @@ from wagtail.blocks import (
 from wagtail.images.blocks import ImageChooserBlock
 
 from donate.constants import RICH_TEXT_FEATURES
-from shared.blocks import MenuItemBlock as MenuItemBlockBase
+from shared_legacy.blocks import MenuItemBlock as MenuItemBlockBase
 
 
 class MenuItemBlock(MenuItemBlockBase):
diff --git a/donate/constants.py b/donate/constants.py
index f6464ce4495d44205eae78fcc81f65696a6596f1..943fa5eb0d918b0197be36d6b76e10a8f7fbbd27 100644
--- a/donate/constants.py
+++ b/donate/constants.py
@@ -1,4 +1,4 @@
-from shared.const import RICH_TEXT_DEFAULT_FEATURES
+from shared_legacy.const import RICH_TEXT_DEFAULT_FEATURES
 
 # Select colors for rich text editors font color from style guide
 font_colors = [
diff --git a/donate/migrations/0047_alter_donatehomepage_menu.py b/donate/migrations/0047_alter_donatehomepage_menu.py
index 9a79c60c1b1e8b7886d1db86a1d0a6dc0ad002c3..caa5c588f3bbe5463e4edae3d395ec2ee60fcc6f 100644
--- a/donate/migrations/0047_alter_donatehomepage_menu.py
+++ b/donate/migrations/0047_alter_donatehomepage_menu.py
@@ -1,4 +1,4 @@
-# Generated by Django 5.0.4 on 2024-05-21 10:02
+# Generated by Django 5.0.4 on 2024-06-05 10:41
 
 import wagtail.blocks
 import wagtail.fields
@@ -6,85 +6,15 @@ from django.db import migrations
 
 
 class Migration(migrations.Migration):
+
     dependencies = [
-        ("donate", "0046_donatehomepage_transparency_footer_items"),
+        ('donate', '0046_donatehomepage_transparency_footer_items'),
     ]
 
     operations = [
         migrations.AlterField(
-            model_name="donatehomepage",
-            name="menu",
-            field=wagtail.fields.StreamField(
-                [
-                    (
-                        "menu_item",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "title",
-                                    wagtail.blocks.CharBlock(
-                                        label="Titulek", required=True
-                                    ),
-                                ),
-                                (
-                                    "page",
-                                    wagtail.blocks.PageChooserBlock(
-                                        label="Stránka", required=False
-                                    ),
-                                ),
-                                (
-                                    "link",
-                                    wagtail.blocks.URLBlock(
-                                        label="Odkaz", required=False
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "menu_parent",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "title",
-                                    wagtail.blocks.CharBlock(
-                                        label="Titulek", required=True
-                                    ),
-                                ),
-                                (
-                                    "menu_items",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.blocks.StructBlock(
-                                            [
-                                                (
-                                                    "title",
-                                                    wagtail.blocks.CharBlock(
-                                                        label="Titulek", required=True
-                                                    ),
-                                                ),
-                                                (
-                                                    "page",
-                                                    wagtail.blocks.PageChooserBlock(
-                                                        label="Stránka", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "link",
-                                                    wagtail.blocks.URLBlock(
-                                                        label="Odkaz", required=False
-                                                    ),
-                                                ),
-                                            ]
-                                        ),
-                                        label="Položky menu",
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                ],
-                blank=True,
-                verbose_name="Menu",
-            ),
+            model_name='donatehomepage',
+            name='menu',
+            field=wagtail.fields.StreamField([('menu_item', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))])), ('menu_parent', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('menu_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Položky menu'))]))], blank=True, verbose_name='Menu'),
         ),
     ]
diff --git a/donate/migrations/0048_alter_donatehomepage_menu.py b/donate/migrations/0048_alter_donatehomepage_menu.py
deleted file mode 100644
index c75106fe506e1bae1645eecf998b6bd426e335ec..0000000000000000000000000000000000000000
--- a/donate/migrations/0048_alter_donatehomepage_menu.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# Generated by Django 5.0.4 on 2024-06-01 11:31
-
-import wagtail.blocks
-import wagtail.fields
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-    dependencies = [
-        ("donate", "0047_alter_donatehomepage_menu"),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name="donatehomepage",
-            name="menu",
-            field=wagtail.fields.StreamField(
-                [
-                    (
-                        "menu_item",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "title",
-                                    wagtail.blocks.CharBlock(
-                                        help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.",
-                                        label="Titulek",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "page",
-                                    wagtail.blocks.PageChooserBlock(
-                                        label="Stránka", required=False
-                                    ),
-                                ),
-                                (
-                                    "link",
-                                    wagtail.blocks.URLBlock(
-                                        label="Odkaz", required=False
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "menu_parent",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "title",
-                                    wagtail.blocks.CharBlock(
-                                        label="Titulek", required=True
-                                    ),
-                                ),
-                                (
-                                    "menu_items",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.blocks.StructBlock(
-                                            [
-                                                (
-                                                    "title",
-                                                    wagtail.blocks.CharBlock(
-                                                        help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.",
-                                                        label="Titulek",
-                                                        required=True,
-                                                    ),
-                                                ),
-                                                (
-                                                    "page",
-                                                    wagtail.blocks.PageChooserBlock(
-                                                        label="Stránka", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "link",
-                                                    wagtail.blocks.URLBlock(
-                                                        label="Odkaz", required=False
-                                                    ),
-                                                ),
-                                            ]
-                                        ),
-                                        label="Položky menu",
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                ],
-                blank=True,
-                verbose_name="Menu",
-            ),
-        ),
-    ]
diff --git a/donate/models.py b/donate/models.py
index 1e2cdfa4b840fbddbcd645595c2a067d3b2b0855..ace7b27924c2dd727cedfae22f0c17c79428133e 100644
--- a/donate/models.py
+++ b/donate/models.py
@@ -21,12 +21,12 @@ from wagtail.images.blocks import ImageChooserBlock
 from wagtail.models import Orderable, Page
 from wagtailmetadata.models import MetadataPageMixin
 
-from shared.models import (
+from shared_legacy.models import (
     ExtendedMetadataHomePageMixin,
     ExtendedMetadataPageMixin,
     SubpageMixin,
 )
-from shared.utils import get_subpage_url, make_promote_panels
+from shared_legacy.utils import get_subpage_url, make_promote_panels
 from tuning import admin_help
 
 from .blocks import (
diff --git a/elections/migrations/0037_alter_electionshomepage_content.py b/elections/migrations/0037_alter_electionshomepage_content.py
index 376270d3d264959a23d44d642967d8902b0e6c4b..2390bf28e0d3ef5450735a6ebe4399936ebbabd2 100644
--- a/elections/migrations/0037_alter_electionshomepage_content.py
+++ b/elections/migrations/0037_alter_electionshomepage_content.py
@@ -7,15 +7,243 @@ from django.db import migrations
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('elections', '0036_alter_electionshomepage_menu'),
+        ("elections", "0036_alter_electionshomepage_menu"),
     ]
 
     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'))]), 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"
+                                                    ),
+                                                ),
+                                            ]
+                                        ),
+                                        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/main/migrations/0094_alter_mainprogrampage_program.py b/main/migrations/0094_alter_mainprogrampage_program.py
index 386665000d5a8e8321d62d5e8c8bfb6539f0e02f..dfb5876da8ca97cb68da3b4f0c598c87b1e55f31 100644
--- a/main/migrations/0094_alter_mainprogrampage_program.py
+++ b/main/migrations/0094_alter_mainprogrampage_program.py
@@ -7,15 +7,268 @@ from django.db import migrations
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('main', '0093_alter_mainhomepage_menu'),
+        ("main", "0093_alter_mainhomepage_menu"),
     ]
 
     operations = [
         migrations.AlterField(
-            model_name='mainprogrampage',
-            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=['main.MainArticlesPage', 'main.MainArticlePage', 'main.MainProgramPage', 'main.MainPeoplePage', 'main.MainPersonPage', 'main.MainSimplePage', 'main.MainContactPage', 'main.MainCrossroadPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Karty programu'))])), ('program_group_popout', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(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'))])), ('elections_program', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('program_page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['elections.ElectionsFullProgramPage'], required=False))]))], blank=True, verbose_name='Programy'),
+            model_name="mainprogrampage",
+            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=[
+                                                            "main.MainArticlesPage",
+                                                            "main.MainArticlePage",
+                                                            "main.MainProgramPage",
+                                                            "main.MainPeoplePage",
+                                                            "main.MainPersonPage",
+                                                            "main.MainSimplePage",
+                                                            "main.MainContactPage",
+                                                            "main.MainCrossroadPage",
+                                                        ],
+                                                        required=False,
+                                                    ),
+                                                ),
+                                                (
+                                                    "link",
+                                                    wagtail.blocks.URLBlock(
+                                                        label="Odkaz", required=False
+                                                    ),
+                                                ),
+                                            ]
+                                        ),
+                                        label="Karty programu",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "program_group_popout",
+                        wagtail.blocks.StructBlock(
+                            [
+                                (
+                                    "title",
+                                    wagtail.blocks.CharBlock(
+                                        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",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "elections_program",
+                        wagtail.blocks.StructBlock(
+                            [
+                                (
+                                    "title",
+                                    wagtail.blocks.CharBlock(
+                                        help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                        label="Název programu",
+                                    ),
+                                ),
+                                (
+                                    "program_page",
+                                    wagtail.blocks.PageChooserBlock(
+                                        label="Stránka",
+                                        page_type=[
+                                            "elections.ElectionsFullProgramPage"
+                                        ],
+                                        required=False,
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                ],
+                blank=True,
+                verbose_name="Programy",
+            ),
         ),
     ]
diff --git a/majak/settings/base.py b/majak/settings/base.py
index a81f7b5ea40c049c83923655f3af19fac22eec5e..dac6184ddfb06501184fc62b6978cdacbb38b48a 100644
--- a/majak/settings/base.py
+++ b/majak/settings/base.py
@@ -45,6 +45,7 @@ INSTALLED_APPS = [
     "district",
     "czech_inspirational",
     "shared",
+    "shared_legacy",
     "calendar_utils",
     "maps_utils",
     "redmine_utils",
diff --git a/shared/static/styleguide2/main.css b/shared/static/styleguide2/main.css
index fbc3e5614532c0695b4b38c6762fbbf225cf22b4..d7d60cde16f01c98567c9d33cb203bd3943eb15b 100644
--- a/shared/static/styleguide2/main.css
+++ b/shared/static/styleguide2/main.css
@@ -1 +1 @@
-@import"https://gfonts.pirati.cz/css2?family=Bebas+Neue&family=Roboto+Condensed:wght@300;400;700&family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400&display=swap";@font-face{font-family:pirati-ui;src:url(/static/styleguide2/pirati-ui.eot?bna028);src:url(/static/styleguide2/pirati-ui.eot?bna028#iefix) format("embedded-opentype"),url(/static/styleguide2/pirati-ui.ttf?bna028) format("truetype"),url(/static/styleguide2/pirati-ui.woff?bna028) format("woff"),url(/static/styleguide2/pirati-ui.svg?bna028#pirati-ui) format("svg");font-weight:400;font-style:normal;font-display:block}[class^=ico--],[class*=" ico--"]{font-family:pirati-ui!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ico--twitter:before{content:""}.ico--mastodon:before{content:""}.ico--helios:before{content:""}.ico--redmine:before{content:""}.ico--zulip:before{content:""}.ico--forum:before{content:""}.ico--pirati:before{content:""}.ico--jitsi:before{content:""}.ico--open-source:before{content:""}.ico--donation-full:before{content:""}.ico--donation-outline:before{content:""}.ico--strategy:before{content:""}.ico--pig:before{content:""}.ico--thermometer:before{content:""}.ico--menu:before{content:""}.ico--chevron-right:before{content:""}.ico--chevron-left:before{content:""}.ico--chevron-down:before{content:""}.ico--chevron-up:before{content:""}.ico--link-horizontal:before{content:""}.ico--beer:before{content:""}.ico--food:before{content:""}.ico--dots-three-vertical:before{content:""}.ico--dots-three-horizontal:before{content:""}.ico--log-out:before{content:""}.ico--envelope:before{content:""}.ico--pin:before{content:""}.ico--at:before{content:""}.ico--glass:before{content:""}.ico--checkmark:before{content:""}.ico--info:before{content:""}.ico--question:before{content:""}.ico--warning:before{content:""}.ico--code:before{content:""}.ico--checkbox-unchecked:before{content:""}.ico--star-full:before{content:""}.ico--star-empty:before{content:""}.ico--bookmark:before{content:""}.ico--cog:before{content:""}.ico--key:before{content:""}.ico--zoom-in:before{content:""}.ico--zoom-out:before{content:""}.ico--shrink:before{content:""}.ico--printer:before{content:""}.ico--file-openoffice:before{content:""}.ico--user:before{content:""}.ico--file-excel:before{content:""}.ico--file-word:before{content:""}.ico--file-pdf:before{content:""}.ico--file-picture:before{content:""}.ico--file-blank:before{content:""}.ico--folder-upload:before{content:""}.ico--upload:before{content:""}.ico--cloud-upload:before{content:""}.ico--folder-download:before{content:""}.ico--download:before{content:""}.ico--cloud-download:before{content:""}.ico--alarm:before{content:""}.ico--calculator:before{content:""}.ico--facebook-full:before{content:""}.ico--feed:before{content:""}.ico--library:before{content:""}.ico--office:before{content:""}.ico--attachment:before{content:""}.ico--enlarge:before{content:""}.ico--eye-off:before{content:""}.ico--eye:before{content:""}.ico--share:before{content:""}.ico--search:before{content:""}.ico--pencil:before{content:""}.ico--lock-open:before{content:""}.ico--lock:before{content:""}.ico--equalizer:before{content:""}.ico--switch:before{content:""}.ico--loop:before{content:""}.ico--refresh:before{content:""}.ico--bullhorn:before{content:""}.ico--bin:before{content:""}.ico--cross:before{content:""}.ico--checkbox-checked:before{content:""}.ico--globe:before{content:""}.ico--wikipedia:before{content:""}.ico--youtube:before{content:""}.ico--users:before{content:""}.ico--book:before{content:""}.ico--bubbles:before{content:""}.ico--map:before{content:""}.ico--compass:before{content:""}.ico--folder-open:before{content:""}.ico--folder:before{content:""}.ico--drawer:before{content:""}.ico--stop:before{content:""}.ico--github:before{content:""}.ico--clock:before{content:""}.ico--calendar:before{content:""}.ico--flickr:before{content:""}.ico--instagram:before{content:""}.ico--newspaper:before{content:""}.ico--cart:before{content:""}.ico--home:before{content:""}.ico--link:before{content:""}.ico--power:before{content:""}.ico--rocket:before{content:""}.ico--location:before{content:""}.ico--phone:before{content:""}.ico--linkedin:before{content:""}.ico--facebook:before{content:""}.ico--envelop:before{content:""}.ico--file-text2:before{content:""}.ico--price-tag:before{content:""}.ico--price-tags:before{content:""}.ico--stats-dots:before{content:""}.ico--bed:before{content:""}.ico--train:before{content:""}.ico--bus:before{content:""}.ico--wheelchair:before{content:""}.ico--thumbs-down:before{content:""}.ico--thumbs-up:before{content:""}.ico--anchor:before{content:""}.ico--paw:before{content:""}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;text-align:start;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-black{--tw-prose-body: #000000;--tw-prose-headings: #000000;--tw-prose-lead: #000000;--tw-prose-links: #000000;--tw-prose-bold: #000000;--tw-prose-counters: #000000;--tw-prose-bullets: #000000;--tw-prose-hr: #000000;--tw-prose-quotes: #000000;--tw-prose-quote-borders: #000000;--tw-prose-captions: #000000;--tw-prose-code: #000000;--tw-prose-pre-code: #000000;--tw-prose-pre-bg: #ffffff;--tw-prose-th-borders: #000000;--tw-prose-td-borders: #000000;--tw-prose-invert-body: #ffffff;--tw-prose-invert-headings: #ffffff;--tw-prose-invert-lead: #ffffff;--tw-prose-invert-links: #ffffff;--tw-prose-invert-bold: #ffffff;--tw-prose-invert-counters: #ffffff;--tw-prose-invert-bullets: #ffffff;--tw-prose-invert-hr: #ffffff;--tw-prose-invert-quotes: #ffffff;--tw-prose-invert-quote-borders: #ffffff;--tw-prose-invert-captions: #ffffff;--tw-prose-invert-code: #ffffff;--tw-prose-invert-pre-code: #ffffff;--tw-prose-invert-pre-bg: #000000;--tw-prose-invert-th-borders: #ffffff;--tw-prose-invert-td-borders: #ffffff}.btn{display:inline-block;text-align:center;font-weight:400;max-width:20rem;text-decoration:none}.btn[disabled]{opacity:.7;cursor:not-allowed}.btn:hover{text-decoration:none}.btn__body{display:flex;height:100%;align-items:center;justify-content:center;padding:.25em 2em}.btn__body-wrap{min-width:10rem;min-height:2.75rem}.btn__body,.btn__icon,.btn__inline-icon{transition-property:color,background-color,border-color;transition-duration:.2s;color:#fff}.btn__body,.btn__icon{background-color:#000}.btn--icon .btn__body-wrap{display:flex}.btn--condensed .btn__body{padding:.75em 1em}@keyframes btn-loading-spinner{to{transform:rotate(360deg)}}.btn--black .btn__body,.btn--black .btn__icon{background-color:#000;color:#fff}.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#000;color:#fff}.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#262626}.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-black:hover .btn__body,.btn--to-black.btn--activated .btn__body{background-color:#000!important;color:#fff!important}.btn--hoveractive.btn--to-black:hover .btn__icon,.btn--to-black.btn--activated .btn__icon{border-color:#343434!important;background-color:#000!important}.btn--hoveractive.btn--to-black:hover .btn__inline-icon,.btn--to-black.btn--activated .btn__inline-icon{color:#fff!important}.btn--grey-700 .btn__body,.btn--grey-700 .btn__icon{background-color:#202020;color:#fff}.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#343434;color:#fff}.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#262626}.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-700:hover .btn__body,.btn--to-grey-700.btn--activated .btn__body{background-color:#202020!important;color:#fff!important}.btn--hoveractive.btn--to-grey-700:hover .btn__icon,.btn--to-grey-700.btn--activated .btn__icon{border-color:#303132!important;background-color:#202020!important}.btn--hoveractive.btn--to-grey-700:hover .btn__inline-icon,.btn--to-grey-700.btn--activated .btn__inline-icon{color:#fff!important}.btn--grey-500 .btn__body,.btn--grey-500 .btn__icon{background-color:#303132;color:#fff}.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#4c4c4c;color:#fff}.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#343434}.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-500:hover .btn__body,.btn--to-grey-500.btn--activated .btn__body{background-color:#303132!important;color:#fff!important}.btn--hoveractive.btn--to-grey-500:hover .btn__icon,.btn--to-grey-500.btn--activated .btn__icon{border-color:#4c4c4c!important;background-color:#303132!important}.btn--hoveractive.btn--to-grey-500:hover .btn__inline-icon,.btn--to-grey-500.btn--activated .btn__inline-icon{color:#fff!important}.btn--grey-125 .btn__body,.btn--grey-125 .btn__icon{background-color:#f0f0f0;color:#000}.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:silver;color:#fff}.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#a8a8a8}.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-125:hover .btn__body,.btn--to-grey-125.btn--activated .btn__body{background-color:#f0f0f0!important;color:#000!important}.btn--hoveractive.btn--to-grey-125:hover .btn__icon,.btn--to-grey-125.btn--activated .btn__icon{border-color:#d8d8d8!important;background-color:#f0f0f0!important}.btn--hoveractive.btn--to-grey-125:hover .btn__inline-icon,.btn--to-grey-125.btn--activated .btn__inline-icon{color:#000!important}.btn--grey-175 .btn__body,.btn--grey-175 .btn__icon{background-color:#d0d0d0;color:#000}.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#a6a6a6;color:#fff}.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#929292}.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-175:hover .btn__body,.btn--to-grey-175.btn--activated .btn__body{background-color:#d0d0d0!important;color:#000!important}.btn--hoveractive.btn--to-grey-175:hover .btn__icon,.btn--to-grey-175.btn--activated .btn__icon{border-color:#bbb!important;background-color:#d0d0d0!important}.btn--hoveractive.btn--to-grey-175:hover .btn__inline-icon,.btn--to-grey-175.btn--activated .btn__inline-icon{color:#000!important}.btn--white .btn__body,.btn--white .btn__icon{background-color:#fff;color:#000}.btn--white .btn__icon{border-color:#f3f3f3;background-color:#fff}.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#ccc;color:#fff}.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#b3b3b3}.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-white:hover .btn__body,.btn--to-white.btn--activated .btn__body{background-color:#fff!important;color:#000!important}.btn--hoveractive.btn--to-white:hover .btn__icon,.btn--to-white.btn--activated .btn__icon{border-color:#f3f3f3!important;background-color:#fff!important}.btn--hoveractive.btn--to-white:hover .btn__inline-icon,.btn--to-white.btn--activated .btn__inline-icon{color:#000!important}.btn--blue-300 .btn__body,.btn--blue-300 .btn__icon{background-color:#027da8;color:#fff}.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#026486;color:#fff}.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#015876}.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-blue-300:hover .btn__body,.btn--to-blue-300.btn--activated .btn__body{background-color:#027da8!important;color:#fff!important}.btn--hoveractive.btn--to-blue-300:hover .btn__icon,.btn--to-blue-300.btn--activated .btn__icon{border-color:#027197!important;background-color:#027da8!important}.btn--hoveractive.btn--to-blue-300:hover .btn__inline-icon,.btn--to-blue-300.btn--activated .btn__inline-icon{color:#fff!important}.btn--cyan-200 .btn__body,.btn--cyan-200 .btn__icon{background-color:#57b3bd;color:#fff}.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#3e959f;color:#fff}.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#37838b}.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-cyan-200:hover .btn__body,.btn--to-cyan-200.btn--activated .btn__body{background-color:#57b3bd!important;color:#fff!important}.btn--hoveractive.btn--to-cyan-200:hover .btn__icon,.btn--to-cyan-200.btn--activated .btn__icon{border-color:#46a8b2!important;background-color:#57b3bd!important}.btn--hoveractive.btn--to-cyan-200:hover .btn__inline-icon,.btn--to-cyan-200.btn--activated .btn__inline-icon{color:#fff!important}.btn--green-300 .btn__body,.btn--green-300 .btn__icon{background-color:#76cc9f;color:#fff}.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#47bb7e;color:#fff}.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#3da46e}.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-green-300:hover .btn__body,.btn--to-green-300.btn--activated .btn__body{background-color:#76cc9f!important;color:#fff!important}.btn--hoveractive.btn--to-green-300:hover .btn__icon,.btn--to-green-300.btn--activated .btn__icon{border-color:#5fc38f!important;background-color:#76cc9f!important}.btn--hoveractive.btn--to-green-300:hover .btn__inline-icon,.btn--to-green-300.btn--activated .btn__inline-icon{color:#fff!important}.btn--green-400 .btn__body,.btn--green-400 .btn__icon{background-color:#4ca971;color:#fff}.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#3d875a;color:#fff}.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#35764f}.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-green-400:hover .btn__body,.btn--to-green-400.btn--activated .btn__body{background-color:#4ca971!important;color:#fff!important}.btn--hoveractive.btn--to-green-400:hover .btn__icon,.btn--to-green-400.btn--activated .btn__icon{border-color:#449866!important;background-color:#4ca971!important}.btn--hoveractive.btn--to-green-400:hover .btn__inline-icon,.btn--to-green-400.btn--activated .btn__inline-icon{color:#fff!important}.btn--green-500 .btn__body,.btn--green-500 .btn__icon{background-color:#4fc49f;color:#000}.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#37a582;color:#fff}.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#309072}.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-green-500:hover .btn__body,.btn--to-green-500.btn--activated .btn__body{background-color:#4fc49f!important;color:#000!important}.btn--hoveractive.btn--to-green-500:hover .btn__icon,.btn--to-green-500.btn--activated .btn__icon{border-color:#3eb992!important;background-color:#4fc49f!important}.btn--hoveractive.btn--to-green-500:hover .btn__inline-icon,.btn--to-green-500.btn--activated .btn__inline-icon{color:#000!important}.btn--yellow-500 .btn__body,.btn--yellow-500 .btn__icon{background-color:#f9ce05;color:#000}.btn--yellow-500 .btn__icon{border-color:#e0b905;background-color:#f9ce05}.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#c7a504;color:#fff}.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#ae9004}.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-yellow-500:hover .btn__body,.btn--to-yellow-500.btn--activated .btn__body{background-color:#f9ce05!important;color:#000!important}.btn--hoveractive.btn--to-yellow-500:hover .btn__icon,.btn--to-yellow-500.btn--activated .btn__icon{border-color:#e0b905!important;background-color:#f9ce05!important}.btn--hoveractive.btn--to-yellow-500:hover .btn__inline-icon,.btn--to-yellow-500.btn--activated .btn__inline-icon{color:#000!important}.btn--yellow-600 .btn__body,.btn--yellow-600 .btn__icon{background-color:#d7b103;color:#000}.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#ac8e02;color:#fff}.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#977c02}.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-yellow-600:hover .btn__body,.btn--to-yellow-600.btn--activated .btn__body{background-color:#d7b103!important;color:#000!important}.btn--hoveractive.btn--to-yellow-600:hover .btn__icon,.btn--to-yellow-600.btn--activated .btn__icon{border-color:#c29f03!important;background-color:#d7b103!important}.btn--hoveractive.btn--to-yellow-600:hover .btn__inline-icon,.btn--to-yellow-600.btn--activated .btn__inline-icon{color:#000!important}.btn--orange-300 .btn__body,.btn--orange-300 .btn__icon{background-color:#ed9654;color:#fff}.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#e7721a;color:#fff}.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#cb6415}.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-orange-300:hover .btn__body,.btn--to-orange-300.btn--activated .btn__body{background-color:#ed9654!important;color:#fff!important}.btn--hoveractive.btn--to-orange-300:hover .btn__icon,.btn--to-orange-300.btn--activated .btn__icon{border-color:#ea8437!important;background-color:#ed9654!important}.btn--hoveractive.btn--to-orange-300:hover .btn__inline-icon,.btn--to-orange-300.btn--activated .btn__inline-icon{color:#fff!important}.btn--violet-400 .btn__body,.btn--violet-400 .btn__icon{background-color:#840048;color:#fff}.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#6a003a;color:#fff}.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#5c0032}.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-violet-400:hover .btn__body,.btn--to-violet-400.btn--activated .btn__body{background-color:#840048!important;color:#fff!important}.btn--hoveractive.btn--to-violet-400:hover .btn__icon,.btn--to-violet-400.btn--activated .btn__icon{border-color:#770041!important;background-color:#840048!important}.btn--hoveractive.btn--to-violet-400:hover .btn__inline-icon,.btn--to-violet-400.btn--activated .btn__inline-icon{color:#fff!important}.btn--violet-500 .btn__body,.btn--violet-500 .btn__icon{background-color:#670047;color:#000}.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#520039;color:#fff}.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#480032}.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-violet-500:hover .btn__body,.btn--to-violet-500.btn--activated .btn__body{background-color:#670047!important;color:#000!important}.btn--hoveractive.btn--to-violet-500:hover .btn__icon,.btn--to-violet-500.btn--activated .btn__icon{border-color:#5d0040!important;background-color:#670047!important}.btn--hoveractive.btn--to-violet-500:hover .btn__inline-icon,.btn--to-violet-500.btn--activated .btn__inline-icon{color:#000!important}.btn--violet-700 .btn__body,.btn--violet-700 .btn__icon{background-color:#7d347d;color:#000}.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#642a64;color:#fff}.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#582458}.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-violet-700:hover .btn__body,.btn--to-violet-700.btn--activated .btn__body{background-color:#7d347d!important;color:#000!important}.btn--hoveractive.btn--to-violet-700:hover .btn__icon,.btn--to-violet-700.btn--activated .btn__icon{border-color:#712f71!important;background-color:#7d347d!important}.btn--hoveractive.btn--to-violet-700:hover .btn__inline-icon,.btn--to-violet-700.btn--activated .btn__inline-icon{color:#000!important}.btn--red-600 .btn__body,.btn--red-600 .btn__icon{background-color:#d60d53;color:#fff}.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#ab0a42;color:#fff}.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#96093a}.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-red-600:hover .btn__body,.btn--to-red-600.btn--activated .btn__body{background-color:#d60d53!important;color:#fff!important}.btn--hoveractive.btn--to-red-600:hover .btn__icon,.btn--to-red-600.btn--activated .btn__icon{border-color:#c10c4b!important;background-color:#d60d53!important}.btn--hoveractive.btn--to-red-600:hover .btn__inline-icon,.btn--to-red-600.btn--activated .btn__inline-icon{color:#fff!important}.btn--brands-facebook .btn__body,.btn--brands-facebook .btn__icon{background-color:#067ceb;color:#fff}.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#0563bc;color:#fff}.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#0457a5}.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-brands-facebook:hover .btn__body,.btn--to-brands-facebook.btn--activated .btn__body{background-color:#067ceb!important;color:#fff!important}.btn--hoveractive.btn--to-brands-facebook:hover .btn__icon,.btn--to-brands-facebook.btn--activated .btn__icon{border-color:#0570d4!important;background-color:#067ceb!important}.btn--hoveractive.btn--to-brands-facebook:hover .btn__inline-icon,.btn--to-brands-facebook.btn--activated .btn__inline-icon{color:#fff!important}.container--default{max-width:1200px}.container--narrow{margin:auto;width:882px}.container--medium{padding-left:1.25rem;padding-right:1.25rem;margin:auto;max-width:1350px}.container--wide{padding-left:1.25rem;padding-right:1.25rem;margin:auto;max-width:1400px}.header-max-width{max-width:1340px!important}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;max-width:1150px}.grid-container{margin-left:1.25rem;margin-right:1.25rem;display:grid;grid-template-columns:1fr;grid-template-areas:"left-side" "content" "right-side";gap:1rem;max-width:1150px}.grid-container.article-section,.grid-container.person-grid-container{max-width:1400px}.grid-container.person-twitter-section{grid-template-columns:minmax(0,1200px)}@media (min-width: 1200px){.grid-container.person-twitter-section{grid-template-columns:minmax(0,240px) minmax(0,1fr) minmax(0,102px)}}.grid-container.no-max{max-width:none}.grid-content{grid-area:content}.grid-full{grid-column:left-side / right-side;grid-row:left-side / right-side}.grid-left-side{grid-area:left-side}.grid-left-side-with-content{grid-column:left-side / content;grid-row:left-side / content}.grid-right-side{grid-area:right-side}.grid-content-with-right-side{grid-column:content / right-side;grid-row:content / right-side}.footer-section{height:450px}.person-box-medium{max-width:485px;width:100%}.person-box-big{max-width:575px;width:100%}@media (min-width: 1200px){.footer-section{height:981px}}.text-input-addon{display:flex;align-items:center;border-width:1px;--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity));padding:.75rem 1rem;font-size:1.125rem;font-weight:400;--tw-text-opacity: 1;color:rgb(76 76 76 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.text-input{border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity));padding:.75rem 1rem;font-size:1.125rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;min-width:0px}.text-input:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.text-input:active:not([disabled]):not([readonly]),.text-input:focus:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.text-input::-moz-placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input::placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input[readonly],.text-input[disabled]{cursor:not-allowed;--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity))}.text-input[readonly]::-moz-placeholder,.text-input[disabled]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input[readonly]::placeholder,.text-input[disabled]::placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input-addon--l{border-right-width:0px}.text-input-addon--r{border-left-width:0px}.text-input:hover:not([disabled]):not([readonly])~.text-input-addon{--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.text-input:focus:not([disabled]):not([readonly])~.text-input-addon,.text-input:active:not([disabled]):not([readonly])~.text-input-addon{--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.text-input[readonly]~.text-input-addon,.text-input[disabled]~.text-input-addon{--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input--has-addon-l.text-input{border-left-width:0px}.text-input--has-addon-r.text-input{border-right-width:0px}.select{position:relative;display:flex;width:100%;align-items:center;padding-top:.5rem;padding-bottom:.5rem}@media (min-width: 1200px){.select{padding-top:1rem;padding-bottom:1rem}}.select:after{position:absolute;right:0;padding-right:.75rem;font-size:1.3rem;font-weight:700;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;font-family:pirati-ui;content:""}.select__control{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;border-width:1px;--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity));padding:.75rem 2rem .75rem 1rem;font-size:1.125rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}@media (min-width: 1200px){.select__control{padding-top:1.25rem;padding-bottom:1.25rem}}.select__control{min-width:0px}.select__control:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.select__control:active:not([disabled]):not([readonly]),.select__control:focus:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.select__control::-moz-placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.select__control::placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.select__control[readonly],.select__control[disabled]{cursor:not-allowed;--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity))}.select__control[readonly]::-moz-placeholder,.select__control[disabled]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.select__control[readonly]::placeholder,.select__control[disabled]::placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.checkbox{position:relative;display:flex}.checkbox input{margin-right:.5rem;height:1.25rem;width:1.25rem;flex-shrink:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-width:1px;--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.checkbox input:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(254 201 0 / var(--tw-border-opacity))}.checkbox input:checked{border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity))}.checkbox input[disabled]{cursor:not-allowed}.checkbox label{line-height:1.25}.checkbox:after{pointer-events:none;position:absolute;display:inline;content:"";height:5px;width:12px;top:6px;left:4px;border-left:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(-45deg)}.radio{position:relative}.radio input{margin-right:.5rem;height:1.25rem;width:1.25rem;flex-shrink:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:9999px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(173 173 173 / var(--tw-bg-opacity));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.radio input:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.radio input:active,.radio input:focus{--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.radio input:checked{border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(2 125 168 / var(--tw-bg-opacity))}.radio input[disabled]{cursor:not-allowed}.radio label{display:flex;align-items:center;line-height:1.25}.radio:after{pointer-events:none;position:absolute;display:inline;height:.5rem;width:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));content:"";border-radius:50%;top:.375rem;left:.375rem}.form-field--error .text-input,.form-field--error .select__control,.form-field--error .text-input~.text-input-addon{--tw-border-opacity: 1;border-color:rgb(214 13 83 / var(--tw-border-opacity))}.h-default{font-weight:500;line-height:1.25}.h-alt{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-weight:400;line-height:.96}.h-allcaps{font-weight:400;text-transform:uppercase;line-height:1.25}.head-xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;text-transform:uppercase;line-height:1}@media (min-width: 992px){.head-xl{font-size:1.3rem}}.head-2xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.6rem;font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:-.01em}.head-3xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;text-transform:uppercase;line-height:1}.head-4xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-4xl{font-size:2.45rem;line-height:1}}@media (min-width: 1200px){.head-4xl{font-size:2.45rem}}.head-6xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:2.45rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-6xl{font-size:3rem;line-height:1}}@media (min-width: 1200px){.head-6xl{font-size:4rem}}.head-7xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:2.45rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-7xl{font-size:3rem;line-height:1}}@media (min-width: 1200px){.head-7xl{font-size:5.3rem}}.head-8xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-8xl{font-size:5.3rem;line-height:1}}@media (min-width: 1200px){.head-8xl{font-size:6.25rem}}.head-9xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-9xl{font-size:6.25rem;line-height:1}}@media (min-width: 1200px){.head-9xl{font-size:6.25rem}}.head-10xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;font-weight:500;text-transform:uppercase;letter-spacing:-.025em}@media (min-width: 768px){.head-10xl{font-size:7.5rem;line-height:1}}@media (min-width: 1200px){.head-10xl{font-size:7.5rem}}.head-14xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:5.3rem;font-weight:500;text-transform:uppercase;line-height:4.75rem}@media (min-width: 1200px){.head-14xl{font-size:10.6rem;line-height:9.8rem}}.head-14xl.head-short{font-size:6.25rem;line-height:9.8rem}@media (min-width: 1200px){.head-14xl.head-short{font-size:10.6rem}}.head-14xl.head-compact{line-height:4rem}@media (min-width: 1200px){.head-14xl.head-compact{line-height:8.9rem}}.prose :where(.head-6xl):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(.head-7xl):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(.head-8xl):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(.head-9xl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.25em}p{font-size:.875rem;line-height:1.5rem}@media (min-width: 992px){p{font-size:1rem}}.vertical-time-line{border-left:1px solid green}.program-perex .content-block p{font-size:1.3rem;line-height:1.75rem}.content-block h2{margin-bottom:1.25rem;font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;font-weight:500;text-transform:uppercase;line-height:1.75rem}@media (min-width: 992px){.content-block h2{line-height:2.5rem}}@media (min-width: 1200px){.content-block h2{font-size:2.45rem}}.content-block h3{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.125rem;font-weight:500;text-transform:uppercase;line-height:1rem}@media (min-width: 1200px){.content-block h3{font-size:1.875rem;line-height:2rem}}.content-block h4{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-weight:500;text-transform:uppercase;line-height:2rem}@media (min-width: 1200px){.content-block h4{font-size:1.6rem}}.content-block h4{letter-spacing:-.01em}.content-block a{--tw-text-opacity: 1;color:rgb(2 125 168 / var(--tw-text-opacity));text-decoration-line:underline}:root{--fc-button-bg-color: #000;--fc-button-border-color: #000;--fc-button-hover-bg-color: #fec900;--fc-button-hover-border-color: #fec900;--fc-button-active-bg-color: #fec900;--fc-button-active-border-color: #fec900;--fc-event-bg-color: #fec900;--fc-event-border-color: #fec900;--fc-event-text-color: #000;--fc-border-color: #000;--fc-today-bg-color: #000;--fc-event-dot-color: #000}.fc-col-header{width:100%!important}.fc .fc-col-header-cell-cushion:not([href]):hover,.fc .fc-daygrid-day-number:not([href]):hover{text-decoration-line:none}.fc .fc-col-header-cell{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:.75rem;font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.3rem;text-transform:capitalize;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.fc .fc-button{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:.5rem 1.25rem;text-align:center;font-size:1.125rem;font-weight:600;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.fc .fc-button:hover{text-decoration-line:none}.fc .fc-button:hover:not(:disabled),.fc .fc-button:active:not(:disabled){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.fc .fc-event{cursor:pointer;border-radius:0;border-style:none;padding:.375rem;font-size:1rem;background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);color:var(--fc-event-text-color)}.fc-header-toolbar{align-items:flex-start!important}@media (min-width: 1200px){.fc-header-toolbar{align-items:center!important}}.fc .fc-toolbar-title,.fc .fc-today-button{font-family:Roboto Condensed,Helvetica,Arial,sans-serif;text-transform:capitalize}.fc-toolbar-chunk{display:flex;flex-wrap:wrap-reverse;justify-content:flex-end;gap:.5rem}.fc .fc-daygrid-day-number{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}@media (min-width: 1200px){.fc .fc-daygrid-day-number{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem}}.fc-daygrid-body,.fc-scrollgrid-sync-table{width:100%!important}@media (min-width: 1200px){.fc-daygrid-body,.fc-scrollgrid-sync-table{width:unset}}.fc .fc-day-today .fc-daygrid-day-number{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-dot-color)}.fc .fc-scroller-harness{overflow:visible}.dropdown{position:relative;cursor:pointer}.dropbtn{margin-bottom:.25rem;padding:.75rem}.dropdown-content{position:absolute;z-index:1;display:none;list-style-type:none}@media screen and (max-width: 1200px){.dropdown-content{position:unset}.dropbtn{display:none}}.dropdown-content a{display:block;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}@media screen and (min-width: 1200px){.dropdown:hover .dropdown-content,.dropdown:focus .dropdown-content{display:flex;width:100%;flex-direction:column;gap:.75rem;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:.75rem}.dropdown:hover .dropbtn,.dropdown:focus .dropbtn{position:relative;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dropdown-content li{line-height:1.5rem}.dropdown:hover,.dropdown:focus{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}}.drop-arrow{position:relative;top:2px;margin-left:.25rem}@media screen and (max-width: 1200px){.drop-arrow{display:none}}.article-box.dark-theme{background-color:#4c4c4c;color:#fff}.quote-icon{font-size:7rem;height:1rem}@media (min-width: 1200px){.quote-icon{font-size:15rem}}.header-carousel{display:block;margin:0 auto;position:relative}.header-carousel .header-carousel--text-wrapper,.header-carousel .elections--header-carousel--text-wrapper,.header-carousel .onboarding--header-carousel-text-wrapper{position:absolute;width:98vw;font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;text-transform:uppercase}@media (min-width: 992px){.header-carousel .header-carousel--text-wrapper,.header-carousel .elections--header-carousel--text-wrapper{font-size:5.3rem}.header-carousel .onboarding--header-carousel-text-wrapper{font-size:4rem}}.header-carousel .header-carousel--text-wrapper{bottom:37%;height:85%}@media (min-width: 1200px){.header-carousel .header-carousel--text-wrapper{bottom:33%}}.header-carousel .elections--header-carousel--text-wrapper{bottom:45%;height:85%}@media (min-width: 1200px){.header-carousel .elections--header-carousel--text-wrapper{bottom:10%}}.header-carousel .header-carousel--image{inset:0;position:absolute;height:100%;width:100vw;-o-object-fit:cover;object-fit:cover}@media (min-width: 1200px){.header-carousel .header-carousel--image{height:458px}}@media (min-width: 768px){.header-carousel .header-carousel--image{height:100%}}@keyframes right_to_left{0%{margin-left:20%}to{margin-left:10%}}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:Bebas Neue,Helvetica,Arial,sans-serif;line-height:2.25rem}.switch{margin-left:auto;margin-right:auto;padding-top:1.25rem;padding-bottom:1.25rem}.switch__item,.switch__item--elections,.switch__item--program{margin-bottom:.5rem;cursor:pointer;white-space:nowrap;padding:.5rem 1.25rem;text-align:center;font-weight:400;transition-duration:.2s}.switch__item:not(:last-child),.switch__item--elections:not(:last-child),.switch__item--program:not(:last-child){margin-right:.5rem}.switch__item{--tw-bg-opacity: 1;background-color:rgb(249 206 5 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.switch__item:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity));text-decoration-line:none}.switch__item.switch__item--active,.switch__item.switch__item--active:hover{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity))}.switch__item--program{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.switch__item--program:hover{--tw-bg-opacity: 1;background-color:rgb(173 173 173 / var(--tw-bg-opacity));text-decoration-line:none}.switch__item--program.switch__item--active,.switch__item--program.switch__item--active:hover{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity))}.switch__item--elections{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.switch__item--elections:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));text-decoration-line:none}.switch__item--elections.switch__item--active,.switch__item--elections.switch__item--active:hover{--tw-bg-opacity: 1;background-color:rgb(79 79 79 / var(--tw-bg-opacity))}.horizontal-scrolling{display:block;margin-left:-15px;margin-right:-15px;max-width:calc(100vw - 50px);overflow-x:scroll;overflow-y:hidden;text-align:center;white-space:nowrap}@media (min-width: 1200px){.horizontal-scrolling{max-width:calc(100% + 30px)}}.horizontal-scrolling.draggable{cursor:grab}.horizontal-scrolling.draggable.active,.horizontal-scrolling.draggable.active a{cursor:grabbing}.no-scrollbars{-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:none}.no-scrollbars::-webkit-scrollbar{display:none}.background-hover-zoom{background-position:center;background-size:100%;transition:background-size .3s ease-in}.background-hover-zoom:hover{background-size:110%}.popout__toggle-wrapper{display:flex;cursor:pointer;align-items:center;justify-content:space-between;padding-left:1.25rem;padding-right:1.25rem;font-size:1.125rem;transition-duration:.15s}.popout__toggle-wrapper:hover{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity))}.popout__toggle-wrapper.popout__toggle-wrapper--active{--tw-bg-opacity: 1;background-color:rgb(249 206 5 / var(--tw-bg-opacity))}.popout__toggle-name{padding-top:1rem;padding-bottom:1rem}.popout__content-wrapper{display:flex;flex-direction:column;gap:.75rem;--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity));padding:1rem 1.25rem}.popout__toggle-arrow{font-size:2.45rem}.candidate-secondary-box:not(:last-child){border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(208 208 208 / var(--tw-border-opacity))}.candidate-primary-box:nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity))}.candidate-primary-box:nth-child(odd) .candidate-primary-box--content{flex-direction:column-reverse}@media (min-width: 992px){.candidate-primary-box:nth-child(odd) .candidate-primary-box--content{flex-direction:row}.candidate-primary-box:nth-child(odd) .candidate-primary-box--text-column{align-items:flex-end}}.candidate-primary-box:nth-child(odd) .candidate-primary-box--text-column__hidden{--tw-translate-x: -100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.candidate-primary-box:nth-child(odd) .candidate-primary-box--image-column__hidden{--tw-translate-x: 100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.candidate-primary-box:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(238 238 238 / var(--tw-bg-opacity))}.candidate-primary-box:nth-child(2n) .candidate-primary-box--content{flex-direction:column-reverse}@media (min-width: 992px){.candidate-primary-box:nth-child(2n) .candidate-primary-box--content{flex-direction:row-reverse}}.candidate-primary-box:nth-child(2n) .candidate-primary-box--text-column{align-items:flex-start}.candidate-primary-box:nth-child(2n) .candidate-primary-box--text-column__hidden{--tw-translate-x: 100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.candidate-primary-box:nth-child(2n) .candidate-primary-box--image-column__hidden{--tw-translate-x: -100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flip-card .prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75rem;margin-bottom:.75rem}.flip-card .prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.25rem;margin-bottom:.25rem}.flip-card{height:33rem;width:auto;cursor:pointer;perspective:1000px}.flip-card-inner{position:relative;width:100%;height:100%;transition:transform .8s;transform-style:preserve-3d}.flip-card:hover .flip-card-inner,.flip-card:focus .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden}.flip-card-back{transform:rotateY(180deg)}.article-timeline-grid{display:grid;gap:.5rem;margin-top:-20px;grid-template-areas:"left-article" "right-article"}@media (min-width: 1200px){.article-timeline-grid{grid-template-columns:minmax(0,570px) 1px minmax(0,570px);grid-template-areas:"left-article timeline right-article"}}.article-timeline-grid__left-article{grid-area:left-article}.article-timeline-grid__right-article{grid-area:right-article}.article-timeline-grid__timeline{grid-area:timeline}.article-timeline-grid__timeline:before{content:"";background:linear-gradient(180deg,#02002400,#fff);position:absolute;bottom:-1px;height:20px;z-index:10;width:2px;left:-1px}.article-timeline-grid__timeline .article-timeline--month{transform:translate(-50%);top:-1rem;z-index:100}.footer-collapsible__toggle{display:flex;cursor:pointer;align-items:center}.footer-collapsible__toggle:after{content:"";font-family:pirati-ui;margin-left:auto;font-size:3rem;font-weight:300;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.footer-collapsible__toggle.footer-collapsible__toggle--open:after{transform:rotate(-180deg)}@media (min-width: 768px){.footer-collapsible__toggle:after{display:none;cursor:auto}}.navbar{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.navbar .navbar__logo--white{--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity))!important}.navbar .navbar__logo--white:not(.navbar__district__logo){display:inline}.navbar .navbar__logo--white.navbar__district__logo{display:flex}.navbar .navbar__logo--black{display:none;--tw-text-opacity: 1 !important;color:rgb(0 0 0 / var(--tw-text-opacity))!important}.navbar .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.navbar .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity))}.navbar .navbar__menu-item--selected{text-decoration-line:underline}.navbar .navbar__menu-item--selected:hover{text-decoration-line:none}.navbar.navbar--onboarding{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.navbar.navbar--onboarding.navbar--transparent{background-color:transparent}.navbar.navbar--onboarding.navbar--transparent .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(254 201 0 / var(--tw-text-opacity))}.navbar.navbar--onboarding.navbar--transparent .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.navbar.navbar--elections{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.navbar.navbar--elections .navbar__logo--white{display:none}.navbar.navbar--elections .navbar__logo--black{display:inline}.navbar.navbar--elections .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(254 201 0 / var(--tw-text-opacity))}.navbar.navbar--elections .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.navbar.navbar--elections .bar1,.navbar.navbar--elections .bar2,.navbar.navbar--elections .bar3{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.navbar.navbar--elections.navbar--elections-transparent{background-color:transparent}.navbar.navbar--elections.navbar--elections-transparent .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.navbar.navbar--elections.navbar--elections-transparent .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity))}.navbar.navbar--transparent{background-color:transparent}@media (min-width: 1200px){.navbar.navbar--transparent{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}}.navbar.navbar--transparent .navbar__logo--white{display:none}.navbar.navbar--transparent .navbar__logo--black:not(.navbar__district__logo){display:inline}.navbar.navbar--transparent .navbar__logo--black.navbar__district__logo{display:flex}.navbar.navbar--transparent .bar1,.navbar.navbar--transparent .bar2,.navbar.navbar--transparent .bar3{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}@media (min-width: 1200px){.navbar.navbar--transparent.navbar--on-dark-bg{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}.navbar.navbar--transparent.navbar--on-dark-bg .navbar__logo--white:not(.navbar__district__logo){display:inline}.navbar.navbar--transparent.navbar--on-dark-bg .navbar__logo--white.navbar__district__logo{display:flex}.navbar.navbar--transparent.navbar--on-dark-bg .navbar__logo--black{display:none}.navbar.navbar--transparent.navbar--on-dark-bg .bar1,.navbar.navbar--transparent.navbar--on-dark-bg .bar2,.navbar.navbar--transparent.navbar--on-dark-bg .bar3{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bar1,.bar2,.bar3{background-color:#fff;display:block;height:2px;margin:6px 0;transition:.4s;width:35px}.navbar__mobile-menu__toggle:checked+label .bar1{transform:rotate(-45deg) translate(-3px,4px);--tw-bg-opacity: 1 !important;background-color:rgb(0 0 0 / var(--tw-bg-opacity))!important}.navbar__mobile-menu__toggle:checked+label .bar2{opacity:0}.navbar__mobile-menu__toggle:checked+label .bar3{transform:rotate(45deg) translate(-8px,-8px);--tw-bg-opacity: 1 !important;background-color:rgb(0 0 0 / var(--tw-bg-opacity))!important}.navbar__mobile-menu{pointer-events:none;visibility:hidden;z-index:0;opacity:0;transition:visibility .1s,opacity .1s linear}.navbar__mobile-menu__toggle:checked~.navbar__mobile-menu{pointer-events:auto;visibility:visible;z-index:20;opacity:1}@media (min-width: 1200px){.navbar__mobile-menu__toggle:checked~.navbar__mobile-menu{pointer-events:none;visibility:hidden;z-index:0;opacity:0}}.newsletter-section{background-size:cover;background-repeat:no-repeat}@media (min-width: 768px){.newsletter-section{background-position:left top}}.region-map__list{-moz-columns:2;columns:2}.region-map__region{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;transition:all .3s ease-out;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.region-map__region:after{content:"";width:10px;position:absolute;height:10px;background:#fec900;z-index:10}.region-map__region--current{fill:#fec900}@media (min-width: 992px){.faq-answer:nth-child(4n) .faq-answer--content{flex-direction:row-reverse}.faq-answer:nth-child(4n) .faq-answer--person{flex-direction:row-reverse}.faq-answer:nth-child(4n) .faq-answer--person--text{margin-left:-5rem}}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.\!bottom-\[0\]{bottom:0!important}.bottom-4{bottom:1rem}.left-0{left:0}.left-10{left:2.5rem}.left-\[30\%\]{left:30%}.right-4{right:1rem}.top-0{top:0}.top-10{top:2.5rem}.top-\[-1px\]{top:-1px}.top-\[2\.75rem\]{top:2.75rem}.top-\[30\%\]{top:30%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-8{grid-column:span 8 / span 8}.float-right{float:right}.float-left{float:left}.m-0{margin:0}.m-10{margin:2.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-20{margin-top:5rem;margin-bottom:5rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.\!mb-0{margin-bottom:0!important}.\!mb-16{margin-bottom:4rem!important}.\!ml-0{margin-left:0!important}.\!ml-\[unset\]{margin-left:unset!important}.\!mr-\[unset\]{margin-right:unset!important}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[0\.03rem\]{margin-bottom:.03rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-\[-5\.5rem\]{margin-left:-5.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mr-\[-2rem\]{margin-right:-2rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[-0\.5rem\]{margin-top:-.5rem}.mt-\[-5px\]{margin-top:-5px}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-video{aspect-ratio:16 / 9}.\!h-0{height:0px!important}.\!h-full{height:100%!important}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-36{height:9rem}.h-64{height:16rem}.h-8{height:2rem}.h-\[17rem\]{height:17rem}.h-\[27rem\]{height:27rem}.h-\[33rem\]{height:33rem}.h-\[600px\]{height:600px}.h-\[700px\]{height:700px}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:0px}.min-h-\[600px\]{min-height:600px}.w-0{width:0px}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-10\/12{width:83.333333%}.w-12{width:3rem}.w-24{width:6rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-36{width:9rem}.w-4\/6{width:66.666667%}.w-40{width:10rem}.w-48{width:12rem}.w-5\/6{width:83.333333%}.w-56{width:14rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-\[100px\]{width:100px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[220px\]{width:220px}.w-\[calc\(100vw_-_3rem\)\]{width:calc(100vw - 3rem)}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[9rem\]{min-width:9rem}.min-w-\[calc\(100vw_-_2\.5rem\)\]{min-width:calc(100vw - 2.5rem)}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-72{max-width:18rem}.max-w-\[350px\]{max-width:350px}.max-w-\[400px\]{max-width:400px}.max-w-\[550px\]{max-width:550px}.max-w-\[60\%\]{max-width:60%}.max-w-\[600px\]{max-width:600px}.max-w-\[650px\]{max-width:650px}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}.max-w-none{max-width:none}.max-w-screen-lg{max-width:992px}.max-w-xl{max-width:36rem}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-scale-x-100{--tw-scale-x: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.content-stretch{align-content:stretch}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-y-4{row-gap:1rem}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.\!border-0{border-width:0px!important}.border{border-width:1px}.border-4{border-width:4px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l-0{border-left-width:0px}.border-r-\[27rem\]{border-right-width:27rem}.border-t-\[33rem\]{border-top-width:33rem}.border-none{border-style:none}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.border-grey-180{--tw-border-opacity: 1;border-color:rgb(238 238 238 / var(--tw-border-opacity))}.border-grey-200{--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(249 206 5 / var(--tw-border-opacity))}.border-r-\[transparent\]{border-right-color:transparent}.\!bg-grey-100{--tw-bg-opacity: 1 !important;background-color:rgb(243 243 243 / var(--tw-bg-opacity))!important}.\!bg-grey-180{--tw-bg-opacity: 1 !important;background-color:rgb(238 238 238 / var(--tw-bg-opacity))!important}.bg-\[\#00000088\]{background-color:#0008}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity: 1;background-color:rgb(2 125 168 / var(--tw-bg-opacity))}.bg-cyan-200{--tw-bg-opacity: 1;background-color:rgb(87 179 189 / var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(76 169 113 / var(--tw-bg-opacity))}.bg-grey-100{--tw-bg-opacity: 1;background-color:rgb(243 243 243 / var(--tw-bg-opacity))}.bg-grey-125{--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity))}.bg-grey-150{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity))}.bg-grey-180{--tw-bg-opacity: 1;background-color:rgb(238 238 238 / var(--tw-bg-opacity))}.bg-grey-185{--tw-bg-opacity: 1;background-color:rgb(189 189 189 / var(--tw-bg-opacity))}.bg-grey-200{--tw-bg-opacity: 1;background-color:rgb(173 173 173 / var(--tw-bg-opacity))}.bg-grey-50{--tw-bg-opacity: 1;background-color:rgb(247 247 247 / var(--tw-bg-opacity))}.bg-orange-300{--tw-bg-opacity: 1;background-color:rgb(237 150 84 / var(--tw-bg-opacity))}.bg-pirati-yellow{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(214 13 83 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-violet-400{--tw-bg-opacity: 1;background-color:rgb(132 0 72 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity: 1;background-color:rgb(255 234 90 / var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(249 206 5 / var(--tw-bg-opacity))}.bg-cover{background-size:cover}.bg-\[top_right_-7rem\]{background-position:top right -7rem}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-0{padding:0}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[200px\]{padding-top:200px;padding-bottom:200px}.\!pl-\[unset\]{padding-left:unset!important}.\!pr-\[unset\]{padding-right:unset!important}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-12{padding-top:3rem}.pt-14{padding-top:3.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-96{padding-top:24rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-alt{font-family:Bebas Neue,Helvetica,Arial,sans-serif}.font-condensed{font-family:Roboto Condensed,Helvetica,Arial,sans-serif}.text-2xl{font-size:1.6rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.45rem}.text-5xl{font-size:3rem}.text-6xl{font-size:4rem}.text-7xl{font-size:5.3rem}.text-8xl{font-size:6.25rem}.text-9xl{font-size:7.5rem}.text-\[3\.25rem\]{font-size:3.25rem}.text-\[3\.5rem\]{font-size:3.5rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-sm{font-size:.875rem}.text-xl{font-size:1.3rem}.text-xs{font-size:.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-10{line-height:2.5rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-\[10\.5rem\]{line-height:10.5rem}.leading-none{line-height:1}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:.025em}.\!text-black{--tw-text-opacity: 1 !important;color:rgb(0 0 0 / var(--tw-text-opacity))!important}.\!text-grey-250{--tw-text-opacity: 1 !important;color:rgb(136 136 136 / var(--tw-text-opacity))!important}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-grey-185{--tw-text-opacity: 1;color:rgb(189 189 189 / var(--tw-text-opacity))}.text-grey-200{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-grey-250{--tw-text-opacity: 1;color:rgb(136 136 136 / var(--tw-text-opacity))}.text-grey-300{--tw-text-opacity: 1;color:rgb(76 76 76 / var(--tw-text-opacity))}.text-grey-350{--tw-text-opacity: 1;color:rgb(79 79 79 / var(--tw-text-opacity))}.text-grey-600{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity))}.text-orange-300{--tw-text-opacity: 1;color:rgb(237 150 84 / var(--tw-text-opacity))}.text-pirati-yellow{--tw-text-opacity: 1;color:rgb(254 201 0 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(214 13 83 / var(--tw-text-opacity))}.text-turquoise-500{--tw-text-opacity: 1;color:rgb(37 165 185 / var(--tw-text-opacity))}.text-violet-300{--tw-text-opacity: 1;color:rgb(141 65 95 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!no-underline{text-decoration-line:none!important}.decoration-1{text-decoration-thickness:1px}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.bg-blend-darken{background-blend-mode:darken}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-100{transition-delay:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.btn.btn--fullwidth,.btn.btn--fullwidth .btn__body-wrap{width:100%;max-width:100%}.btn.btn--fullwidth .btn__body{flex:1}.btn.btn--autowidth{width:auto}@media (min-width: 1200px){.grid-container{grid-template-columns:240px 1fr 102px;grid-template-areas:"left-side content right-side";margin-left:10vw}}@media (min-width: 2060px){.grid-container{margin-left:20vw}}@media (min-width: 1200px){.grid-container.person-grid-container{grid-template-columns:240px 1fr 339px}}.head-alt-xl,.content-block .head-alt-xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:5.3rem;font-weight:400;line-height:.96}.head-alt-lg,.content-block .head-alt-lg{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:4rem;font-weight:400;line-height:.96}.head-alt-md,.content-block .head-alt-md{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:2.45rem;font-weight:400;line-height:.96}.head-alt-base,.content-block .head-alt-base{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;font-weight:400;line-height:.96}.head-alt-sm,.content-block .head-alt-sm{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.6rem;font-weight:400;line-height:.96}.head-alt-xs,.content-block .head-alt-xs{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.3rem;font-weight:400;line-height:.96}.head-alt-2xs,.content-block .head-alt-2xs{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.125rem;font-weight:400;line-height:.96}.head-base,.content-block .head-base{font-size:1.875rem;font-weight:500;line-height:1.25}.head-sm,.content-block .head-sm{font-size:1.6rem;font-weight:500;line-height:1.25}.head-xs,.content-block .head-xs{font-size:1.3rem;font-weight:500;line-height:1.25}.head-2xs,.content-block .head-2xs{font-size:1.125rem;font-weight:500;line-height:1.25}.head-heavy-base,.content-block .head-heavy-base{font-size:1.875rem;font-weight:700;line-height:1.25}.head-heavy-sm,.content-block .head-heavy-sm{font-size:1.6rem;font-weight:700;line-height:1.25}.head-heavy-xs,.content-block .head-heavy-xs{font-size:1.3rem;font-weight:700;line-height:1.25}.head-heavy-2xs,.content-block .head-heavy-2xs{font-size:1.125rem;font-weight:700;line-height:1.25}.head-allcaps-2xs,.content-block .head-allcaps-2xs{font-size:1.125rem;font-weight:400;text-transform:uppercase;line-height:1.25}.head-allcaps-3xs,.content-block .head-allcaps-3xs{font-size:1rem;font-weight:400;text-transform:uppercase;line-height:1.25}.head-allcaps-4xs,.content-block .head-allcaps-4xs{font-size:.875rem;font-weight:400;text-transform:uppercase;line-height:1.25}.head-allcaps-heavy-2xs,.content-block .head-allcaps-heavy-2xs{font-size:1.125rem;font-weight:700;text-transform:uppercase;line-height:1.25}.head-allcaps-heavy-3xs,.content-block .head-allcaps-heavy-3xs{font-size:1rem;font-weight:700;text-transform:uppercase;line-height:1.25}.head-allcaps-heavy-4xs,.content-block .head-allcaps-heavy-4xs{font-size:.875rem;font-weight:700;text-transform:uppercase;line-height:1.25}@media (min-width: 1200px){.switch__item{padding:.5rem 1.25rem}}.faq-answer .faq-answer--person{flex-direction:row-reverse}@media (min-width: 992px){.faq-answer:not(:nth-child(4n)) .faq-answer--person{flex-direction:row}}.slick-track[data-v-e4caeaf8]{position:relative;top:0;left:0;display:block;transform:translateZ(0)}.slick-track.slick-center[data-v-e4caeaf8]{margin-left:auto;margin-right:auto}.slick-track[data-v-e4caeaf8]:after,.slick-track[data-v-e4caeaf8]:before{display:table;content:""}.slick-track[data-v-e4caeaf8]:after{clear:both}.slick-loading .slick-track[data-v-e4caeaf8]{visibility:hidden}.slick-slide[data-v-e4caeaf8]{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide[data-v-e4caeaf8]{float:right}.slick-slide img[data-v-e4caeaf8]{display:block}.slick-slide.slick-loading img[data-v-e4caeaf8]{display:none}.slick-slide.dragging img[data-v-e4caeaf8]{pointer-events:none}.slick-initialized .slick-slide[data-v-e4caeaf8]{display:block}.slick-loading .slick-slide[data-v-e4caeaf8]{visibility:hidden}.slick-vertical .slick-slide[data-v-e4caeaf8]{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden[data-v-21137603]{display:none}.slick-slider[data-v-3d1a4f76]{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list[data-v-3d1a4f76]{position:relative;display:block;overflow:hidden;margin:0;padding:0;transform:translateZ(0)}.slick-list[data-v-3d1a4f76]:focus{outline:none}.slick-list.dragging[data-v-3d1a4f76]{cursor:pointer;cursor:hand}::-moz-selection{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));background:#f9ce05}::selection{background:#f9ce05}:root{font-size:16px}html{scroll-behavior:smooth}body{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem}a:hover{text-decoration-line:underline}a.icon-link:hover{text-decoration-line:none}a.icon-link:hover span{text-decoration-line:underline}[v-cloak]{display:none}.copyleft{transform:scaleX(-1)!important}.inline-block-nogap{font-size:0}.iframe-container{position:relative;padding-bottom:56.25%;height:0}.iframe-container iframe{position:absolute;top:0;left:0;height:100%;width:100%}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{background:transparent;width:0px}.universal-content-container{margin-top:10rem!important;margin-bottom:2rem!important;padding-left:1.25rem;padding-right:1.25rem;margin:auto;max-width:1400px}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-black:hover{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.hover\:bg-grey-600:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.hover\:bg-yellow-600:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity))}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:no-underline:hover{text-decoration-line:none}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .group-hover\:-translate-x-2{--tw-translate-x: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-yellow-600{--tw-border-opacity: 1;border-color:rgb(215 177 3 / var(--tw-border-opacity))}.group:hover .group-hover\:text-8xl{font-size:6.25rem}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:blur-sm{--tw-blur: blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media (min-width: 576px){.sm\:w-5\/12{width:41.666667%}.sm\:w-6\/12{width:50%}.sm\:text-4xl{font-size:2.45rem}.sm\:btn--autowidth.btn{width:auto}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-2{grid-column:span 2 / span 2}.md\:mb-16{margin-bottom:4rem}.md\:mb-6{margin-bottom:1.5rem}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:w-96{width:24rem}.md\:shrink-0{flex-shrink:0}.md\:auto-rows-auto{grid-auto-rows:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-8{gap:2rem}.md\:gap-x-14{-moz-column-gap:3.5rem;column-gap:3.5rem}.md\:gap-y-5{row-gap:1.25rem}.md\:pr-0{padding-right:0}.md\:text-2xl{font-size:1.6rem}.md\:text-4xl{font-size:2.45rem}.md\:text-base{font-size:1rem}}@media (min-width: 992px){.lg\:float-right{float:right}.lg\:float-left{float:left}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:my-12{margin-top:3rem;margin-bottom:3rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:mb-12{margin-bottom:3rem}.lg\:mb-16{margin-bottom:4rem}.lg\:mb-3{margin-bottom:.75rem}.lg\:ml-0{margin-left:0}.lg\:mt-0{margin-top:0}.lg\:mt-\[-1rem\]{margin-top:-1rem}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:h-96{height:24rem}.lg\:w-1\/2{width:50%}.lg\:w-2\/5{width:40%}.lg\:w-3\/5{width:60%}.lg\:w-5\/12{width:41.666667%}.lg\:w-\[180px\]{width:180px}.lg\:w-\[190px\]{width:190px}.lg\:w-\[280px\]{width:280px}.lg\:w-\[35rem\]{width:35rem}.lg\:w-\[unset\]{width:unset}.lg\:w-min{width:-moz-min-content;width:min-content}.lg\:min-w-\[15rem\]{min-width:15rem}.lg\:min-w-\[24rem\]{min-width:24rem}.lg\:max-w-screen-lg{max-width:992px}.lg\:grow-0{flex-grow:0}.lg\:basis-1\/3{flex-basis:33.333333%}.lg\:basis-2\/3{flex-basis:66.666667%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:items-center{align-items:center}.lg\:justify-start{justify-content:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:gap-2{gap:.5rem}.lg\:gap-4{gap:1rem}.lg\:gap-8{gap:2rem}.lg\:overflow-x-visible{overflow-x:visible}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:text-justify{text-align:justify}.lg\:text-6xl{font-size:4rem}.lg\:text-\[5\.5rem\]{font-size:5.5rem}.lg\:text-base{font-size:1rem}}@media (min-width: 1200px){.xl\:absolute{position:absolute}.xl\:col-span-1{grid-column:span 1 / span 1}.xl\:col-span-3{grid-column:span 3 / span 3}.xl\:m-0{margin:0}.xl\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xl\:mb-0{margin-bottom:0}.xl\:mb-12{margin-bottom:3rem}.xl\:mb-20{margin-bottom:5rem}.xl\:mb-24{margin-bottom:6rem}.xl\:mb-32{margin-bottom:8rem}.xl\:mb-6{margin-bottom:1.5rem}.xl\:mb-8{margin-bottom:2rem}.xl\:mr-12{margin-right:3rem}.xl\:mr-2{margin-right:.5rem}.xl\:mt-2{margin-top:.5rem}.xl\:mt-\[-0\.7rem\]{margin-top:-.7rem}.xl\:mt-\[-1rem\]{margin-top:-1rem}.xl\:block{display:block}.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:h-14{height:3.5rem}.xl\:h-\[600px\]{height:600px}.xl\:h-\[620px\]{height:620px}.xl\:h-\[696px\]{height:696px}.xl\:h-screen{height:100vh}.xl\:w-1\/2{width:50%}.xl\:w-14{width:3.5rem}.xl\:w-60{width:15rem}.xl\:w-auto{width:auto}.xl\:shrink-0{flex-shrink:0}.xl\:grow-0{flex-grow:0}.xl\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:flex-row{flex-direction:row}.xl\:flex-col{flex-direction:column}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:justify-start{justify-content:flex-start}.xl\:justify-between{justify-content:space-between}.xl\:gap-0{gap:0px}.xl\:gap-12{gap:3rem}.xl\:gap-16{gap:4rem}.xl\:gap-4{gap:1rem}.xl\:gap-6{gap:1.5rem}.xl\:gap-8{gap:2rem}.xl\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.xl\:justify-self-end{justify-self:end}.xl\:bg-transparent{background-color:transparent}.xl\:bg-center{background-position:center}.xl\:p-12{padding:3rem}.xl\:px-0{padding-left:0;padding-right:0}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:py-0{padding-top:0;padding-bottom:0}.xl\:py-24{padding-top:6rem;padding-bottom:6rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xl\:py-52{padding-top:13rem;padding-bottom:13rem}.xl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xl\:py-8{padding-top:2rem;padding-bottom:2rem}.xl\:pb-16{padding-bottom:4rem}.xl\:pb-20{padding-bottom:5rem}.xl\:pb-24{padding-bottom:6rem}.xl\:pb-\[110px\]{padding-bottom:110px}.xl\:pl-32{padding-left:8rem}.xl\:pl-8{padding-left:2rem}.xl\:pr-0{padding-right:0}.xl\:pr-3{padding-right:.75rem}.xl\:pr-4{padding-right:1rem}.xl\:pr-40{padding-right:10rem}.xl\:pt-1{padding-top:.25rem}.xl\:pt-16{padding-top:4rem}.xl\:pt-32{padding-top:8rem}.xl\:pt-48{padding-top:12rem}.xl\:pt-6{padding-top:1.5rem}.xl\:pt-8{padding-top:2rem}.xl\:text-14xl{font-size:10.6rem}.xl\:text-3xl{font-size:1.875rem}.xl\:text-4xl{font-size:2.45rem}.xl\:text-7xl{font-size:5.3rem}.xl\:text-9xl{font-size:7.5rem}.xl\:text-lg{font-size:1.125rem}.xl\:text-xl{font-size:1.3rem}.xl\:leading-\[10\.5rem\]{line-height:10.5rem}.xl\:\[flex-flow\:column_wrap\]{flex-flow:column wrap}.xl\:\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}}@media (min-width: 1366px){.\32xl\:h-\[550px\]{height:550px}.\32xl\:h-\[646px\]{height:646px}.\32xl\:text-\[6\.5rem\]{font-size:6.5rem}}@media (min-width: 1600px){.\32\.5xl\:ml-\[-10rem\]{margin-left:-10rem}}@media (min-width: 2060px){.\33xl\:text-lg{font-size:1.125rem}}.\[\&\>div\.content-block\>p\:first-child\]\:mt-0>div.content-block>p:first-child{margin-top:0}.\[\&_\*\]\:mt-0 *{margin-top:0}.\[\&_\*\]\:\!gap-0 *{gap:0px!important}.\[\&_\*\]\:\!p-0 *{padding:0!important}.\[\&_\*\]\:\!text-\[0rem\] *{font-size:0rem!important}.\[\&_\*\]\:\!leading-\[0px\] *{line-height:0px!important}.\[\&_\*\]\:\!text-grey-250 *{--tw-text-opacity: 1 !important;color:rgb(136 136 136 / var(--tw-text-opacity))!important}.\[\&_\*\]\:\!delay-0 *{transition-delay:0s!important}.\[\&_\*\]\:\!duration-0 *{transition-duration:0s!important}.\[\&_\.content-block\]\:flex .content-block{display:flex}.\[\&_\.content-block\]\:flex-col .content-block{flex-direction:column}.\[\&_\.content-block\]\:gap-4 .content-block{gap:1rem}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_p\]\:\!text-lg p{font-size:1.125rem!important}.\[\&_p\]\:text-lg p{font-size:1.125rem}.\[\&_p\]\:leading-7 p{line-height:1.75rem}.\[\&_p\]\:text-black p{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.\[\&_p\]\:delay-300 p{transition-delay:.3s}.\[\&_p\]\:duration-150 p{transition-duration:.15s}:root{--f-spinner-width: 36px;--f-spinner-height: 36px;--f-spinner-color-1: rgba(0, 0, 0, .1);--f-spinner-color-2: rgba(17, 24, 28, .8);--f-spinner-stroke: 2.75}.f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}.f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}.f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}.f-spinner svg *:first-child{stroke:var(--f-spinner-color-1)}.f-spinner svg *:last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{to{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.f-throwOutUp{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutUp}.f-throwOutDown{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,calc(var(--f-throw-out-distance, 150px) * -1),0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,var(--f-throw-out-distance, 150px),0);opacity:0}}.f-zoomInUp{animation:var(--f-transition-duration, .2s) ease .1s both f-zoomInUp}.f-zoomOutDown{animation:var(--f-transition-duration, .2s) ease both f-zoomOutDown}@keyframes f-zoomInUp{0%{transform:scale(.975) translate3d(0,16px,0);opacity:0}to{transform:scale(1) translateZ(0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(.975) translate3d(0,16px,0);opacity:0}}.f-fadeIn{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;z-index:2}.f-fadeOut{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeOut{to{opacity:0}}.f-fadeFastIn{animation:var(--f-transition-duration, .2s) ease-out both f-fadeFastIn;z-index:2}.f-fadeFastOut{animation:var(--f-transition-duration, .1s) ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}to{opacity:1}}@keyframes f-fadeFastOut{to{opacity:0}}.f-fadeSlowIn{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowIn;z-index:2}.f-fadeSlowOut{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeSlowOut{to{opacity:0}}.f-crossfadeIn{animation:var(--f-transition-duration, .2s) ease-out both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:calc(var(--f-transition-duration, .2s)*.5) linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-crossfadeOut{to{opacity:0}}.f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNext}.f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrev}.f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNext}.f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translate(100%)}to{transform:translateZ(0)}}@keyframes f-slideInNext{0%{transform:translate(-100%)}to{transform:translateZ(0)}}@keyframes f-slideOutNext{to{transform:translate(-100%)}}@keyframes f-slideOutPrev{to{transform:translate(100%)}}.f-classicIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInNext;z-index:2}.f-classicIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInPrev;z-index:2}.f-classicOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutNext;z-index:1}.f-classicOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translate(-75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translate(75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicOutNext{to{transform:translate(-75px);opacity:0}}@keyframes f-classicOutPrev{to{transform:translate(75px);opacity:0}}:root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-hover-bg: #e0e0e0;--f-button-active-bg: #d0d0d0;--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-disabled-opacity: .65}.f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media (hover: hover){.f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}.f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}.f-button:focus:not(:focus-visible){outline:none}.f-button:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}.f-button[disabled]{cursor:default}.f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}.f-carousel__nav .f-button.is-prev,.f-carousel__nav .f-button.is-next,.fancybox__nav .f-button.is-prev,.fancybox__nav .f-button.is-next{position:absolute;z-index:1}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-next{top:50%;transform:translateY(-50%)}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,.is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,.is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-next{top:auto;left:50%;transform:translate(-50%)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-prev svg,.is-vertical .f-carousel__nav .f-button.is-next svg,.is-vertical .fancybox__nav .f-button.is-prev svg,.is-vertical .fancybox__nav .f-button.is-next svg{transform:rotate(90deg)}.f-carousel__nav .f-button:disabled,.fancybox__nav .f-button:disabled{pointer-events:none}html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}html.with-fancybox body{touch-action:none}html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));overflow:hidden!important;overscroll-behavior-y:none}.fancybox__container{--fancybox-color: #dbdbdb;--fancybox-hover-color: #fff;--fancybox-bg: rgba(24, 24, 27, .98);--fancybox-slide-gap: 10px;--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-color-1: rgba(255, 255, 255, .1);--f-spinner-color-2: #bbb;--f-spinner-stroke: 3.65;position:fixed;inset:0;direction:ltr;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;color:#f8f8f8;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:visible;z-index:var(--fancybox-zIndex, 1050);outline:none;transform-origin:top left;-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;text-size-adjust:100%;overscroll-behavior-y:contain}.fancybox__container *,.fancybox__container *:before,.fancybox__container *:after{box-sizing:inherit}.fancybox__container::backdrop{background-color:#0000}.fancybox__backdrop{position:fixed;inset:0;z-index:-1;background:var(--fancybox-bg);opacity:var(--fancybox-opacity, 1);will-change:opacity}.fancybox__carousel{position:relative;box-sizing:border-box;flex:1;min-height:0;z-index:10;overflow-y:visible;overflow-x:clip}.fancybox__viewport{width:100%;height:100%}.fancybox__viewport.is-draggable{cursor:move;cursor:grab}.fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}.fancybox__track{display:flex;margin:0 auto;height:100%}.fancybox__slide{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0 var(--fancybox-slide-gap) 0 0;padding:4px;overflow:auto;overscroll-behavior:contain;transform:translateZ(0);backface-visibility:hidden}.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn{padding-top:40px}.fancybox__slide.has-iframe,.fancybox__slide.has-video,.fancybox__slide.has-html5video,.fancybox__slide.has-image{overflow:hidden}.fancybox__slide.has-image.is-animating,.fancybox__slide.has-image.is-selected{overflow:visible}.fancybox__slide:before,.fancybox__slide:after{content:"";flex:0 0 0;margin:auto}.fancybox__backdrop:empty,.fancybox__viewport:empty,.fancybox__track:empty,.fancybox__slide:empty{display:block}.fancybox__content{align-self:center;display:flex;flex-direction:column;position:relative;margin:0;padding:2rem;max-width:100%;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);cursor:default;border-radius:0;z-index:20}.is-loading .fancybox__content{opacity:0}.is-draggable .fancybox__content{cursor:move;cursor:grab}.can-zoom_in .fancybox__content{cursor:zoom-in}.can-zoom_out .fancybox__content{cursor:zoom-out}.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__content [data-selectable],.fancybox__content [contenteditable]{cursor:auto}.fancybox__slide.has-image>.fancybox__content{padding:0;background:#0000;min-height:1px;background-repeat:no-repeat;background-size:contain;background-position:center center;transition:none;transform:translateZ(0);backface-visibility:hidden}.fancybox__slide.has-image>.fancybox__content>picture>img{width:100%;height:auto;max-height:100%}.is-animating .fancybox__content,.is-dragging .fancybox__content{will-change:transform,width,height}.fancybox-image{margin:auto;display:block;width:100%;height:100%;min-height:0;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:blur(0px)}.fancybox__caption{align-self:center;max-width:100%;flex-shrink:0;margin:0;padding:14px 0 4px;overflow-wrap:anywhere;line-height:1.375;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);cursor:auto;visibility:visible}.is-loading .fancybox__caption,.is-closing .fancybox__caption{opacity:0;visibility:hidden}.is-compact .fancybox__caption{padding-bottom:0}.f-button.is-close-btn{--f-button-svg-stroke-width: 2;position:absolute;top:0;right:8px;z-index:40}.fancybox__content>.f-button.is-close-btn{--f-button-width: 34px;--f-button-height: 34px;--f-button-border-radius: 4px;--f-button-color: var(--fancybox-color, #fff);--f-button-hover-color: var(--fancybox-color, #fff);--f-button-bg: transparent;--f-button-hover-bg: transparent;--f-button-active-bg: transparent;--f-button-svg-width: 22px;--f-button-svg-height: 22px;position:absolute;top:-38px;right:0;opacity:.75}.is-loading .fancybox__content>.f-button.is-close-btn{visibility:hidden}.is-zooming-out .fancybox__content>.f-button.is-close-btn{visibility:hidden}.fancybox__content>.f-button.is-close-btn:hover{opacity:1}.fancybox__footer{padding:0;margin:0;position:relative}.fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity, 1);transition:all .25s ease}.is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:#18181b80}.is-compact .fancybox__footer .fancybox__caption{padding:12px}.is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius: 50%;--f-button-color: #fff;--f-button-hover-color: #fff;--f-button-outline-color: #000;--f-button-bg: rgba(0, 0, 0, .6);--f-button-active-bg: rgba(0, 0, 0, .6);--f-button-hover-bg: rgba(0, 0, 0, .6);--f-button-svg-width: 18px;--f-button-svg-height: 18px;--f-button-svg-filter: none;top:5px;right:5px}.fancybox__nav{--f-button-width: 50px;--f-button-height: 50px;--f-button-border: 0;--f-button-border-radius: 50%;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: transparent;--f-button-hover-bg: rgba(24, 24, 27, .3);--f-button-active-bg: rgba(24, 24, 27, .5);--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 26px;--f-button-svg-height: 26px;--f-button-svg-stroke-width: 2.5;--f-button-svg-fill: none;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .5));--f-button-svg-disabled-opacity: .65;--f-button-next-pos: 1rem;--f-button-prev-pos: 1rem;opacity:var(--fancybox-opacity, 1)}.fancybox__nav .f-button:before{position:absolute;content:"";inset:-30px -20px;z-index:1}.is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}.is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top, calc(var(--f-spinner-width) * -.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -.5));z-index:30;cursor:pointer}.fancybox-protected{position:absolute;inset:0;z-index:40;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;-o-object-fit:contain;object-fit:contain;z-index:40;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.fancybox-focus-guard{outline:none;opacity:0;position:fixed;pointer-events:none}.fancybox__container:not([aria-hidden]){opacity:0}.fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-enter-duration, .25s) ease .1s backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop{animation:var(--f-backdrop-enter-duration, .35s) ease backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-exit-duration, .15s) ease forwards f-fadeOut}.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop{animation:var(--f-backdrop-exit-duration, .35s) ease forwards f-fadeOut}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content{width:calc(100% - 120px);height:90%}.fancybox__container.is-compact .has-iframe .fancybox__content,.fancybox__container.is-compact .has-map .fancybox__content,.fancybox__container.is-compact .has-pdf .fancybox__content{width:100%;height:100%}.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{padding:0;background:#18181be6;color:#fff}.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:#0000}.fancybox-placeholder{border:0!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.f-carousel__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-outline: 0;--f-thumb-outline-color: #5eb0ef;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1;--f-thumb-border-radius: 2px;--f-thumb-offset: 0px;--f-button-next-pos: 0;--f-button-prev-pos: 0}.f-carousel__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1}.f-carousel__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px}.f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;user-select:none;perspective:1000px;transform:translateZ(0)}.f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2,#e2e8f0);z-index:-1}.f-thumbs .f-spinner svg{display:none}.f-thumbs.is-vertical{height:100%}.f-thumbs__viewport{width:100%;height:auto;overflow:hidden;transform:translateZ(0)}.f-thumbs__track{display:flex}.f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}.f-thumbs__slide.is-loading img{opacity:0}.is-classic .f-thumbs__viewport{height:100%}.is-modern .f-thumbs__track{width:-moz-max-content;width:max-content}.is-modern .f-thumbs__track:before{content:"";position:absolute;top:0;bottom:0;left:calc((var(--f-thumb-clip-width, 0))*-.5);width:calc(var(--width, 0)*1px + var(--f-thumb-clip-width, 0));cursor:pointer}.is-modern .f-thumbs__slide{width:var(--f-thumb-clip-width);transform:translate3d(calc(var(--shift, 0) * -1px),0,0);transition:none;pointer-events:none}.is-modern.is-resting .f-thumbs__slide{transition:transform .33s ease}.is-modern.is-resting .f-thumbs__slide__button{transition:clip-path .33s ease}.is-using-tab .is-modern .f-thumbs__slide:focus-within{filter:drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color))}.f-thumbs__slide__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--f-thumb-width);height:100%;margin:0 -100%;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:#0000;outline:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}.f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}.f-thumbs__slide__button:focus:not(:focus-visible){outline:none}.f-thumbs__slide__button:focus-visible{outline:none;opacity:var(--f-thumb-selected-opacity)}.is-modern .f-thumbs__slide__button{--clip-path: inset( 0 calc( ((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0))) * (1 - var(--progress, 0)) * .5 ) round var(--f-thumb-border-radius, 0) );clip-path:var(--clip-path)}.is-classic .is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}.is-classic .is-nav-selected .f-thumbs__slide__button:after{content:"";position:absolute;inset:0;height:auto;border:var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}.f-thumbs__slide__img{overflow:hidden;position:absolute;inset:0;width:100%;height:100%;margin:0;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;-o-object-fit:cover;object-fit:cover;border-radius:var(--f-thumb-border-radius)}.f-thumbs.is-horizontal .f-thumbs__track{padding:8px 0 12px}.f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}.f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;padding:0 8px}.f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0}.fancybox__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-border-radius: 2px;--f-thumb-outline: 2px;--f-thumb-outline-color: #ededed;position:relative;opacity:var(--fancybox-opacity, 1);transition:max-height .35s cubic-bezier(.23,1,.32,1)}.fancybox__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-classic .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}.fancybox__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-modern .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}.fancybox__thumbs.is-horizontal{padding:0 var(--f-thumb-gap)}.fancybox__thumbs.is-vertical{padding:var(--f-thumb-gap) 0}.is-compact .fancybox__thumbs{--f-thumb-width: 64px;--f-thumb-clip-width: 32px;--f-thumb-height: 48px;--f-thumb-extra-gap: 10px}.fancybox__thumbs.is-masked{max-height:0px!important}.is-closing .fancybox__thumbs{transition:none!important}.fancybox__toolbar{--f-progress-color: var(--fancybox-color, rgba(255, 255, 255, .94));--f-button-width: 46px;--f-button-height: 46px;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: rgba(24, 24, 27, .65);--f-button-hover-bg: rgba(70, 70, 73, .65);--f-button-active-bg: rgba(90, 90, 93, .65);--f-button-border-radius: 0;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.5;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .15));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: .65;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI Adjusted,Segoe UI,Liberation Sans,sans-serif;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, .5));pointer-events:none;z-index:20}.fancybox__toolbar :focus-visible{z-index:1}.fancybox__toolbar.is-absolute,.is-compact .fancybox__toolbar{position:absolute;top:0;left:0;right:0}.is-idle .fancybox__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}.fancybox__toolbar__column.is-left,.fancybox__toolbar__column.is-right{flex-grow:1;flex-basis:0}.fancybox__toolbar__column.is-right{display:flex;justify-content:flex-end;flex-wrap:nowrap}.fancybox__infobar{padding:0 5px;line-height:var(--f-button-height);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fancybox__infobar span{padding:0 5px}.fancybox__infobar:not(:first-child):not(:last-child){background:var(--f-button-bg)}[data-fancybox-toggle-slideshow]{position:relative}[data-fancybox-toggle-slideshow] .f-progress{height:100%;opacity:.3}[data-fancybox-toggle-slideshow] svg g:first-child{display:flex}[data-fancybox-toggle-slideshow] svg g:last-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:first-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:last-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child{display:flex}.f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));z-index:30;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
+@import"https://gfonts.pirati.cz/css2?family=Bebas+Neue&family=Roboto+Condensed:wght@300;400;700&family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400&display=swap";@font-face{font-family:pirati-ui;src:url(/static/styleguide2/pirati-ui.eot?bna028);src:url(/static/styleguide2/pirati-ui.eot?bna028#iefix) format("embedded-opentype"),url(/static/styleguide2/pirati-ui.ttf?bna028) format("truetype"),url(/static/styleguide2/pirati-ui.woff?bna028) format("woff"),url(/static/styleguide2/pirati-ui.svg?bna028#pirati-ui) format("svg");font-weight:400;font-style:normal;font-display:block}[class^=ico--],[class*=" ico--"]{font-family:pirati-ui!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ico--twitter:before{content:""}.ico--mastodon:before{content:""}.ico--helios:before{content:""}.ico--redmine:before{content:""}.ico--zulip:before{content:""}.ico--forum:before{content:""}.ico--pirati:before{content:""}.ico--jitsi:before{content:""}.ico--open-source:before{content:""}.ico--donation-full:before{content:""}.ico--donation-outline:before{content:""}.ico--strategy:before{content:""}.ico--pig:before{content:""}.ico--thermometer:before{content:""}.ico--menu:before{content:""}.ico--chevron-right:before{content:""}.ico--chevron-left:before{content:""}.ico--chevron-down:before{content:""}.ico--chevron-up:before{content:""}.ico--link-horizontal:before{content:""}.ico--beer:before{content:""}.ico--food:before{content:""}.ico--dots-three-vertical:before{content:""}.ico--dots-three-horizontal:before{content:""}.ico--log-out:before{content:""}.ico--envelope:before{content:""}.ico--pin:before{content:""}.ico--at:before{content:""}.ico--glass:before{content:""}.ico--checkmark:before{content:""}.ico--info:before{content:""}.ico--question:before{content:""}.ico--warning:before{content:""}.ico--code:before{content:""}.ico--checkbox-unchecked:before{content:""}.ico--star-full:before{content:""}.ico--star-empty:before{content:""}.ico--bookmark:before{content:""}.ico--cog:before{content:""}.ico--key:before{content:""}.ico--zoom-in:before{content:""}.ico--zoom-out:before{content:""}.ico--shrink:before{content:""}.ico--printer:before{content:""}.ico--file-openoffice:before{content:""}.ico--user:before{content:""}.ico--file-excel:before{content:""}.ico--file-word:before{content:""}.ico--file-pdf:before{content:""}.ico--file-picture:before{content:""}.ico--file-blank:before{content:""}.ico--folder-upload:before{content:""}.ico--upload:before{content:""}.ico--cloud-upload:before{content:""}.ico--folder-download:before{content:""}.ico--download:before{content:""}.ico--cloud-download:before{content:""}.ico--alarm:before{content:""}.ico--calculator:before{content:""}.ico--facebook-full:before{content:""}.ico--feed:before{content:""}.ico--library:before{content:""}.ico--office:before{content:""}.ico--attachment:before{content:""}.ico--enlarge:before{content:""}.ico--eye-off:before{content:""}.ico--eye:before{content:""}.ico--share:before{content:""}.ico--search:before{content:""}.ico--pencil:before{content:""}.ico--lock-open:before{content:""}.ico--lock:before{content:""}.ico--equalizer:before{content:""}.ico--switch:before{content:""}.ico--loop:before{content:""}.ico--refresh:before{content:""}.ico--bullhorn:before{content:""}.ico--bin:before{content:""}.ico--cross:before{content:""}.ico--checkbox-checked:before{content:""}.ico--globe:before{content:""}.ico--wikipedia:before{content:""}.ico--youtube:before{content:""}.ico--users:before{content:""}.ico--book:before{content:""}.ico--bubbles:before{content:""}.ico--map:before{content:""}.ico--compass:before{content:""}.ico--folder-open:before{content:""}.ico--folder:before{content:""}.ico--drawer:before{content:""}.ico--stop:before{content:""}.ico--github:before{content:""}.ico--clock:before{content:""}.ico--calendar:before{content:""}.ico--flickr:before{content:""}.ico--instagram:before{content:""}.ico--newspaper:before{content:""}.ico--cart:before{content:""}.ico--home:before{content:""}.ico--link:before{content:""}.ico--power:before{content:""}.ico--rocket:before{content:""}.ico--location:before{content:""}.ico--phone:before{content:""}.ico--linkedin:before{content:""}.ico--facebook:before{content:""}.ico--envelop:before{content:""}.ico--file-text2:before{content:""}.ico--price-tag:before{content:""}.ico--price-tags:before{content:""}.ico--stats-dots:before{content:""}.ico--bed:before{content:""}.ico--train:before{content:""}.ico--bus:before{content:""}.ico--wheelchair:before{content:""}.ico--thumbs-down:before{content:""}.ico--thumbs-up:before{content:""}.ico--anchor:before{content:""}.ico--paw:before{content:""}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;text-align:start;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-black{--tw-prose-body: #000000;--tw-prose-headings: #000000;--tw-prose-lead: #000000;--tw-prose-links: #000000;--tw-prose-bold: #000000;--tw-prose-counters: #000000;--tw-prose-bullets: #000000;--tw-prose-hr: #000000;--tw-prose-quotes: #000000;--tw-prose-quote-borders: #000000;--tw-prose-captions: #000000;--tw-prose-code: #000000;--tw-prose-pre-code: #000000;--tw-prose-pre-bg: #ffffff;--tw-prose-th-borders: #000000;--tw-prose-td-borders: #000000;--tw-prose-invert-body: #ffffff;--tw-prose-invert-headings: #ffffff;--tw-prose-invert-lead: #ffffff;--tw-prose-invert-links: #ffffff;--tw-prose-invert-bold: #ffffff;--tw-prose-invert-counters: #ffffff;--tw-prose-invert-bullets: #ffffff;--tw-prose-invert-hr: #ffffff;--tw-prose-invert-quotes: #ffffff;--tw-prose-invert-quote-borders: #ffffff;--tw-prose-invert-captions: #ffffff;--tw-prose-invert-code: #ffffff;--tw-prose-invert-pre-code: #ffffff;--tw-prose-invert-pre-bg: #000000;--tw-prose-invert-th-borders: #ffffff;--tw-prose-invert-td-borders: #ffffff}.btn{display:inline-block;text-align:center;font-weight:400;max-width:20rem;text-decoration:none}.btn[disabled]{opacity:.7;cursor:not-allowed}.btn:hover{text-decoration:none}.btn__body{display:flex;height:100%;align-items:center;justify-content:center;padding:.25em 2em}.btn__body-wrap{min-width:10rem;min-height:2.75rem}.btn__body,.btn__icon,.btn__inline-icon{transition-property:color,background-color,border-color;transition-duration:.2s;color:#fff}.btn__body,.btn__icon{background-color:#000}.btn--icon .btn__body-wrap{display:flex}.btn--condensed .btn__body{padding:.75em 1em}@keyframes btn-loading-spinner{to{transform:rotate(360deg)}}.btn--black .btn__body,.btn--black .btn__icon{background-color:#000;color:#fff}.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#000;color:#fff}.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#262626}.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-black:hover .btn__body,.btn--to-black.btn--activated .btn__body{background-color:#000!important;color:#fff!important}.btn--hoveractive.btn--to-black:hover .btn__icon,.btn--to-black.btn--activated .btn__icon{border-color:#343434!important;background-color:#000!important}.btn--hoveractive.btn--to-black:hover .btn__inline-icon,.btn--to-black.btn--activated .btn__inline-icon{color:#fff!important}.btn--grey-700 .btn__body,.btn--grey-700 .btn__icon{background-color:#202020;color:#fff}.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#343434;color:#fff}.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#262626}.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-700:hover .btn__body,.btn--to-grey-700.btn--activated .btn__body{background-color:#202020!important;color:#fff!important}.btn--hoveractive.btn--to-grey-700:hover .btn__icon,.btn--to-grey-700.btn--activated .btn__icon{border-color:#303132!important;background-color:#202020!important}.btn--hoveractive.btn--to-grey-700:hover .btn__inline-icon,.btn--to-grey-700.btn--activated .btn__inline-icon{color:#fff!important}.btn--grey-500 .btn__body,.btn--grey-500 .btn__icon{background-color:#303132;color:#fff}.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#4c4c4c;color:#fff}.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#343434}.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-500:hover .btn__body,.btn--to-grey-500.btn--activated .btn__body{background-color:#303132!important;color:#fff!important}.btn--hoveractive.btn--to-grey-500:hover .btn__icon,.btn--to-grey-500.btn--activated .btn__icon{border-color:#4c4c4c!important;background-color:#303132!important}.btn--hoveractive.btn--to-grey-500:hover .btn__inline-icon,.btn--to-grey-500.btn--activated .btn__inline-icon{color:#fff!important}.btn--grey-125 .btn__body,.btn--grey-125 .btn__icon{background-color:#f0f0f0;color:#000}.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:silver;color:#fff}.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#a8a8a8}.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-125:hover .btn__body,.btn--to-grey-125.btn--activated .btn__body{background-color:#f0f0f0!important;color:#000!important}.btn--hoveractive.btn--to-grey-125:hover .btn__icon,.btn--to-grey-125.btn--activated .btn__icon{border-color:#d8d8d8!important;background-color:#f0f0f0!important}.btn--hoveractive.btn--to-grey-125:hover .btn__inline-icon,.btn--to-grey-125.btn--activated .btn__inline-icon{color:#000!important}.btn--grey-175 .btn__body,.btn--grey-175 .btn__icon{background-color:#d0d0d0;color:#000}.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#a6a6a6;color:#fff}.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#929292}.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-175:hover .btn__body,.btn--to-grey-175.btn--activated .btn__body{background-color:#d0d0d0!important;color:#000!important}.btn--hoveractive.btn--to-grey-175:hover .btn__icon,.btn--to-grey-175.btn--activated .btn__icon{border-color:#bbb!important;background-color:#d0d0d0!important}.btn--hoveractive.btn--to-grey-175:hover .btn__inline-icon,.btn--to-grey-175.btn--activated .btn__inline-icon{color:#000!important}.btn--white .btn__body,.btn--white .btn__icon{background-color:#fff;color:#000}.btn--white .btn__icon{border-color:#f3f3f3;background-color:#fff}.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#ccc;color:#fff}.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#b3b3b3}.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-white:hover .btn__body,.btn--to-white.btn--activated .btn__body{background-color:#fff!important;color:#000!important}.btn--hoveractive.btn--to-white:hover .btn__icon,.btn--to-white.btn--activated .btn__icon{border-color:#f3f3f3!important;background-color:#fff!important}.btn--hoveractive.btn--to-white:hover .btn__inline-icon,.btn--to-white.btn--activated .btn__inline-icon{color:#000!important}.btn--blue-300 .btn__body,.btn--blue-300 .btn__icon{background-color:#027da8;color:#fff}.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#026486;color:#fff}.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#015876}.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-blue-300:hover .btn__body,.btn--to-blue-300.btn--activated .btn__body{background-color:#027da8!important;color:#fff!important}.btn--hoveractive.btn--to-blue-300:hover .btn__icon,.btn--to-blue-300.btn--activated .btn__icon{border-color:#027197!important;background-color:#027da8!important}.btn--hoveractive.btn--to-blue-300:hover .btn__inline-icon,.btn--to-blue-300.btn--activated .btn__inline-icon{color:#fff!important}.btn--cyan-200 .btn__body,.btn--cyan-200 .btn__icon{background-color:#57b3bd;color:#fff}.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#3e959f;color:#fff}.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#37838b}.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-cyan-200:hover .btn__body,.btn--to-cyan-200.btn--activated .btn__body{background-color:#57b3bd!important;color:#fff!important}.btn--hoveractive.btn--to-cyan-200:hover .btn__icon,.btn--to-cyan-200.btn--activated .btn__icon{border-color:#46a8b2!important;background-color:#57b3bd!important}.btn--hoveractive.btn--to-cyan-200:hover .btn__inline-icon,.btn--to-cyan-200.btn--activated .btn__inline-icon{color:#fff!important}.btn--green-300 .btn__body,.btn--green-300 .btn__icon{background-color:#76cc9f;color:#fff}.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#47bb7e;color:#fff}.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#3da46e}.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-green-300:hover .btn__body,.btn--to-green-300.btn--activated .btn__body{background-color:#76cc9f!important;color:#fff!important}.btn--hoveractive.btn--to-green-300:hover .btn__icon,.btn--to-green-300.btn--activated .btn__icon{border-color:#5fc38f!important;background-color:#76cc9f!important}.btn--hoveractive.btn--to-green-300:hover .btn__inline-icon,.btn--to-green-300.btn--activated .btn__inline-icon{color:#fff!important}.btn--green-400 .btn__body,.btn--green-400 .btn__icon{background-color:#4ca971;color:#fff}.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#3d875a;color:#fff}.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#35764f}.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-green-400:hover .btn__body,.btn--to-green-400.btn--activated .btn__body{background-color:#4ca971!important;color:#fff!important}.btn--hoveractive.btn--to-green-400:hover .btn__icon,.btn--to-green-400.btn--activated .btn__icon{border-color:#449866!important;background-color:#4ca971!important}.btn--hoveractive.btn--to-green-400:hover .btn__inline-icon,.btn--to-green-400.btn--activated .btn__inline-icon{color:#fff!important}.btn--green-500 .btn__body,.btn--green-500 .btn__icon{background-color:#4fc49f;color:#000}.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#37a582;color:#fff}.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#309072}.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-green-500:hover .btn__body,.btn--to-green-500.btn--activated .btn__body{background-color:#4fc49f!important;color:#000!important}.btn--hoveractive.btn--to-green-500:hover .btn__icon,.btn--to-green-500.btn--activated .btn__icon{border-color:#3eb992!important;background-color:#4fc49f!important}.btn--hoveractive.btn--to-green-500:hover .btn__inline-icon,.btn--to-green-500.btn--activated .btn__inline-icon{color:#000!important}.btn--yellow-500 .btn__body,.btn--yellow-500 .btn__icon{background-color:#f9ce05;color:#000}.btn--yellow-500 .btn__icon{border-color:#e0b905;background-color:#f9ce05}.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#c7a504;color:#fff}.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#ae9004}.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-yellow-500:hover .btn__body,.btn--to-yellow-500.btn--activated .btn__body{background-color:#f9ce05!important;color:#000!important}.btn--hoveractive.btn--to-yellow-500:hover .btn__icon,.btn--to-yellow-500.btn--activated .btn__icon{border-color:#e0b905!important;background-color:#f9ce05!important}.btn--hoveractive.btn--to-yellow-500:hover .btn__inline-icon,.btn--to-yellow-500.btn--activated .btn__inline-icon{color:#000!important}.btn--yellow-600 .btn__body,.btn--yellow-600 .btn__icon{background-color:#d7b103;color:#000}.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#ac8e02;color:#fff}.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#977c02}.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-yellow-600:hover .btn__body,.btn--to-yellow-600.btn--activated .btn__body{background-color:#d7b103!important;color:#000!important}.btn--hoveractive.btn--to-yellow-600:hover .btn__icon,.btn--to-yellow-600.btn--activated .btn__icon{border-color:#c29f03!important;background-color:#d7b103!important}.btn--hoveractive.btn--to-yellow-600:hover .btn__inline-icon,.btn--to-yellow-600.btn--activated .btn__inline-icon{color:#000!important}.btn--orange-300 .btn__body,.btn--orange-300 .btn__icon{background-color:#ed9654;color:#fff}.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#e7721a;color:#fff}.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#cb6415}.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-orange-300:hover .btn__body,.btn--to-orange-300.btn--activated .btn__body{background-color:#ed9654!important;color:#fff!important}.btn--hoveractive.btn--to-orange-300:hover .btn__icon,.btn--to-orange-300.btn--activated .btn__icon{border-color:#ea8437!important;background-color:#ed9654!important}.btn--hoveractive.btn--to-orange-300:hover .btn__inline-icon,.btn--to-orange-300.btn--activated .btn__inline-icon{color:#fff!important}.btn--violet-400 .btn__body,.btn--violet-400 .btn__icon{background-color:#840048;color:#fff}.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#6a003a;color:#fff}.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#5c0032}.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-violet-400:hover .btn__body,.btn--to-violet-400.btn--activated .btn__body{background-color:#840048!important;color:#fff!important}.btn--hoveractive.btn--to-violet-400:hover .btn__icon,.btn--to-violet-400.btn--activated .btn__icon{border-color:#770041!important;background-color:#840048!important}.btn--hoveractive.btn--to-violet-400:hover .btn__inline-icon,.btn--to-violet-400.btn--activated .btn__inline-icon{color:#fff!important}.btn--violet-500 .btn__body,.btn--violet-500 .btn__icon{background-color:#670047;color:#000}.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#520039;color:#fff}.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#480032}.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-violet-500:hover .btn__body,.btn--to-violet-500.btn--activated .btn__body{background-color:#670047!important;color:#000!important}.btn--hoveractive.btn--to-violet-500:hover .btn__icon,.btn--to-violet-500.btn--activated .btn__icon{border-color:#5d0040!important;background-color:#670047!important}.btn--hoveractive.btn--to-violet-500:hover .btn__inline-icon,.btn--to-violet-500.btn--activated .btn__inline-icon{color:#000!important}.btn--violet-700 .btn__body,.btn--violet-700 .btn__icon{background-color:#7d347d;color:#000}.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#642a64;color:#fff}.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#582458}.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-violet-700:hover .btn__body,.btn--to-violet-700.btn--activated .btn__body{background-color:#7d347d!important;color:#000!important}.btn--hoveractive.btn--to-violet-700:hover .btn__icon,.btn--to-violet-700.btn--activated .btn__icon{border-color:#712f71!important;background-color:#7d347d!important}.btn--hoveractive.btn--to-violet-700:hover .btn__inline-icon,.btn--to-violet-700.btn--activated .btn__inline-icon{color:#000!important}.btn--red-600 .btn__body,.btn--red-600 .btn__icon{background-color:#d60d53;color:#fff}.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#ab0a42;color:#fff}.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#96093a}.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-red-600:hover .btn__body,.btn--to-red-600.btn--activated .btn__body{background-color:#d60d53!important;color:#fff!important}.btn--hoveractive.btn--to-red-600:hover .btn__icon,.btn--to-red-600.btn--activated .btn__icon{border-color:#c10c4b!important;background-color:#d60d53!important}.btn--hoveractive.btn--to-red-600:hover .btn__inline-icon,.btn--to-red-600.btn--activated .btn__inline-icon{color:#fff!important}.btn--brands-facebook .btn__body,.btn--brands-facebook .btn__icon{background-color:#067ceb;color:#fff}.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#0563bc;color:#fff}.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#0457a5}.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-brands-facebook:hover .btn__body,.btn--to-brands-facebook.btn--activated .btn__body{background-color:#067ceb!important;color:#fff!important}.btn--hoveractive.btn--to-brands-facebook:hover .btn__icon,.btn--to-brands-facebook.btn--activated .btn__icon{border-color:#0570d4!important;background-color:#067ceb!important}.btn--hoveractive.btn--to-brands-facebook:hover .btn__inline-icon,.btn--to-brands-facebook.btn--activated .btn__inline-icon{color:#fff!important}.container--default{max-width:1200px}.container--narrow{margin:auto;width:882px}.container--medium{padding-left:1.25rem;padding-right:1.25rem;margin:auto;max-width:1350px}.container--wide{padding-left:1.25rem;padding-right:1.25rem;margin:auto;max-width:1400px}.header-max-width{max-width:1340px!important}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;max-width:1150px}.grid-container{margin-left:1.25rem;margin-right:1.25rem;display:grid;grid-template-columns:1fr;grid-template-areas:"left-side" "content" "right-side";gap:1rem;max-width:1150px}.grid-container.article-section,.grid-container.person-grid-container{max-width:1400px}.grid-container.person-twitter-section{grid-template-columns:minmax(0,1200px)}@media (min-width: 1200px){.grid-container.person-twitter-section{grid-template-columns:minmax(0,240px) minmax(0,1fr) minmax(0,102px)}}.grid-container.no-max{max-width:none}.grid-content{grid-area:content}.grid-full{grid-column:left-side / right-side;grid-row:left-side / right-side}.grid-left-side{grid-area:left-side}.grid-left-side-with-content{grid-column:left-side / content;grid-row:left-side / content}.grid-right-side{grid-area:right-side}.grid-content-with-right-side{grid-column:content / right-side;grid-row:content / right-side}.footer-section{height:450px}.person-box-medium{max-width:485px;width:100%}.person-box-big{max-width:575px;width:100%}@media (min-width: 1200px){.footer-section{height:981px}}.text-input-addon{display:flex;align-items:center;border-width:1px;--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity));padding:.75rem 1rem;font-size:1.125rem;font-weight:400;--tw-text-opacity: 1;color:rgb(76 76 76 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.text-input{border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity));padding:.75rem 1rem;font-size:1.125rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;min-width:0px}.text-input:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.text-input:active:not([disabled]):not([readonly]),.text-input:focus:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.text-input::-moz-placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input::placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input[readonly],.text-input[disabled]{cursor:not-allowed;--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity))}.text-input[readonly]::-moz-placeholder,.text-input[disabled]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input[readonly]::placeholder,.text-input[disabled]::placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input-addon--l{border-right-width:0px}.text-input-addon--r{border-left-width:0px}.text-input:hover:not([disabled]):not([readonly])~.text-input-addon{--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.text-input:focus:not([disabled]):not([readonly])~.text-input-addon,.text-input:active:not([disabled]):not([readonly])~.text-input-addon{--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.text-input[readonly]~.text-input-addon,.text-input[disabled]~.text-input-addon{--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input--has-addon-l.text-input{border-left-width:0px}.text-input--has-addon-r.text-input{border-right-width:0px}.select{position:relative;display:flex;width:100%;align-items:center;padding-top:.5rem;padding-bottom:.5rem}@media (min-width: 1200px){.select{padding-top:1rem;padding-bottom:1rem}}.select:after{position:absolute;right:0;padding-right:.75rem;font-size:1.3rem;font-weight:700;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;font-family:pirati-ui;content:""}.select__control{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;border-width:1px;--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity));padding:.75rem 2rem .75rem 1rem;font-size:1.125rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}@media (min-width: 1200px){.select__control{padding-top:1.25rem;padding-bottom:1.25rem}}.select__control{min-width:0px}.select__control:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.select__control:active:not([disabled]):not([readonly]),.select__control:focus:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.select__control::-moz-placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.select__control::placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.select__control[readonly],.select__control[disabled]{cursor:not-allowed;--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity))}.select__control[readonly]::-moz-placeholder,.select__control[disabled]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.select__control[readonly]::placeholder,.select__control[disabled]::placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.checkbox{position:relative;display:flex}.checkbox input{margin-right:.5rem;height:1.25rem;width:1.25rem;flex-shrink:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-width:1px;--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.checkbox input:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(254 201 0 / var(--tw-border-opacity))}.checkbox input:checked{border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity))}.checkbox input[disabled]{cursor:not-allowed}.checkbox label{line-height:1.25}.checkbox:after{pointer-events:none;position:absolute;display:inline;content:"";height:5px;width:12px;top:6px;left:4px;border-left:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(-45deg)}.radio{position:relative}.radio input{margin-right:.5rem;height:1.25rem;width:1.25rem;flex-shrink:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:9999px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(173 173 173 / var(--tw-bg-opacity));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.radio input:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.radio input:active,.radio input:focus{--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.radio input:checked{border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(2 125 168 / var(--tw-bg-opacity))}.radio input[disabled]{cursor:not-allowed}.radio label{display:flex;align-items:center;line-height:1.25}.radio:after{pointer-events:none;position:absolute;display:inline;height:.5rem;width:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));content:"";border-radius:50%;top:.375rem;left:.375rem}.form-field--error .text-input,.form-field--error .select__control,.form-field--error .text-input~.text-input-addon{--tw-border-opacity: 1;border-color:rgb(214 13 83 / var(--tw-border-opacity))}.h-default{font-weight:500;line-height:1.25}.h-alt{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-weight:400;line-height:.96}.h-allcaps{font-weight:400;text-transform:uppercase;line-height:1.25}.head-xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;text-transform:uppercase;line-height:1}@media (min-width: 992px){.head-xl{font-size:1.3rem}}.head-2xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.6rem;font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:-.01em}.head-3xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;text-transform:uppercase;line-height:1}.head-4xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-4xl{font-size:2.45rem;line-height:1}}@media (min-width: 1200px){.head-4xl{font-size:2.45rem}}.head-6xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:2.45rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-6xl{font-size:3rem;line-height:1}}@media (min-width: 1200px){.head-6xl{font-size:4rem}}.head-7xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:2.45rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-7xl{font-size:3rem;line-height:1}}@media (min-width: 1200px){.head-7xl{font-size:5.3rem}}.head-8xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-8xl{font-size:5.3rem;line-height:1}}@media (min-width: 1200px){.head-8xl{font-size:6.25rem}}.head-9xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-9xl{font-size:6.25rem;line-height:1}}@media (min-width: 1200px){.head-9xl{font-size:6.25rem}}.head-10xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;font-weight:500;text-transform:uppercase;letter-spacing:-.025em}@media (min-width: 768px){.head-10xl{font-size:7.5rem;line-height:1}}@media (min-width: 1200px){.head-10xl{font-size:7.5rem}}.head-14xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:5.3rem;font-weight:500;text-transform:uppercase;line-height:4.75rem}@media (min-width: 1200px){.head-14xl{font-size:10.6rem;line-height:9.8rem}}.head-14xl.head-short{font-size:6.25rem;line-height:9.8rem}@media (min-width: 1200px){.head-14xl.head-short{font-size:10.6rem}}.head-14xl.head-compact{line-height:4rem}@media (min-width: 1200px){.head-14xl.head-compact{line-height:8.9rem}}.prose :where(.head-6xl):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(.head-7xl):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(.head-8xl):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(.head-9xl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.25em}p{font-size:.875rem;line-height:1.5rem}@media (min-width: 992px){p{font-size:1rem}}.vertical-time-line{border-left:1px solid green}.program-perex .content-block p{font-size:1.3rem;line-height:1.75rem}.content-block h2{margin-bottom:1.25rem;font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;font-weight:500;text-transform:uppercase;line-height:1.75rem}@media (min-width: 992px){.content-block h2{line-height:2.5rem}}@media (min-width: 1200px){.content-block h2{font-size:2.45rem}}.content-block h3{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.125rem;font-weight:500;text-transform:uppercase;line-height:1rem}@media (min-width: 1200px){.content-block h3{font-size:1.875rem;line-height:2rem}}.content-block h4{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-weight:500;text-transform:uppercase;line-height:2rem}@media (min-width: 1200px){.content-block h4{font-size:1.6rem}}.content-block h4{letter-spacing:-.01em}.content-block a{--tw-text-opacity: 1;color:rgb(2 125 168 / var(--tw-text-opacity));text-decoration-line:underline}:root{--fc-button-bg-color: #000;--fc-button-border-color: #000;--fc-button-hover-bg-color: #fec900;--fc-button-hover-border-color: #fec900;--fc-button-active-bg-color: #fec900;--fc-button-active-border-color: #fec900;--fc-event-bg-color: #fec900;--fc-event-border-color: #fec900;--fc-event-text-color: #000;--fc-border-color: #000;--fc-today-bg-color: #000;--fc-event-dot-color: #000}.fc-col-header{width:100%!important}.fc .fc-col-header-cell-cushion:not([href]):hover,.fc .fc-daygrid-day-number:not([href]):hover{text-decoration-line:none}.fc .fc-col-header-cell{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:.75rem;font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.3rem;text-transform:capitalize;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.fc .fc-button{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:.5rem 1.25rem;text-align:center;font-size:1.125rem;font-weight:600;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.fc .fc-button:hover{text-decoration-line:none}.fc .fc-button:hover:not(:disabled),.fc .fc-button:active:not(:disabled){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.fc .fc-event{cursor:pointer;border-radius:0;border-style:none;padding:.375rem;font-size:1rem;background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);color:var(--fc-event-text-color)}.fc-header-toolbar{align-items:flex-start!important}@media (min-width: 1200px){.fc-header-toolbar{align-items:center!important}}.fc .fc-toolbar-title,.fc .fc-today-button{font-family:Roboto Condensed,Helvetica,Arial,sans-serif;text-transform:capitalize}.fc-toolbar-chunk{display:flex;flex-wrap:wrap-reverse;justify-content:flex-end;gap:.5rem}.fc .fc-daygrid-day-number{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}@media (min-width: 1200px){.fc .fc-daygrid-day-number{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem}}.fc-daygrid-body,.fc-scrollgrid-sync-table{width:100%!important}@media (min-width: 1200px){.fc-daygrid-body,.fc-scrollgrid-sync-table{width:unset}}.fc .fc-day-today .fc-daygrid-day-number{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-dot-color)}.fc .fc-scroller-harness{overflow:visible}.dropdown{position:relative;cursor:pointer}.dropbtn{margin-bottom:.25rem;padding:.75rem}.dropdown-content{position:absolute;z-index:1;display:none;list-style-type:none}@media screen and (max-width: 1200px){.dropdown-content{position:unset}.dropbtn{display:none}}.dropdown-content a{display:block;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}@media screen and (min-width: 1200px){.dropdown:hover .dropdown-content,.dropdown:focus .dropdown-content{display:flex;width:100%;flex-direction:column;gap:.75rem;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:.75rem}.dropdown:hover .dropbtn,.dropdown:focus .dropbtn{position:relative;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dropdown-content li{line-height:1.5rem}.dropdown:hover,.dropdown:focus{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}}.drop-arrow{position:relative;top:2px;margin-left:.25rem}@media screen and (max-width: 1200px){.drop-arrow{display:none}}.article-box.dark-theme{background-color:#4c4c4c;color:#fff}.quote-icon{font-size:7rem;height:1rem}@media (min-width: 1200px){.quote-icon{font-size:15rem}}.header-carousel{display:block;margin:0 auto;position:relative}.header-carousel .header-carousel--text-wrapper,.header-carousel .elections--header-carousel--text-wrapper,.header-carousel .onboarding--header-carousel-text-wrapper{position:absolute;width:98vw;font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;text-transform:uppercase}@media (min-width: 992px){.header-carousel .header-carousel--text-wrapper,.header-carousel .elections--header-carousel--text-wrapper{font-size:5.3rem}.header-carousel .onboarding--header-carousel-text-wrapper{font-size:4rem}}.header-carousel .header-carousel--text-wrapper{bottom:37%;height:85%}@media (min-width: 1200px){.header-carousel .header-carousel--text-wrapper{bottom:33%}}.header-carousel .elections--header-carousel--text-wrapper{bottom:45%;height:85%}@media (min-width: 1200px){.header-carousel .elections--header-carousel--text-wrapper{bottom:10%}}.header-carousel .header-carousel--image{inset:0;position:absolute;height:100%;width:100vw;-o-object-fit:cover;object-fit:cover}@media (min-width: 1200px){.header-carousel .header-carousel--image{height:458px}}@media (min-width: 768px){.header-carousel .header-carousel--image{height:100%}}@keyframes right_to_left{0%{margin-left:20%}to{margin-left:10%}}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:Bebas Neue,Helvetica,Arial,sans-serif;line-height:2.25rem}.switch{margin-left:auto;margin-right:auto;padding-top:1.25rem;padding-bottom:1.25rem}.switch__item,.switch__item--elections,.switch__item--program{margin-bottom:.5rem;cursor:pointer;white-space:nowrap;padding:.5rem 1.25rem;text-align:center;font-weight:400;transition-duration:.2s}.switch__item:not(:last-child),.switch__item--elections:not(:last-child),.switch__item--program:not(:last-child){margin-right:.5rem}.switch__item{--tw-bg-opacity: 1;background-color:rgb(249 206 5 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.switch__item:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity));text-decoration-line:none}.switch__item.switch__item--active,.switch__item.switch__item--active:hover{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity))}.switch__item--program{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.switch__item--program:hover{--tw-bg-opacity: 1;background-color:rgb(173 173 173 / var(--tw-bg-opacity));text-decoration-line:none}.switch__item--program.switch__item--active,.switch__item--program.switch__item--active:hover{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity))}.switch__item--elections{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.switch__item--elections:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));text-decoration-line:none}.switch__item--elections.switch__item--active,.switch__item--elections.switch__item--active:hover{--tw-bg-opacity: 1;background-color:rgb(79 79 79 / var(--tw-bg-opacity))}.horizontal-scrolling{display:block;margin-left:-15px;margin-right:-15px;max-width:calc(100vw - 50px);overflow-x:scroll;overflow-y:hidden;text-align:center;white-space:nowrap}@media (min-width: 1200px){.horizontal-scrolling{max-width:calc(100% + 30px)}}.horizontal-scrolling.draggable{cursor:grab}.horizontal-scrolling.draggable.active,.horizontal-scrolling.draggable.active a{cursor:grabbing}.no-scrollbars{-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:none}.no-scrollbars::-webkit-scrollbar{display:none}.background-hover-zoom{background-position:center;background-size:100%;transition:background-size .3s ease-in}.background-hover-zoom:hover{background-size:110%}.popout__toggle-wrapper{display:flex;cursor:pointer;align-items:center;justify-content:space-between;padding-left:1.25rem;padding-right:1.25rem;font-size:1.125rem;transition-duration:.15s}.popout__toggle-wrapper:hover{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity))}.popout__toggle-wrapper.popout__toggle-wrapper--active{--tw-bg-opacity: 1;background-color:rgb(249 206 5 / var(--tw-bg-opacity))}.popout__toggle-name{padding-top:1rem;padding-bottom:1rem}.popout__content-wrapper{display:flex;flex-direction:column;gap:.75rem;--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity));padding:1rem 1.25rem}.popout__toggle-arrow{font-size:2.45rem}.candidate-secondary-box:not(:last-child){border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(208 208 208 / var(--tw-border-opacity))}.candidate-primary-box:nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity))}.candidate-primary-box:nth-child(odd) .candidate-primary-box--content{flex-direction:column-reverse}@media (min-width: 992px){.candidate-primary-box:nth-child(odd) .candidate-primary-box--content{flex-direction:row}.candidate-primary-box:nth-child(odd) .candidate-primary-box--text-column{align-items:flex-end}}.candidate-primary-box:nth-child(odd) .candidate-primary-box--text-column__hidden{--tw-translate-x: -100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.candidate-primary-box:nth-child(odd) .candidate-primary-box--image-column__hidden{--tw-translate-x: 100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.candidate-primary-box:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(238 238 238 / var(--tw-bg-opacity))}.candidate-primary-box:nth-child(2n) .candidate-primary-box--content{flex-direction:column-reverse}@media (min-width: 992px){.candidate-primary-box:nth-child(2n) .candidate-primary-box--content{flex-direction:row-reverse}}.candidate-primary-box:nth-child(2n) .candidate-primary-box--text-column{align-items:flex-start}.candidate-primary-box:nth-child(2n) .candidate-primary-box--text-column__hidden{--tw-translate-x: 100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.candidate-primary-box:nth-child(2n) .candidate-primary-box--image-column__hidden{--tw-translate-x: -100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flip-card .prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75rem;margin-bottom:.75rem}.flip-card .prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.25rem;margin-bottom:.25rem}.flip-card{height:33rem;width:auto;cursor:pointer;perspective:1000px}.flip-card-inner{position:relative;width:100%;height:100%;transition:transform .8s;transform-style:preserve-3d}.flip-card:hover .flip-card-inner,.flip-card:focus .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden}.flip-card-back{transform:rotateY(180deg)}.article-timeline-grid{display:grid;gap:.5rem;margin-top:-20px;grid-template-areas:"left-article" "right-article"}@media (min-width: 1200px){.article-timeline-grid{grid-template-columns:minmax(0,570px) 1px minmax(0,570px);grid-template-areas:"left-article timeline right-article"}}.article-timeline-grid__left-article{grid-area:left-article}.article-timeline-grid__right-article{grid-area:right-article}.article-timeline-grid__timeline{grid-area:timeline}.article-timeline-grid__timeline:before{content:"";background:linear-gradient(180deg,#02002400,#fff);position:absolute;bottom:-1px;height:20px;z-index:10;width:2px;left:-1px}.article-timeline-grid__timeline .article-timeline--month{transform:translate(-50%);top:-1rem;z-index:100}.footer-collapsible__toggle{display:flex;cursor:pointer;align-items:center}.footer-collapsible__toggle:after{content:"";font-family:pirati-ui;margin-left:auto;font-size:3rem;font-weight:300;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.footer-collapsible__toggle.footer-collapsible__toggle--open:after{transform:rotate(-180deg)}@media (min-width: 768px){.footer-collapsible__toggle:after{display:none;cursor:auto}}.navbar{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.navbar .navbar__logo--white{--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity))!important}.navbar .navbar__logo--white:not(.navbar__district__logo){display:inline}.navbar .navbar__logo--white.navbar__district__logo{display:flex}.navbar .navbar__logo--black{display:none;--tw-text-opacity: 1 !important;color:rgb(0 0 0 / var(--tw-text-opacity))!important}.navbar .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.navbar .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity))}.navbar .navbar__menu-item--selected{text-decoration-line:underline}.navbar .navbar__menu-item--selected:hover{text-decoration-line:none}.navbar.navbar--onboarding{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.navbar.navbar--onboarding.navbar--transparent{background-color:transparent}.navbar.navbar--onboarding.navbar--transparent .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(254 201 0 / var(--tw-text-opacity))}.navbar.navbar--onboarding.navbar--transparent .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.navbar.navbar--elections{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.navbar.navbar--elections .navbar__logo--white{display:none}.navbar.navbar--elections .navbar__logo--black{display:inline}.navbar.navbar--elections .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(254 201 0 / var(--tw-text-opacity))}.navbar.navbar--elections .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.navbar.navbar--elections .bar1,.navbar.navbar--elections .bar2,.navbar.navbar--elections .bar3{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.navbar.navbar--elections.navbar--elections-transparent{background-color:transparent}.navbar.navbar--elections.navbar--elections-transparent .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.navbar.navbar--elections.navbar--elections-transparent .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity))}.navbar.navbar--transparent{background-color:transparent}@media (min-width: 1200px){.navbar.navbar--transparent{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}}.navbar.navbar--transparent .navbar__logo--white{display:none}.navbar.navbar--transparent .navbar__logo--black:not(.navbar__district__logo){display:inline}.navbar.navbar--transparent .navbar__logo--black.navbar__district__logo{display:flex}.navbar.navbar--transparent .bar1,.navbar.navbar--transparent .bar2,.navbar.navbar--transparent .bar3{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}@media (min-width: 1200px){.navbar.navbar--transparent.navbar--on-dark-bg{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}.navbar.navbar--transparent.navbar--on-dark-bg .navbar__logo--white:not(.navbar__district__logo){display:inline}.navbar.navbar--transparent.navbar--on-dark-bg .navbar__logo--white.navbar__district__logo{display:flex}.navbar.navbar--transparent.navbar--on-dark-bg .navbar__logo--black{display:none}.navbar.navbar--transparent.navbar--on-dark-bg .bar1,.navbar.navbar--transparent.navbar--on-dark-bg .bar2,.navbar.navbar--transparent.navbar--on-dark-bg .bar3{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bar1,.bar2,.bar3{background-color:#fff;display:block;height:2px;margin:6px 0;transition:.4s;width:35px}.navbar__mobile-menu__toggle:checked+label .bar1{transform:rotate(-45deg) translate(-3px,4px);--tw-bg-opacity: 1 !important;background-color:rgb(0 0 0 / var(--tw-bg-opacity))!important}.navbar__mobile-menu__toggle:checked+label .bar2{opacity:0}.navbar__mobile-menu__toggle:checked+label .bar3{transform:rotate(45deg) translate(-8px,-8px);--tw-bg-opacity: 1 !important;background-color:rgb(0 0 0 / var(--tw-bg-opacity))!important}.navbar__mobile-menu{pointer-events:none;visibility:hidden;z-index:0;opacity:0;transition:visibility .1s,opacity .1s linear}.navbar__mobile-menu__toggle:checked~.navbar__mobile-menu{pointer-events:auto;visibility:visible;z-index:20;opacity:1}@media (min-width: 1200px){.navbar__mobile-menu__toggle:checked~.navbar__mobile-menu{pointer-events:none;visibility:hidden;z-index:0;opacity:0}}.newsletter-section{background-size:cover;background-repeat:no-repeat}@media (min-width: 768px){.newsletter-section{background-position:left top}}.region-map__list{-moz-columns:2;columns:2}.region-map__region{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;transition:all .3s ease-out;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.region-map__region:after{content:"";width:10px;position:absolute;height:10px;background:#fec900;z-index:10}.region-map__region--current{fill:#fec900}@media (min-width: 992px){.faq-answer:nth-child(4n) .faq-answer--content{flex-direction:row-reverse}.faq-answer:nth-child(4n) .faq-answer--person{flex-direction:row-reverse}.faq-answer:nth-child(4n) .faq-answer--person--text{margin-left:-5rem}}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.\!bottom-\[0\]{bottom:0!important}.bottom-4{bottom:1rem}.left-0{left:0}.left-10{left:2.5rem}.left-\[30\%\]{left:30%}.right-4{right:1rem}.top-0{top:0}.top-10{top:2.5rem}.top-\[-1px\]{top:-1px}.top-\[2\.75rem\]{top:2.75rem}.top-\[30\%\]{top:30%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-8{grid-column:span 8 / span 8}.float-right{float:right}.float-left{float:left}.m-0{margin:0}.m-10{margin:2.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-20{margin-top:5rem;margin-bottom:5rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.\!mb-0{margin-bottom:0!important}.\!mb-16{margin-bottom:4rem!important}.\!ml-0{margin-left:0!important}.\!ml-\[unset\]{margin-left:unset!important}.\!mr-\[unset\]{margin-right:unset!important}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[0\.03rem\]{margin-bottom:.03rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-\[-5\.5rem\]{margin-left:-5.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mr-\[-2rem\]{margin-right:-2rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[-0\.5rem\]{margin-top:-.5rem}.mt-\[-5px\]{margin-top:-5px}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-video{aspect-ratio:16 / 9}.\!h-0{height:0px!important}.\!h-full{height:100%!important}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-36{height:9rem}.h-64{height:16rem}.h-8{height:2rem}.h-\[17rem\]{height:17rem}.h-\[27rem\]{height:27rem}.h-\[33rem\]{height:33rem}.h-\[600px\]{height:600px}.h-\[700px\]{height:700px}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:0px}.min-h-\[600px\]{min-height:600px}.w-0{width:0px}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-10\/12{width:83.333333%}.w-12{width:3rem}.w-24{width:6rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-36{width:9rem}.w-4\/6{width:66.666667%}.w-40{width:10rem}.w-48{width:12rem}.w-5\/6{width:83.333333%}.w-56{width:14rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-\[100px\]{width:100px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[220px\]{width:220px}.w-\[calc\(100vw_-_3rem\)\]{width:calc(100vw - 3rem)}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[9rem\]{min-width:9rem}.min-w-\[calc\(100vw_-_2\.5rem\)\]{min-width:calc(100vw - 2.5rem)}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-72{max-width:18rem}.max-w-\[350px\]{max-width:350px}.max-w-\[400px\]{max-width:400px}.max-w-\[550px\]{max-width:550px}.max-w-\[60\%\]{max-width:60%}.max-w-\[600px\]{max-width:600px}.max-w-\[650px\]{max-width:650px}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}.max-w-none{max-width:none}.max-w-screen-lg{max-width:992px}.max-w-xl{max-width:36rem}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-scale-x-100{--tw-scale-x: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.content-stretch{align-content:stretch}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-y-4{row-gap:1rem}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.\!border-0{border-width:0px!important}.border{border-width:1px}.border-4{border-width:4px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l-0{border-left-width:0px}.border-r-\[27rem\]{border-right-width:27rem}.border-t-\[33rem\]{border-top-width:33rem}.border-none{border-style:none}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.border-grey-180{--tw-border-opacity: 1;border-color:rgb(238 238 238 / var(--tw-border-opacity))}.border-grey-200{--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(249 206 5 / var(--tw-border-opacity))}.border-r-\[transparent\]{border-right-color:transparent}.\!bg-grey-100{--tw-bg-opacity: 1 !important;background-color:rgb(243 243 243 / var(--tw-bg-opacity))!important}.\!bg-grey-180{--tw-bg-opacity: 1 !important;background-color:rgb(238 238 238 / var(--tw-bg-opacity))!important}.bg-\[\#00000088\]{background-color:#0008}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity: 1;background-color:rgb(2 125 168 / var(--tw-bg-opacity))}.bg-cyan-200{--tw-bg-opacity: 1;background-color:rgb(87 179 189 / var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(76 169 113 / var(--tw-bg-opacity))}.bg-grey-100{--tw-bg-opacity: 1;background-color:rgb(243 243 243 / var(--tw-bg-opacity))}.bg-grey-125{--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity))}.bg-grey-150{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity))}.bg-grey-180{--tw-bg-opacity: 1;background-color:rgb(238 238 238 / var(--tw-bg-opacity))}.bg-grey-185{--tw-bg-opacity: 1;background-color:rgb(189 189 189 / var(--tw-bg-opacity))}.bg-grey-200{--tw-bg-opacity: 1;background-color:rgb(173 173 173 / var(--tw-bg-opacity))}.bg-grey-50{--tw-bg-opacity: 1;background-color:rgb(247 247 247 / var(--tw-bg-opacity))}.bg-orange-300{--tw-bg-opacity: 1;background-color:rgb(237 150 84 / var(--tw-bg-opacity))}.bg-pirati-yellow{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(214 13 83 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-violet-400{--tw-bg-opacity: 1;background-color:rgb(132 0 72 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity: 1;background-color:rgb(255 234 90 / var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(249 206 5 / var(--tw-bg-opacity))}.bg-cover{background-size:cover}.bg-\[top_right_-7rem\]{background-position:top right -7rem}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-0{padding:0}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[200px\]{padding-top:200px;padding-bottom:200px}.\!pl-\[unset\]{padding-left:unset!important}.\!pr-\[unset\]{padding-right:unset!important}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-12{padding-top:3rem}.pt-14{padding-top:3.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-96{padding-top:24rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-alt{font-family:Bebas Neue,Helvetica,Arial,sans-serif}.font-condensed{font-family:Roboto Condensed,Helvetica,Arial,sans-serif}.text-2xl{font-size:1.6rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.45rem}.text-5xl{font-size:3rem}.text-6xl{font-size:4rem}.text-7xl{font-size:5.3rem}.text-8xl{font-size:6.25rem}.text-9xl{font-size:7.5rem}.text-\[3\.25rem\]{font-size:3.25rem}.text-\[3\.5rem\]{font-size:3.5rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-sm{font-size:.875rem}.text-xl{font-size:1.3rem}.text-xs{font-size:.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-10{line-height:2.5rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-\[10\.5rem\]{line-height:10.5rem}.leading-none{line-height:1}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:.025em}.\!text-black{--tw-text-opacity: 1 !important;color:rgb(0 0 0 / var(--tw-text-opacity))!important}.\!text-grey-250{--tw-text-opacity: 1 !important;color:rgb(136 136 136 / var(--tw-text-opacity))!important}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-grey-185{--tw-text-opacity: 1;color:rgb(189 189 189 / var(--tw-text-opacity))}.text-grey-200{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-grey-250{--tw-text-opacity: 1;color:rgb(136 136 136 / var(--tw-text-opacity))}.text-grey-300{--tw-text-opacity: 1;color:rgb(76 76 76 / var(--tw-text-opacity))}.text-grey-350{--tw-text-opacity: 1;color:rgb(79 79 79 / var(--tw-text-opacity))}.text-grey-600{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity))}.text-orange-300{--tw-text-opacity: 1;color:rgb(237 150 84 / var(--tw-text-opacity))}.text-pirati-yellow{--tw-text-opacity: 1;color:rgb(254 201 0 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(214 13 83 / var(--tw-text-opacity))}.text-turquoise-500{--tw-text-opacity: 1;color:rgb(37 165 185 / var(--tw-text-opacity))}.text-violet-300{--tw-text-opacity: 1;color:rgb(141 65 95 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!no-underline{text-decoration-line:none!important}.decoration-1{text-decoration-thickness:1px}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.bg-blend-darken{background-blend-mode:darken}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-100{transition-delay:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.btn.btn--fullwidth,.btn.btn--fullwidth .btn__body-wrap{width:100%;max-width:100%}.btn.btn--fullwidth .btn__body{flex:1}.btn.btn--autowidth{width:auto}@media (min-width: 1200px){.grid-container{grid-template-columns:240px 1fr 102px;grid-template-areas:"left-side content right-side";margin-left:10vw}}@media (min-width: 2060px){.grid-container{margin-left:20vw}}@media (min-width: 1200px){.grid-container.person-grid-container{grid-template-columns:240px 1fr 339px}}.head-alt-xl,.content-block .head-alt-xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:5.3rem;font-weight:400;line-height:.96}.head-alt-lg,.content-block .head-alt-lg{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:4rem;font-weight:400;line-height:.96}.head-alt-md,.content-block .head-alt-md{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:2.45rem;font-weight:400;line-height:.96}.head-alt-base,.content-block .head-alt-base{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;font-weight:400;line-height:.96}.head-alt-sm,.content-block .head-alt-sm{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.6rem;font-weight:400;line-height:.96}.head-alt-xs,.content-block .head-alt-xs{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.3rem;font-weight:400;line-height:.96}.head-alt-2xs,.content-block .head-alt-2xs{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.125rem;font-weight:400;line-height:.96}.head-base,.content-block .head-base{font-size:1.875rem;font-weight:500;line-height:1.25}.head-sm,.content-block .head-sm{font-size:1.6rem;font-weight:500;line-height:1.25}.head-xs,.content-block .head-xs{font-size:1.3rem;font-weight:500;line-height:1.25}.head-2xs,.content-block .head-2xs{font-size:1.125rem;font-weight:500;line-height:1.25}.head-heavy-base,.content-block .head-heavy-base{font-size:1.875rem;font-weight:700;line-height:1.25}.head-heavy-sm,.content-block .head-heavy-sm{font-size:1.6rem;font-weight:700;line-height:1.25}.head-heavy-xs,.content-block .head-heavy-xs{font-size:1.3rem;font-weight:700;line-height:1.25}.head-heavy-2xs,.content-block .head-heavy-2xs{font-size:1.125rem;font-weight:700;line-height:1.25}.head-allcaps-2xs,.content-block .head-allcaps-2xs{font-size:1.125rem;font-weight:400;text-transform:uppercase;line-height:1.25}.head-allcaps-3xs,.content-block .head-allcaps-3xs{font-size:1rem;font-weight:400;text-transform:uppercase;line-height:1.25}.head-allcaps-4xs,.content-block .head-allcaps-4xs{font-size:.875rem;font-weight:400;text-transform:uppercase;line-height:1.25}.head-allcaps-heavy-2xs,.content-block .head-allcaps-heavy-2xs{font-size:1.125rem;font-weight:700;text-transform:uppercase;line-height:1.25}.head-allcaps-heavy-3xs,.content-block .head-allcaps-heavy-3xs{font-size:1rem;font-weight:700;text-transform:uppercase;line-height:1.25}.head-allcaps-heavy-4xs,.content-block .head-allcaps-heavy-4xs{font-size:.875rem;font-weight:700;text-transform:uppercase;line-height:1.25}@media (min-width: 1200px){.switch__item{padding:.5rem 1.25rem}}.faq-answer .faq-answer--person{flex-direction:row-reverse}@media (min-width: 992px){.faq-answer:not(:nth-child(4n)) .faq-answer--person{flex-direction:row}}.slick-track[data-v-e4caeaf8]{position:relative;top:0;left:0;display:block;transform:translateZ(0)}.slick-track.slick-center[data-v-e4caeaf8]{margin-left:auto;margin-right:auto}.slick-track[data-v-e4caeaf8]:after,.slick-track[data-v-e4caeaf8]:before{display:table;content:""}.slick-track[data-v-e4caeaf8]:after{clear:both}.slick-loading .slick-track[data-v-e4caeaf8]{visibility:hidden}.slick-slide[data-v-e4caeaf8]{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide[data-v-e4caeaf8]{float:right}.slick-slide img[data-v-e4caeaf8]{display:block}.slick-slide.slick-loading img[data-v-e4caeaf8]{display:none}.slick-slide.dragging img[data-v-e4caeaf8]{pointer-events:none}.slick-initialized .slick-slide[data-v-e4caeaf8]{display:block}.slick-loading .slick-slide[data-v-e4caeaf8]{visibility:hidden}.slick-vertical .slick-slide[data-v-e4caeaf8]{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden[data-v-21137603]{display:none}.slick-slider[data-v-3d1a4f76]{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list[data-v-3d1a4f76]{position:relative;display:block;overflow:hidden;margin:0;padding:0;transform:translateZ(0)}.slick-list[data-v-3d1a4f76]:focus{outline:none}.slick-list.dragging[data-v-3d1a4f76]{cursor:pointer;cursor:hand}::-moz-selection{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));background:#f9ce05}::selection{background:#f9ce05}:root{font-size:16px}html{scroll-behavior:smooth}body{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem}a:hover{text-decoration-line:underline}a.icon-link:hover{text-decoration-line:none}a.icon-link:hover span{text-decoration-line:underline}[v-cloak]{display:none}.copyleft{transform:scaleX(-1)!important}.inline-block-nogap{font-size:0}.iframe-container{position:relative;padding-bottom:56.25%;height:0}.iframe-container iframe{position:absolute;top:0;left:0;height:100%;width:100%}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{background:transparent;width:0px}.universal-content-container{margin-top:10rem!important;margin-bottom:2rem!important;padding-left:1.25rem;padding-right:1.25rem;margin:auto;max-width:1400px}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-black:hover{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.hover\:bg-grey-600:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.hover\:bg-yellow-600:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity))}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:no-underline:hover{text-decoration-line:none}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .group-hover\:-translate-x-2{--tw-translate-x: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-yellow-600{--tw-border-opacity: 1;border-color:rgb(215 177 3 / var(--tw-border-opacity))}.group:hover .group-hover\:text-8xl{font-size:6.25rem}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:blur-sm{--tw-blur: blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media (min-width: 576px){.sm\:w-5\/12{width:41.666667%}.sm\:w-6\/12{width:50%}.sm\:text-4xl{font-size:2.45rem}.sm\:btn--autowidth.btn{width:auto}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-2{grid-column:span 2 / span 2}.md\:mb-16{margin-bottom:4rem}.md\:mb-6{margin-bottom:1.5rem}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:w-96{width:24rem}.md\:shrink-0{flex-shrink:0}.md\:auto-rows-auto{grid-auto-rows:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-8{gap:2rem}.md\:gap-x-14{-moz-column-gap:3.5rem;column-gap:3.5rem}.md\:gap-y-5{row-gap:1.25rem}.md\:pr-0{padding-right:0}.md\:text-2xl{font-size:1.6rem}.md\:text-4xl{font-size:2.45rem}.md\:text-base{font-size:1rem}}@media (min-width: 992px){.lg\:float-right{float:right}.lg\:float-left{float:left}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:my-12{margin-top:3rem;margin-bottom:3rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:mb-12{margin-bottom:3rem}.lg\:mb-16{margin-bottom:4rem}.lg\:mb-3{margin-bottom:.75rem}.lg\:ml-0{margin-left:0}.lg\:mt-0{margin-top:0}.lg\:mt-\[-1rem\]{margin-top:-1rem}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:h-96{height:24rem}.lg\:w-1\/2{width:50%}.lg\:w-2\/5{width:40%}.lg\:w-3\/5{width:60%}.lg\:w-5\/12{width:41.666667%}.lg\:w-\[180px\]{width:180px}.lg\:w-\[190px\]{width:190px}.lg\:w-\[280px\]{width:280px}.lg\:w-\[35rem\]{width:35rem}.lg\:w-\[unset\]{width:unset}.lg\:w-min{width:-moz-min-content;width:min-content}.lg\:min-w-\[15rem\]{min-width:15rem}.lg\:min-w-\[24rem\]{min-width:24rem}.lg\:max-w-screen-lg{max-width:992px}.lg\:grow-0{flex-grow:0}.lg\:basis-1\/3{flex-basis:33.333333%}.lg\:basis-2\/3{flex-basis:66.666667%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:items-center{align-items:center}.lg\:justify-start{justify-content:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:gap-2{gap:.5rem}.lg\:gap-4{gap:1rem}.lg\:gap-8{gap:2rem}.lg\:overflow-x-visible{overflow-x:visible}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:text-justify{text-align:justify}.lg\:text-6xl{font-size:4rem}.lg\:text-\[5\.5rem\]{font-size:5.5rem}.lg\:text-base{font-size:1rem}}@media (min-width: 1200px){.xl\:absolute{position:absolute}.xl\:col-span-1{grid-column:span 1 / span 1}.xl\:col-span-3{grid-column:span 3 / span 3}.xl\:m-0{margin:0}.xl\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xl\:mb-0{margin-bottom:0}.xl\:mb-12{margin-bottom:3rem}.xl\:mb-20{margin-bottom:5rem}.xl\:mb-24{margin-bottom:6rem}.xl\:mb-32{margin-bottom:8rem}.xl\:mb-6{margin-bottom:1.5rem}.xl\:mb-8{margin-bottom:2rem}.xl\:mr-12{margin-right:3rem}.xl\:mr-2{margin-right:.5rem}.xl\:mt-2{margin-top:.5rem}.xl\:mt-\[-0\.7rem\]{margin-top:-.7rem}.xl\:mt-\[-1rem\]{margin-top:-1rem}.xl\:block{display:block}.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:h-14{height:3.5rem}.xl\:h-\[600px\]{height:600px}.xl\:h-\[620px\]{height:620px}.xl\:h-\[696px\]{height:696px}.xl\:h-screen{height:100vh}.xl\:w-1\/2{width:50%}.xl\:w-14{width:3.5rem}.xl\:w-60{width:15rem}.xl\:w-auto{width:auto}.xl\:shrink-0{flex-shrink:0}.xl\:grow-0{flex-grow:0}.xl\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:flex-row{flex-direction:row}.xl\:flex-col{flex-direction:column}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:justify-start{justify-content:flex-start}.xl\:justify-between{justify-content:space-between}.xl\:gap-0{gap:0px}.xl\:gap-12{gap:3rem}.xl\:gap-16{gap:4rem}.xl\:gap-4{gap:1rem}.xl\:gap-6{gap:1.5rem}.xl\:gap-8{gap:2rem}.xl\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.xl\:justify-self-end{justify-self:end}.xl\:bg-transparent{background-color:transparent}.xl\:bg-center{background-position:center}.xl\:p-12{padding:3rem}.xl\:px-0{padding-left:0;padding-right:0}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:py-0{padding-top:0;padding-bottom:0}.xl\:py-24{padding-top:6rem;padding-bottom:6rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xl\:py-52{padding-top:13rem;padding-bottom:13rem}.xl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xl\:py-8{padding-top:2rem;padding-bottom:2rem}.xl\:pb-16{padding-bottom:4rem}.xl\:pb-20{padding-bottom:5rem}.xl\:pb-24{padding-bottom:6rem}.xl\:pb-\[110px\]{padding-bottom:110px}.xl\:pl-32{padding-left:8rem}.xl\:pl-8{padding-left:2rem}.xl\:pr-0{padding-right:0}.xl\:pr-3{padding-right:.75rem}.xl\:pr-4{padding-right:1rem}.xl\:pr-40{padding-right:10rem}.xl\:pt-1{padding-top:.25rem}.xl\:pt-16{padding-top:4rem}.xl\:pt-32{padding-top:8rem}.xl\:pt-48{padding-top:12rem}.xl\:pt-6{padding-top:1.5rem}.xl\:pt-8{padding-top:2rem}.xl\:text-14xl{font-size:10.6rem}.xl\:text-3xl{font-size:1.875rem}.xl\:text-4xl{font-size:2.45rem}.xl\:text-7xl{font-size:5.3rem}.xl\:text-9xl{font-size:7.5rem}.xl\:text-lg{font-size:1.125rem}.xl\:text-xl{font-size:1.3rem}.xl\:leading-\[10\.5rem\]{line-height:10.5rem}.xl\:\[flex-flow\:column_wrap\]{flex-flow:column wrap}.xl\:\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}}@media (min-width: 1366px){.\32xl\:h-\[550px\]{height:550px}.\32xl\:h-\[646px\]{height:646px}.\32xl\:text-\[6\.5rem\]{font-size:6.5rem}}@media (min-width: 1600px){.\32\.5xl\:ml-\[-10rem\]{margin-left:-10rem}}@media (min-width: 2060px){.\33xl\:text-lg{font-size:1.125rem}}.\[\&\>div\.content-block\>p\:first-child\]\:mt-0>div.content-block>p:first-child{margin-top:0}.\[\&_\*\]\:mt-0 *{margin-top:0}.\[\&_\*\]\:\!gap-0 *{gap:0px!important}.\[\&_\*\]\:\!p-0 *{padding:0!important}.\[\&_\*\]\:\!text-\[0rem\] *{font-size:0rem!important}.\[\&_\*\]\:\!leading-\[0px\] *{line-height:0px!important}.\[\&_\*\]\:\!text-grey-250 *{--tw-text-opacity: 1 !important;color:rgb(136 136 136 / var(--tw-text-opacity))!important}.\[\&_\*\]\:\!delay-0 *{transition-delay:0s!important}.\[\&_\*\]\:\!duration-0 *{transition-duration:0s!important}.\[\&_\.content-block\]\:flex .content-block{display:flex}.\[\&_\.content-block\]\:flex-col .content-block{flex-direction:column}.\[\&_\.content-block\]\:gap-4 .content-block{gap:1rem}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_p\]\:\!text-lg p{font-size:1.125rem!important}.\[\&_p\]\:text-lg p{font-size:1.125rem}.\[\&_p\]\:leading-7 p{line-height:1.75rem}.\[\&_p\]\:text-black p{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.\[\&_p\]\:delay-300 p{transition-delay:.3s}.\[\&_p\]\:duration-150 p{transition-duration:.15s}:root{--f-spinner-width: 36px;--f-spinner-height: 36px;--f-spinner-color-1: rgba(0, 0, 0, .1);--f-spinner-color-2: rgba(17, 24, 28, .8);--f-spinner-stroke: 2.75}.f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}.f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}.f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}.f-spinner svg *:first-child{stroke:var(--f-spinner-color-1)}.f-spinner svg *:last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{to{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.f-throwOutUp{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutUp}.f-throwOutDown{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,calc(var(--f-throw-out-distance, 150px) * -1),0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,var(--f-throw-out-distance, 150px),0);opacity:0}}.f-zoomInUp{animation:var(--f-transition-duration, .2s) ease .1s both f-zoomInUp}.f-zoomOutDown{animation:var(--f-transition-duration, .2s) ease both f-zoomOutDown}@keyframes f-zoomInUp{0%{transform:scale(.975) translate3d(0,16px,0);opacity:0}to{transform:scale(1) translateZ(0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(.975) translate3d(0,16px,0);opacity:0}}.f-fadeIn{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;z-index:2}.f-fadeOut{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeOut{to{opacity:0}}.f-fadeFastIn{animation:var(--f-transition-duration, .2s) ease-out both f-fadeFastIn;z-index:2}.f-fadeFastOut{animation:var(--f-transition-duration, .1s) ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}to{opacity:1}}@keyframes f-fadeFastOut{to{opacity:0}}.f-fadeSlowIn{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowIn;z-index:2}.f-fadeSlowOut{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeSlowOut{to{opacity:0}}.f-crossfadeIn{animation:var(--f-transition-duration, .2s) ease-out both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:calc(var(--f-transition-duration, .2s)*.5) linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-crossfadeOut{to{opacity:0}}.f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNext}.f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrev}.f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNext}.f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translate(100%)}to{transform:translateZ(0)}}@keyframes f-slideInNext{0%{transform:translate(-100%)}to{transform:translateZ(0)}}@keyframes f-slideOutNext{to{transform:translate(-100%)}}@keyframes f-slideOutPrev{to{transform:translate(100%)}}.f-classicIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInNext;z-index:2}.f-classicIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInPrev;z-index:2}.f-classicOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutNext;z-index:1}.f-classicOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translate(-75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translate(75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicOutNext{to{transform:translate(-75px);opacity:0}}@keyframes f-classicOutPrev{to{transform:translate(75px);opacity:0}}:root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-hover-bg: #e0e0e0;--f-button-active-bg: #d0d0d0;--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-disabled-opacity: .65}.f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media (hover: hover){.f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}.f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}.f-button:focus:not(:focus-visible){outline:none}.f-button:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}.f-button[disabled]{cursor:default}.f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}.f-carousel__nav .f-button.is-prev,.f-carousel__nav .f-button.is-next,.fancybox__nav .f-button.is-prev,.fancybox__nav .f-button.is-next{position:absolute;z-index:1}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-next{top:50%;transform:translateY(-50%)}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,.is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,.is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-next{top:auto;left:50%;transform:translate(-50%)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-prev svg,.is-vertical .f-carousel__nav .f-button.is-next svg,.is-vertical .fancybox__nav .f-button.is-prev svg,.is-vertical .fancybox__nav .f-button.is-next svg{transform:rotate(90deg)}.f-carousel__nav .f-button:disabled,.fancybox__nav .f-button:disabled{pointer-events:none}html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}html.with-fancybox body{touch-action:none}html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));overflow:hidden!important;overscroll-behavior-y:none}.fancybox__container{--fancybox-color: #dbdbdb;--fancybox-hover-color: #fff;--fancybox-bg: rgba(24, 24, 27, .98);--fancybox-slide-gap: 10px;--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-color-1: rgba(255, 255, 255, .1);--f-spinner-color-2: #bbb;--f-spinner-stroke: 3.65;position:fixed;inset:0;direction:ltr;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;color:#f8f8f8;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:visible;z-index:var(--fancybox-zIndex, 1050);outline:none;transform-origin:top left;-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;text-size-adjust:100%;overscroll-behavior-y:contain}.fancybox__container *,.fancybox__container *:before,.fancybox__container *:after{box-sizing:inherit}.fancybox__container::backdrop{background-color:#0000}.fancybox__backdrop{position:fixed;inset:0;z-index:-1;background:var(--fancybox-bg);opacity:var(--fancybox-opacity, 1);will-change:opacity}.fancybox__carousel{position:relative;box-sizing:border-box;flex:1;min-height:0;z-index:10;overflow-y:visible;overflow-x:clip}.fancybox__viewport{width:100%;height:100%}.fancybox__viewport.is-draggable{cursor:move;cursor:grab}.fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}.fancybox__track{display:flex;margin:0 auto;height:100%}.fancybox__slide{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0 var(--fancybox-slide-gap) 0 0;padding:4px;overflow:auto;overscroll-behavior:contain;transform:translateZ(0);backface-visibility:hidden}.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn{padding-top:40px}.fancybox__slide.has-iframe,.fancybox__slide.has-video,.fancybox__slide.has-html5video,.fancybox__slide.has-image{overflow:hidden}.fancybox__slide.has-image.is-animating,.fancybox__slide.has-image.is-selected{overflow:visible}.fancybox__slide:before,.fancybox__slide:after{content:"";flex:0 0 0;margin:auto}.fancybox__backdrop:empty,.fancybox__viewport:empty,.fancybox__track:empty,.fancybox__slide:empty{display:block}.fancybox__content{align-self:center;display:flex;flex-direction:column;position:relative;margin:0;padding:2rem;max-width:100%;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);cursor:default;border-radius:0;z-index:20}.is-loading .fancybox__content{opacity:0}.is-draggable .fancybox__content{cursor:move;cursor:grab}.can-zoom_in .fancybox__content{cursor:zoom-in}.can-zoom_out .fancybox__content{cursor:zoom-out}.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__content [data-selectable],.fancybox__content [contenteditable]{cursor:auto}.fancybox__slide.has-image>.fancybox__content{padding:0;background:#0000;min-height:1px;background-repeat:no-repeat;background-size:contain;background-position:center center;transition:none;transform:translateZ(0);backface-visibility:hidden}.fancybox__slide.has-image>.fancybox__content>picture>img{width:100%;height:auto;max-height:100%}.is-animating .fancybox__content,.is-dragging .fancybox__content{will-change:transform,width,height}.fancybox-image{margin:auto;display:block;width:100%;height:100%;min-height:0;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:blur(0px)}.fancybox__caption{align-self:center;max-width:100%;flex-shrink:0;margin:0;padding:14px 0 4px;overflow-wrap:anywhere;line-height:1.375;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);cursor:auto;visibility:visible}.is-loading .fancybox__caption,.is-closing .fancybox__caption{opacity:0;visibility:hidden}.is-compact .fancybox__caption{padding-bottom:0}.f-button.is-close-btn{--f-button-svg-stroke-width: 2;position:absolute;top:0;right:8px;z-index:40}.fancybox__content>.f-button.is-close-btn{--f-button-width: 34px;--f-button-height: 34px;--f-button-border-radius: 4px;--f-button-color: var(--fancybox-color, #fff);--f-button-hover-color: var(--fancybox-color, #fff);--f-button-bg: transparent;--f-button-hover-bg: transparent;--f-button-active-bg: transparent;--f-button-svg-width: 22px;--f-button-svg-height: 22px;position:absolute;top:-38px;right:0;opacity:.75}.is-loading .fancybox__content>.f-button.is-close-btn{visibility:hidden}.is-zooming-out .fancybox__content>.f-button.is-close-btn{visibility:hidden}.fancybox__content>.f-button.is-close-btn:hover{opacity:1}.fancybox__footer{padding:0;margin:0;position:relative}.fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity, 1);transition:all .25s ease}.is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:#18181b80}.is-compact .fancybox__footer .fancybox__caption{padding:12px}.is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius: 50%;--f-button-color: #fff;--f-button-hover-color: #fff;--f-button-outline-color: #000;--f-button-bg: rgba(0, 0, 0, .6);--f-button-active-bg: rgba(0, 0, 0, .6);--f-button-hover-bg: rgba(0, 0, 0, .6);--f-button-svg-width: 18px;--f-button-svg-height: 18px;--f-button-svg-filter: none;top:5px;right:5px}.fancybox__nav{--f-button-width: 50px;--f-button-height: 50px;--f-button-border: 0;--f-button-border-radius: 50%;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: transparent;--f-button-hover-bg: rgba(24, 24, 27, .3);--f-button-active-bg: rgba(24, 24, 27, .5);--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 26px;--f-button-svg-height: 26px;--f-button-svg-stroke-width: 2.5;--f-button-svg-fill: none;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .5));--f-button-svg-disabled-opacity: .65;--f-button-next-pos: 1rem;--f-button-prev-pos: 1rem;opacity:var(--fancybox-opacity, 1)}.fancybox__nav .f-button:before{position:absolute;content:"";inset:-30px -20px;z-index:1}.is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}.is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top, calc(var(--f-spinner-width) * -.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -.5));z-index:30;cursor:pointer}.fancybox-protected{position:absolute;inset:0;z-index:40;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;-o-object-fit:contain;object-fit:contain;z-index:40;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.fancybox-focus-guard{outline:none;opacity:0;position:fixed;pointer-events:none}.fancybox__container:not([aria-hidden]){opacity:0}.fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-enter-duration, .25s) ease .1s backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop{animation:var(--f-backdrop-enter-duration, .35s) ease backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-exit-duration, .15s) ease forwards f-fadeOut}.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop{animation:var(--f-backdrop-exit-duration, .35s) ease forwards f-fadeOut}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content{width:calc(100% - 120px);height:90%}.fancybox__container.is-compact .has-iframe .fancybox__content,.fancybox__container.is-compact .has-map .fancybox__content,.fancybox__container.is-compact .has-pdf .fancybox__content{width:100%;height:100%}.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{padding:0;background:#18181be6;color:#fff}.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:#0000}.fancybox-placeholder{border:0!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.f-carousel__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-outline: 0;--f-thumb-outline-color: #5eb0ef;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1;--f-thumb-border-radius: 2px;--f-thumb-offset: 0px;--f-button-next-pos: 0;--f-button-prev-pos: 0}.f-carousel__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1}.f-carousel__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px}.f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;user-select:none;perspective:1000px;transform:translateZ(0)}.f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2,#e2e8f0);z-index:-1}.f-thumbs .f-spinner svg{display:none}.f-thumbs.is-vertical{height:100%}.f-thumbs__viewport{width:100%;height:auto;overflow:hidden;transform:translateZ(0)}.f-thumbs__track{display:flex}.f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}.f-thumbs__slide.is-loading img{opacity:0}.is-classic .f-thumbs__viewport{height:100%}.is-modern .f-thumbs__track{width:-moz-max-content;width:max-content}.is-modern .f-thumbs__track:before{content:"";position:absolute;top:0;bottom:0;left:calc((var(--f-thumb-clip-width, 0))*-.5);width:calc(var(--width, 0)*1px + var(--f-thumb-clip-width, 0));cursor:pointer}.is-modern .f-thumbs__slide{width:var(--f-thumb-clip-width);transform:translate3d(calc(var(--shift, 0) * -1px),0,0);transition:none;pointer-events:none}.is-modern.is-resting .f-thumbs__slide{transition:transform .33s ease}.is-modern.is-resting .f-thumbs__slide__button{transition:clip-path .33s ease}.is-using-tab .is-modern .f-thumbs__slide:focus-within{filter:drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color))}.f-thumbs__slide__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--f-thumb-width);height:100%;margin:0 -100%;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:#0000;outline:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}.f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}.f-thumbs__slide__button:focus:not(:focus-visible){outline:none}.f-thumbs__slide__button:focus-visible{outline:none;opacity:var(--f-thumb-selected-opacity)}.is-modern .f-thumbs__slide__button{--clip-path: inset( 0 calc( ((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0))) * (1 - var(--progress, 0)) * .5 ) round var(--f-thumb-border-radius, 0) );clip-path:var(--clip-path)}.is-classic .is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}.is-classic .is-nav-selected .f-thumbs__slide__button:after{content:"";position:absolute;inset:0;height:auto;border:var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}.f-thumbs__slide__img{overflow:hidden;position:absolute;inset:0;width:100%;height:100%;margin:0;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;-o-object-fit:cover;object-fit:cover;border-radius:var(--f-thumb-border-radius)}.f-thumbs.is-horizontal .f-thumbs__track{padding:8px 0 12px}.f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}.f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;padding:0 8px}.f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0}.fancybox__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-border-radius: 2px;--f-thumb-outline: 2px;--f-thumb-outline-color: #ededed;position:relative;opacity:var(--fancybox-opacity, 1);transition:max-height .35s cubic-bezier(.23,1,.32,1)}.fancybox__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-classic .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}.fancybox__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-modern .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}.fancybox__thumbs.is-horizontal{padding:0 var(--f-thumb-gap)}.fancybox__thumbs.is-vertical{padding:var(--f-thumb-gap) 0}.is-compact .fancybox__thumbs{--f-thumb-width: 64px;--f-thumb-clip-width: 32px;--f-thumb-height: 48px;--f-thumb-extra-gap: 10px}.fancybox__thumbs.is-masked{max-height:0px!important}.is-closing .fancybox__thumbs{transition:none!important}.fancybox__toolbar{--f-progress-color: var(--fancybox-color, rgba(255, 255, 255, .94));--f-button-width: 46px;--f-button-height: 46px;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: rgba(24, 24, 27, .65);--f-button-hover-bg: rgba(70, 70, 73, .65);--f-button-active-bg: rgba(90, 90, 93, .65);--f-button-border-radius: 0;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.5;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .15));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: .65;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI Adjusted,Segoe UI,Liberation Sans,sans-serif;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, .5));pointer-events:none;z-index:20}.fancybox__toolbar :focus-visible{z-index:1}.fancybox__toolbar.is-absolute,.is-compact .fancybox__toolbar{position:absolute;top:0;left:0;right:0}.is-idle .fancybox__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}.fancybox__toolbar__column.is-left,.fancybox__toolbar__column.is-right{flex-grow:1;flex-basis:0}.fancybox__toolbar__column.is-right{display:flex;justify-content:flex-end;flex-wrap:nowrap}.fancybox__infobar{padding:0 5px;line-height:var(--f-button-height);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fancybox__infobar span{padding:0 5px}.fancybox__infobar:not(:first-child):not(:last-child){background:var(--f-button-bg)}[data-fancybox-toggle-slideshow]{position:relative}[data-fancybox-toggle-slideshow] .f-progress{height:100%;opacity:.3}[data-fancybox-toggle-slideshow] svg g:first-child{display:flex}[data-fancybox-toggle-slideshow] svg g:last-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:first-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:last-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child{display:flex}.f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));z-index:30;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
diff --git a/shared/static/styleguide2/pirati-ui.svg b/shared/static/styleguide2/pirati-ui.svg
index c6e3a71ad07f5229dda5d69c9289dc5ce339be12..ffc20eccf43c3d89476c0124b2475cd314fe2ecd 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>
+</font></defs></svg>
\ No newline at end of file
diff --git a/shared/templates/styleguide/2.3.x/blocks/gallery_block.html b/shared/templates/styleguide/2.3.x/blocks/gallery_block.html
deleted file mode 100644
index 2f023a83179a983e6fe22ec3f9bdab8a3d239a2b..0000000000000000000000000000000000000000
--- a/shared/templates/styleguide/2.3.x/blocks/gallery_block.html
+++ /dev/null
@@ -1,22 +0,0 @@
-{% load wagtailimages_tags %}
-
-<div
-  class="
-    flex flex-wrap items-center gap-2 my-8 justify-center
-
-    lg:justify-start
-  "
->
-  {% for picture in self.gallery_items %}
-    {% image picture width-2000 as img %}
-    {% image picture fill-300x200 as thumb %}
-    <a
-      class="w-40"
-      href="{{ img.url }}"
-      data-fancybox="gallery"
-      data-caption="{{ thumb.alt }}"
-    >
-      <img class="rounded" src="{{ thumb.url }}" alt="thumb.alt" />
-    </a>
-  {% endfor %}
-</div>
diff --git a/shared/templates/styleguide2/includes/atoms/buttons/round_button.html b/shared/templates/styleguide2/includes/atoms/buttons/round_button.html
index f35aaea25aafcebd3ec9ce1678fe135a4c915a71..747c421c16dacb17b337725e52699628fa8d6265 100644
--- a/shared/templates/styleguide2/includes/atoms/buttons/round_button.html
+++ b/shared/templates/styleguide2/includes/atoms/buttons/round_button.html
@@ -30,7 +30,10 @@
         group-hover:-translate-x-2 duration-200
       "
     {% endif %}
-    id="{{ id }}-inner-text"
+
+    {% if id %}
+      id="{{ id }}-inner-text"
+    {% endif %}
   >{{ text }}</span>
 
   {% if show_arrow_on_hover %}
diff --git a/shared/templates/styleguide2/includes/molecules/menus/carousel.html b/shared/templates/styleguide2/includes/molecules/menus/carousel.html
index b82c1f8b75c569580885ad668831c95d0406684a..205befc2c8137c013de0654d759687a2e841ec4d 100644
--- a/shared/templates/styleguide2/includes/molecules/menus/carousel.html
+++ b/shared/templates/styleguide2/includes/molecules/menus/carousel.html
@@ -79,13 +79,13 @@
           style="box-sizing: border-box"
         >
 
-          <h1 class="mb-4 px-5 flex flex-col text-black block lg:hidden">
+          <h1 class="mb-4 px-5 flex-col text-black flex lg:hidden">
             <div>{{ self.mobile_line_1 }}</div>
             <div>{{ self.mobile_line_2 }}</div>
             <div>{{ self.mobile_line_3 }}</div>
           </h1>
 
-          <h1 class="mb-4 px-5 flex flex-col text-black hidden lg:block">
+          <h1 class="mb-4 px-5 flex-col text-black hidden lg:flex">
             <div>{{ self.desktop_line_1 }}</div>
             <div>{{ self.desktop_line_2 }}</div>
           </h1>
@@ -94,7 +94,7 @@
             <div class="ml-4 text-lg group">
               {% firstof self.button_text "Více informací" as button_text %}
 
-              {% include "styleguide2/includes/atoms/buttons/round_button_without_url.html" with text=button_text %}
+              {% include "styleguide2/includes/atoms/buttons/round_button_without_url.html" with url=self.button_text text=button_text show_arrow_on_hover=True %}
             </div>
           {% endif %}
         </div>
@@ -103,4 +103,4 @@
     </{% if self.button_url %}a{% else %}div{% endif %}>
 
   </div>
-</div>
+</div>
\ No newline at end of file
diff --git a/shared/templates/styleguide2/includes/organisms/main_section/newsletter_section.html b/shared/templates/styleguide2/includes/organisms/main_section/newsletter_section.html
index dee54950b2eb3a954d7037d3d7f2a15ab4ac8bd3..52628c76ee68a452c3e984c496073eb6734991f7 100644
--- a/shared/templates/styleguide2/includes/organisms/main_section/newsletter_section.html
+++ b/shared/templates/styleguide2/includes/organisms/main_section/newsletter_section.html
@@ -35,7 +35,7 @@
         </label>
       </div>
 
-      {% include 'styleguide2/includes/atoms/buttons/round_button_form.html' with text='Odebírat' %}
+      {% include 'styleguide2/includes/atoms/buttons/round_button_form.html' with text='Odebírat' show_arrow_on_hover=True %}
     </form>
   </div>
 </div>
diff --git a/shared/templates/styleguide2/includes/organisms/main_section/small_newsletter_section.html b/shared/templates/styleguide2/includes/organisms/main_section/small_newsletter_section.html
index 12d53b29ef873f731a21fb665470cbf1cb34efb3..faa593b7ae8fb260155905e810a503dddc89cbbd 100644
--- a/shared/templates/styleguide2/includes/organisms/main_section/small_newsletter_section.html
+++ b/shared/templates/styleguide2/includes/organisms/main_section/small_newsletter_section.html
@@ -30,7 +30,7 @@
         </label>
       </div>
 
-      {% include 'styleguide2/includes/atoms/buttons/round_button_form.html' with text='Odebírat' %}
+      {% include 'styleguide2/includes/atoms/buttons/round_button_form.html' with text='Odebírat' show_arrow_on_hover=True %}
     </form>
   </div>
 </div>
diff --git a/shared_legacy/__init__.py b/shared_legacy/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/shared_legacy/apps.py b/shared_legacy/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..32625c349a61144c84f478c2979d7f541cfce085
--- /dev/null
+++ b/shared_legacy/apps.py
@@ -0,0 +1,5 @@
+from django.apps import AppConfig
+
+
+class SharedLegacyConfig(AppConfig):
+    name = "shared_legacy"
diff --git a/shared_legacy/blocks/__init__.py b/shared_legacy/blocks/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..d31603b8b661dd6f3e2770acf986a701f9063e6c
--- /dev/null
+++ b/shared_legacy/blocks/__init__.py
@@ -0,0 +1,2 @@
+from .base import *
+from .main import *
diff --git a/shared_legacy/blocks/base.py b/shared_legacy/blocks/base.py
new file mode 100644
index 0000000000000000000000000000000000000000..351e2252face51cf8f4ad17fc9565045c7098e6d
--- /dev/null
+++ b/shared_legacy/blocks/base.py
@@ -0,0 +1,1110 @@
+import datetime
+import json
+import logging
+import re
+import typing
+import urllib
+
+import requests
+from django.core.cache import cache
+from django.core.exceptions import ValidationError
+from django.core.files.images import ImageFile
+from django.db import models
+from django.forms.utils import ErrorList
+from wagtail import blocks
+from wagtail.blocks.struct_block import StructBlockValidationError
+from wagtail.contrib.table_block.blocks import TableBlock
+from wagtail.images.blocks import ImageChooserBlock
+from wagtail.images.models import Image
+from wagtail.models import Collection
+
+from maps_utils.blocks import MapFeatureCollectionBlock, MapPointBlock
+from shared.const import RICH_TEXT_DEFAULT_FEATURES
+
+logger = logging.getLogger(__name__)
+
+
+class GalleryBlock(blocks.StructBlock):
+    gallery_items = blocks.ListBlock(
+        ImageChooserBlock(label="obrázek", required=True),
+        label="Galerie",
+        icon="image",
+        group="ostatní",
+    )
+
+    class Meta:
+        label = "Galerie"
+        icon = "image"
+        template = "styleguide/2.3.x/blocks/gallery_block.html"
+
+
+class FigureBlock(blocks.StructBlock):
+    img = ImageChooserBlock(label="Obrázek", required=True)
+    caption = blocks.TextBlock(label="Popisek", required=False)
+
+    class Meta:
+        label = "Obrázek"
+        icon = "image"
+        template = "styleguide/2.3.x/blocks/figure_block.html"
+
+
+class MenuItemBlock(blocks.StructBlock):
+    title = blocks.CharBlock(label="Titulek", required=True)
+    page = blocks.PageChooserBlock(label="Stránka", required=False)
+    link = blocks.URLBlock(label="Odkaz", required=False)
+
+    class Meta:
+        label = "Položka v menu"
+        template = "styleguide/2.3.x/menu_item.html"
+
+    def clean(self, value):
+        errors = {}
+
+        if value["page"] and value["link"]:
+            errors["page"] = ErrorList(
+                ["Stránka nemůže být vybrána současně s odkazem."]
+            )
+            errors["link"] = ErrorList(
+                ["Odkaz nemůže být vybrán současně se stránkou."]
+            )
+        if errors:
+            raise StructBlockValidationError(errors)
+        return super().clean(value)
+
+
+class MenuParentBlock(blocks.StructBlock):
+    title = blocks.CharBlock(label="Titulek", required=True)
+    menu_items = blocks.ListBlock(MenuItemBlock(), label="Položky menu")
+
+    class Meta:
+        label = "Podmenu"
+        template = "styleguide/2.3.x/menu_parent.html"
+
+
+class ProgramItemBlock(blocks.StructBlock):
+    title = blocks.CharBlock(label="Název", required=True)
+    completion_percentage = blocks.IntegerBlock(
+        label="Procento dokončení", required=True
+    )
+    issue_link = blocks.URLBlock(label="Odkaz na Redmine issue", required=False)
+
+
+class YouTubeVideoBlock(blocks.StructBlock):
+    poster_image = ImageChooserBlock(
+        label="Náhled videa (automatické pole)",
+        required=False,
+        help_text="Není třeba vyplňovat, náhled bude " "dohledán automaticky.",
+    )
+    video_url = blocks.URLBlock(
+        label="Odkaz na video",
+        required=False,
+        help_text="Odkaz na YouTube video bude automaticky "
+        "zkonvertován na ID videa a NEBUDE uložen.",
+    )
+    video_id = blocks.CharBlock(
+        label="ID videa (automatické pole)",
+        required=False,
+        help_text="Není třeba vyplňovat, bude automaticky " "načteno z odkazu.",
+    )
+
+    class Meta:
+        label = "YouTube video"
+        icon = "media"
+        template = "styleguide/2.3.x/blocks/video_block.html"
+
+    def clean(self, value):
+        errors = {}
+
+        if not value["video_url"] and not value["video_id"]:
+            errors["video_url"] = ErrorList(["Zadejte prosím odkaz na YouTube video."])
+
+        if value["video_url"]:
+            if not value["video_url"].startswith("https://youtu.be") and not value[
+                "video_url"
+            ].startswith("https://www.youtube.com"):
+                errors["video_url"] = ErrorList(
+                    [
+                        'Odkaz na video musí začínat "https://www.youtube.com" '
+                        'nebo "https://youtu.be"'
+                    ]
+                )
+
+        if value["video_id"]:
+            if not re.match("^[A-Za-z0-9_-]{11}$", value["video_id"]):
+                errors["video_url"] = ErrorList(
+                    ["Formát ID YouTube videa není validní"]
+                )
+
+        if errors:
+            raise StructBlockValidationError(errors)
+        return super().clean(value)
+
+    def get_prep_value(self, value):
+        value = super().get_prep_value(value)
+
+        if value["video_url"]:
+            value["video_id"] = self.convert_youtube_link_to_video_id(
+                value["video_url"]
+            )
+            value["poster_image"] = self.get_wagtail_image_id_for_youtube_poster(
+                value["video_id"]
+            )
+
+        value["video_url"] = ""
+
+        return value
+
+    @staticmethod
+    def convert_youtube_link_to_video_id(url):
+        reg_str = (
+            "((?<=(v|V)/)|(?<=youtu\.be/)|(?<=youtube\.com/watch(\?|\&)v=)"
+            "|(?<=embed/))([\w-]+)"
+        )
+        search_result = re.search(reg_str, url)
+
+        if search_result:
+            return search_result.group(0)
+
+        logger.warning(
+            "Nepodařilo se získat video ID z YouTube URL", extra={"url": url}
+        )
+        return ""
+
+    @classmethod
+    def get_wagtail_image_id_for_youtube_poster(cls, video_id) -> int or None:
+        image_url = "https://img.youtube.com/vi/{}/hqdefault.jpg".format(video_id)
+
+        img_path = "/tmp/{}.jpg".format(video_id)
+        urllib.request.urlretrieve(image_url, img_path)
+        file = ImageFile(open(img_path, "rb"), name=img_path)
+
+        return cls.get_image_id(file, "YT_poster_v_{}".format(video_id))
+
+    @classmethod
+    def get_image_id(cls, file: ImageFile, image_title: str) -> int:
+        try:
+            image = Image.objects.get(title=image_title)
+        except Image.DoesNotExist:
+            image = Image(
+                title=image_title, file=file, collection=cls.get_posters_collection()
+            )
+            image.save()
+        return image.id
+
+    @staticmethod
+    def get_posters_collection() -> Collection:
+        collection_name = "YouTube nahledy"
+
+        try:
+            collection = Collection.objects.get(name=collection_name)
+        except Collection.DoesNotExist:
+            root_collection = Collection.get_first_root_node()
+            collection = root_collection.add_child(name=collection_name)
+
+        return collection
+
+
+class CardBlock(blocks.StructBlock):
+    img = ImageChooserBlock(label="Obrázek", required=False)
+    elevation = blocks.IntegerBlock(
+        label="Velikost stínu",
+        min_value=0,
+        max_value=21,
+        help_text="0 = žádný stín, 21 = maximální stín",
+        default=2,
+    )
+    headline = blocks.TextBlock(label="Titulek", required=False)
+    hoveractive = blocks.BooleanBlock(
+        label="Zvýraznit stín na hover",
+        default=False,
+        help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
+        required=False,
+    )
+    content = blocks.StreamBlock(
+        label="Obsah",
+        local_blocks=[
+            (
+                "text",
+                blocks.RichTextBlock(
+                    label="Textový editor", features=RICH_TEXT_DEFAULT_FEATURES
+                ),
+            ),
+            ("table", TableBlock(template="shared/blocks/table_block.html")),
+            ("figure", FigureBlock()),
+            ("youtube", YouTubeVideoBlock()),
+            ("map_point", MapPointBlock(label="Špendlík na mapě")),
+            ("map_collection", MapFeatureCollectionBlock(label="Mapová kolekce")),
+        ],
+        required=False,
+    )
+    page = blocks.PageChooserBlock(label="Stránka", required=False)
+    link = blocks.URLBlock(label="Odkaz", required=False)
+
+    class Meta:
+        label = "Karta"
+        icon = "form"
+        template = "styleguide/2.3.x/blocks/card_block.html"
+
+    def clean(self, value):
+        errors = {}
+
+        if value["page"] and value["link"]:
+            errors["page"] = ErrorList(
+                ["Stránka nemůže být vybrána současně s odkazem."]
+            )
+            errors["link"] = ErrorList(
+                ["Odkaz nemůže být vybrán současně se stránkou."]
+            )
+        if errors:
+            raise StructBlockValidationError(errors)
+
+        return super().clean(value)
+
+
+class ButtonBlock(blocks.StructBlock):
+    title = blocks.CharBlock(label="Titulek", max_length=128, required=True)
+    icon = blocks.CharBlock(
+        label="Ikonka",
+        max_length=128,
+        required=False,
+        help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
+    )
+    size = blocks.ChoiceBlock(
+        choices=(("sm", "Malá"), ("base", "Střední"), ("lg", "Velká")),
+        label="Velikost",
+        default="base",
+    )
+    color = blocks.ChoiceBlock(
+        choices=(
+            ("black", "Černá"),
+            ("white", "Bílá"),
+            ("grey-125", "Světle šedá"),
+            ("blue-300", "Modrá"),
+            ("cyan-200", "Tyrkysová"),
+            ("green-400", "Zelené"),
+            ("violet-400", "Vínová"),
+            ("red-600", "Červená"),
+        ),
+        label="Barva",
+        default="base",
+    )
+    hoveractive = blocks.BooleanBlock(
+        label="Animovat na hover",
+        default=True,
+        help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
+        required=False,
+    )
+    mobile_fullwidth = blocks.BooleanBlock(
+        label="Plná šířka na mobilních zařízeních",
+        default=True,
+        help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
+        required=False,
+    )
+    page = blocks.PageChooserBlock(label="Stránka", required=False)
+    link = blocks.URLBlock(label="Odkaz", required=False)
+    align = blocks.ChoiceBlock(
+        choices=(
+            ("auto", "Automaticky"),
+            ("center", "Na střed"),
+        ),
+        label="Zarovnání",
+        default="auto",
+    )
+
+    class Meta:
+        label = "Tlačítko"
+        icon = "code"
+        template = "styleguide/2.3.x/blocks/button_block.html"
+
+    def clean(self, value):
+        errors = {}
+
+        if value["page"] and value["link"]:
+            errors["page"] = ErrorList(
+                ["Stránka nemůže být vybrána současně s odkazem."]
+            )
+            errors["link"] = ErrorList(
+                ["Odkaz nemůže být vybrán současně se stránkou."]
+            )
+
+        if not value["page"] and not value["link"]:
+            errors["page"] = ErrorList(["Stránka nebo odkaz musí být vyplněna."])
+            errors["link"] = ErrorList(["Stránka nebo odkaz musí být vyplněna."])
+
+        if errors:
+            raise StructBlockValidationError(errors)
+
+        return super().clean(value)
+
+    def get_context(self, value, parent_context=None):
+        context = super().get_context(value, parent_context)
+
+        if value["icon"]:
+            context["icon_class"] = (
+                value["icon"]
+                if value["icon"].startswith("ico--")
+                else f"ico--{value['icon']}"
+            )
+        else:
+            context["icon_class"] = None
+
+        return context
+
+
+class ButtonGroupBlock(blocks.StructBlock):
+    buttons = blocks.ListBlock(ButtonBlock(), label="Tlačítka")
+
+    class Meta:
+        label = "Skupina tlačítek"
+        icon = "list-ul"
+        template = "styleguide/2.3.x/blocks/button_group_block.html"
+
+
+class FullSizeHeaderBlock(blocks.StructBlock):
+    title = blocks.CharBlock(label="Titulek", required=True)
+    image_background = ImageChooserBlock(label="Obrázek v pozadí", required=True)
+    image_foreground = ImageChooserBlock(label="Obrázek v popředí", required=False)
+    button_group = blocks.ListBlock(ButtonBlock(), label="Tlačítka")
+
+    class Meta:
+        template = "styleguide/2.3.x/blocks/full_size_header_block.html"
+        icon = "placeholder"
+        label = "Nadpis s obrázkem a tlačítky přes celou stránku"
+
+
+class HeadlineBlock(blocks.StructBlock):
+    headline = blocks.CharBlock(label="Headline", max_length=300, required=True)
+    style = blocks.ChoiceBlock(
+        choices=(
+            ("head-alt-xl", "Bebas XL"),
+            ("head-alt-lg", "Bebas L"),
+            ("head-alt-md", "Bebas M"),
+            ("head-alt-base", "Bebas base"),
+            ("head-alt-sm", "Bebas SM"),
+            ("head-alt-xs", "Bebas XS"),
+            ("head-alt-2xs", "Bebas 2XS"),
+            ("head-heavy-base", "Roboto base"),
+            ("head-heavy-sm", "Roboto SM"),
+            ("head-heavy-xs", "Roboto XS"),
+            ("head-heavy-2xs", "Roboto 2XS"),
+            ("head-allcaps-2xs", "Allcaps 2XS"),
+            ("head-allcaps-3xs", "Allcaps 3XS"),
+            ("head-allcaps-4xs", "Allcaps 4XS"),
+            ("head-heavy-allcaps-2xs", "Allcaps heavy 2XS"),
+            ("head-heavy-allcaps-3xs", "Allcaps heavy 3XS"),
+            ("head-heavy-allcaps-4xs", "Allcaps heavy 4XS"),
+        ),
+        label="Styl",
+        help_text="Náhled si prohlédněte na https://styleguide.pir-test.eu/latest/?p=viewall-atoms-text.",
+        default="head-alt-md",
+        required=True,
+    )
+    tag = blocks.ChoiceBlock(
+        choices=(
+            ("h1", "H1"),
+            ("h2", "H2"),
+            ("h3", "H3"),
+            ("h4", "H4"),
+            ("h5", "H5"),
+            ("h6", "H6"),
+        ),
+        label="Úroveň nadpisu",
+        help_text="Čím nižší číslo, tím vyšší úroveň.",
+        required=True,
+        default="h1",
+    )
+    align = blocks.ChoiceBlock(
+        choices=(
+            ("auto", "Automaticky"),
+            ("center", "Na střed"),
+        ),
+        label="Zarovnání",
+        default="auto",
+        required=True,
+    )
+
+    def get_context(self, value, parent_context=None):
+        context = super().get_context(value, parent_context)
+        context["responsive_style"] = {
+            "head-alt-xl": "head-alt-lg md:head-alt-xl",
+            "head-alt-lg": "head-alt-md md:head-alt-lg",
+            "head-alt-md": "head-alt-md",
+            "head-alt-base": "head-alt-base",
+            "head-alt-sm": "head-alt-sm",
+            "head-alt-xs": "head-alt-xs",
+            "head-alt-2xs": "head-alt-2xs",
+            "head-heavy-base": "head-heavy-base",
+            "head-heavy-sm": "head-heavy-sm",
+            "head-heavy-xs": "head-heavy-xs",
+            "head-heavy-2xs": "head-heavy-2xs",
+            "head-allcaps-2xs": "head-allcaps-2xs",
+            "head-allcaps-3xs": "head-allcaps-3xs",
+            "head-allcaps-4xs": "head-allcaps-4xs",
+            "head-heavy-allcaps-2xs": "head-heavy-allcaps-2xs",
+            "head-heavy-allcaps-3xs": "head-heavy-allcaps-3xs",
+            "head-heavy-allcaps-4xs": "head-heavy-allcaps-4xs",
+        }[value["style"]]
+        return context
+
+    class Meta:
+        label = "Headline"
+        icon = "bold"
+        template = "styleguide/2.3.x/blocks/headline_block.html"
+
+
+class TwoColumnBlock(blocks.StructBlock):
+    left_column_content = blocks.StreamBlock(
+        label="Obsah levého sloupce",
+        local_blocks=[
+            (
+                "text",
+                blocks.RichTextBlock(
+                    label="Textový editor", features=RICH_TEXT_DEFAULT_FEATURES
+                ),
+            ),
+            ("table", TableBlock(template="shared/blocks/table_block.html")),
+            ("card", CardBlock()),
+            ("figure", FigureBlock()),
+            ("youtube", YouTubeVideoBlock()),
+            ("map_point", MapPointBlock(label="Špendlík na mapě")),
+            ("map_collection", MapFeatureCollectionBlock(label="Mapová kolekce")),
+            ("button", ButtonBlock()),
+            ("button_group", ButtonGroupBlock()),
+        ],
+        required=True,
+    )
+    right_column_content = blocks.StreamBlock(
+        label="Obsah pravého sloupce",
+        local_blocks=[
+            (
+                "text",
+                blocks.RichTextBlock(
+                    label="Textový editor", features=RICH_TEXT_DEFAULT_FEATURES
+                ),
+            ),
+            ("table", TableBlock(template="shared/blocks/table_block.html")),
+            ("card", CardBlock()),
+            ("figure", FigureBlock()),
+            ("youtube", YouTubeVideoBlock()),
+            ("map_point", MapPointBlock(label="Špendlík na mapě")),
+            ("map_collection", MapFeatureCollectionBlock(label="Mapová kolekce")),
+            ("button", ButtonBlock()),
+            ("button_group", ButtonGroupBlock()),
+        ],
+        required=True,
+    )
+
+    class Meta:
+        label = "Dva sloupce"
+        icon = "grip"
+        template = "styleguide/2.3.x/blocks/two_column_block.html"
+
+
+class ThreeColumnBlock(blocks.StructBlock):
+    left_column_content = blocks.StreamBlock(
+        label="Obsah levého sloupce",
+        local_blocks=[
+            (
+                "text",
+                blocks.RichTextBlock(
+                    label="Textový editor", features=RICH_TEXT_DEFAULT_FEATURES
+                ),
+            ),
+            ("table", TableBlock(template="shared/blocks/table_block.html")),
+            ("card", CardBlock()),
+            ("figure", FigureBlock()),
+            ("youtube", YouTubeVideoBlock()),
+            ("map_point", MapPointBlock(label="Špendlík na mapě")),
+            ("map_collection", MapFeatureCollectionBlock(label="Mapová kolekce")),
+            ("button", ButtonBlock()),
+            ("button_group", ButtonGroupBlock()),
+        ],
+        required=True,
+    )
+    middle_column_content = blocks.StreamBlock(
+        label="Obsah prostředního sloupce",
+        local_blocks=[
+            (
+                "text",
+                blocks.RichTextBlock(
+                    label="Textový editor", features=RICH_TEXT_DEFAULT_FEATURES
+                ),
+            ),
+            ("table", TableBlock(template="shared/blocks/table_block.html")),
+            ("card", CardBlock()),
+            ("figure", FigureBlock()),
+            ("youtube", YouTubeVideoBlock()),
+            ("map_point", MapPointBlock(label="Špendlík na mapě")),
+            ("map_collection", MapFeatureCollectionBlock(label="Mapová kolekce")),
+            ("button", ButtonBlock()),
+            ("button_group", ButtonGroupBlock()),
+        ],
+        required=True,
+    )
+    right_column_content = blocks.StreamBlock(
+        label="Obsah pravého sloupce",
+        local_blocks=[
+            (
+                "text",
+                blocks.RichTextBlock(
+                    label="Textový editor", features=RICH_TEXT_DEFAULT_FEATURES
+                ),
+            ),
+            ("table", TableBlock(template="shared/blocks/table_block.html")),
+            ("card", CardBlock()),
+            ("figure", FigureBlock()),
+            ("youtube", YouTubeVideoBlock()),
+            ("map_point", MapPointBlock(label="Špendlík na mapě")),
+            ("map_collection", MapFeatureCollectionBlock(label="Mapová kolekce")),
+            ("button", ButtonBlock()),
+            ("button_group", ButtonGroupBlock()),
+        ],
+        required=True,
+    )
+
+    class Meta:
+        label = "Tři sloupce"
+        icon = "grip"
+        template = "styleguide/2.3.x/blocks/three_column_block.html"
+
+
+class ImageBannerBlock(blocks.StructBlock):
+    image = ImageChooserBlock(
+        label="Obrázek",
+        required=True,
+    )
+    headline = blocks.CharBlock(label="Headline", max_length=128, required=True)
+    content = blocks.StreamBlock(
+        label="Obsah pravého sloupce",
+        local_blocks=[
+            (
+                "text",
+                blocks.RichTextBlock(
+                    label="Textový editor",
+                    features=(
+                        "h2",
+                        "h3",
+                        "h4",
+                        "h5",
+                        "bold",
+                        "italic",
+                        "ol",
+                        "ul",
+                        "hr",
+                        "link",
+                        "document-link",
+                        "superscript",
+                        "subscript",
+                        "strikethrough",
+                        "blockquote",
+                    ),
+                ),
+            ),
+            ("button", ButtonBlock()),
+            ("button_group", ButtonGroupBlock()),
+        ],
+        required=False,
+    )
+
+    class Meta:
+        label = "Obrázkový banner"
+        icon = "image"
+        template = "styleguide/2.3.x/blocks/image_banner_block.html"
+
+
+class CardLinkBlockMixin(blocks.StructBlock):
+    """
+    Shared mixin for cards, which vary in templates and the types of pages
+    they're allowed to link to.
+    """
+
+    image = ImageChooserBlock(label="Obrázek")
+    title = blocks.CharBlock(label="Titulek", required=True)
+    text = blocks.RichTextBlock(label="Krátký text pod nadpisem", required=False)
+
+    page = blocks.PageChooserBlock(
+        label="Stránka",
+        page_type=[],
+        required=False,
+    )
+    link = blocks.URLBlock(label="Odkaz", required=False)
+
+    class Meta:
+        # template = ""
+        icon = "link"
+        label = "Karta s odkazem"
+
+    def clean(self, value):
+        errors = {}
+
+        if value["page"] and value["link"]:
+            errors["page"] = ErrorList(
+                ["Stránka nemůže být vybrána současně s odkazem."]
+            )
+            errors["link"] = ErrorList(
+                ["Odkaz nemůže být vybrán současně se stránkou."]
+            )
+        elif not value["page"] and not value["link"]:
+            errors["page"] = ErrorList(["Zvolte stránku nebo vyplňte odkaz."])
+            errors["link"] = ErrorList(["Vyplňte odkaz nebo zvolte stránku."])
+        if errors:
+            raise StructBlockValidationError(errors)
+        return super().clean(value)
+
+
+class CardLinkWithHeadlineBlockMixin(blocks.StructBlock):
+    headline = blocks.CharBlock(label="Titulek bloku", required=False)
+    card_items = blocks.ListBlock(CardLinkBlockMixin(), label="Karty s odkazy")
+
+    class Meta:
+        # template = ""
+        icon = "link"
+        label = "Karty odkazů s nadpisem"
+
+
+class ChartDataset(blocks.StructBlock):
+    label = blocks.CharBlock(
+        label="Označení zdroje dat",
+        max_length=120,
+    )
+
+    data = blocks.ListBlock(
+        blocks.IntegerBlock(),
+        label="Data",
+        default=[0],
+    )
+
+    class Meta:
+        label = "Zdroj dat"
+
+
+def get_redmine_projects():
+    projects = requests.get("https://redmine.pirati.cz/projects.json?limit=10000")
+
+    if projects.ok:
+        projects = projects.json()["projects"]
+    else:
+        projects = []
+
+    return [(project["id"], project["name"]) for project in projects]
+
+
+class ChartRedmineIssueDataset(blocks.StructBlock):
+    projects = blocks.MultipleChoiceBlock(
+        label="Projekty", choices=get_redmine_projects
+    )
+
+    is_open = blocks.BooleanBlock(
+        label="Jen otevřené",
+        required=False,
+    )
+    is_closed = blocks.BooleanBlock(
+        label="Jen uzavřené",
+        required=False,
+    )
+
+    created_on_min_date = blocks.DateBlock(label="Min. datum vytvoření", required=True)
+    created_on_max_date = blocks.DateBlock(label="Max. datum vytvoření", required=True)
+    updated_on = blocks.CharBlock(
+        label="Filtr pro datum aktualizace",
+        max_length=128,
+        help_text="Např. <=2023-01-01. Více informací na pi2.cz/redmine-api",
+        required=False,
+    )
+
+    issue_label = blocks.CharBlock(
+        label="Označení úkolů uvnitř grafu",
+        max_length=128,
+        required=True,
+    )
+
+    split_per_project = blocks.BooleanBlock(
+        label="Rozdělit podle projektu",
+        required=False,
+    )
+
+    only_grow = blocks.BooleanBlock(
+        label="Pouze růst nahoru",
+        required=False,
+    )
+
+    def _get_issues_url(
+        self, value, project_id: typing.Union[None, str, list[str]] = None
+    ):
+        url = "https://redmine.pirati.cz/issues.json"
+        params = [
+            ("sort", "created_on"),
+            ("limit", "100"),
+            (
+                "created_on",
+                f"><{value['created_on_min_date']}|{value['created_on_max_date']}",
+            ),
+        ]
+
+        if isinstance(project_id, str):
+            params.append(("project_id", project_id))
+        elif isinstance(project_id, list):
+            params.append(("project_id", ",".join(project_id)))
+
+        is_open = value.get("is_open", False)
+        is_closed = value.get("is_closed", False)
+
+        if is_open and is_closed:
+            params.append(("status_id", "*"))
+        elif is_open:
+            params.append(("status_id", "open"))
+        elif is_closed:
+            params.append(("status_id", "closed"))
+
+        if value.get("updated_on", "") != "":
+            params.append(("updated_on", value["updated_on"]))
+
+        is_first = True
+
+        for param_set in params:
+            param, param_value = param_set
+
+            url += "?" if is_first else "&"
+            url += f"{param}={urllib.parse.quote(param_value)}"
+
+            is_first = False
+
+        return url
+
+    def _get_parsed_issues(self, value, labels, issues_url) -> tuple:
+        issues_response = cache.get(f"redmine_{issues_url}")
+
+        if issues_response is None:
+            issues_response = requests.get(issues_url)
+            issues_response.raise_for_status()
+            issues_response = issues_response.json()
+
+            cache.set(
+                f"redmine_{issues_url}",
+                issues_response,
+                timeout=604800,  # 1 week
+            )
+
+        only_grow = value.get("only_grow", False)
+
+        collected_issues = issues_response["issues"]
+        offset = 0
+
+        while issues_response["total_count"] - offset > len(issues_response["issues"]):
+            offset += 100
+            url_with_offset = f"{issues_url}&offset={offset}"
+
+            issues_response = cache.get(f"redmine_{url_with_offset}")
+
+            if issues_response is None:
+                issues_response = requests.get(url_with_offset)
+                issues_response.raise_for_status()
+                issues_response = issues_response.json()
+
+                cache.set(
+                    f"redmine_{url_with_offset}",
+                    issues_response,
+                    timeout=604800,  # 1 week
+                )
+
+            collected_issues += issues_response["issues"]
+
+        ending_position = len(collected_issues) - 1
+
+        data = None
+
+        current_issue_count = 0
+        current_label = datetime.date.fromisoformat(
+            collected_issues[0]["created_on"].split("T")[0]
+        )
+
+        if not only_grow:
+            data = [0] * len(labels)
+
+            for position, issue in enumerate(
+                collected_issues
+            ):  # Assume correct sorting order
+                created_on_date = datetime.date.fromisoformat(
+                    issue["created_on"].split("T")[0]
+                )
+
+                if current_label != created_on_date or position == ending_position:
+                    data[
+                        labels.index(current_label)
+                    ] = current_issue_count  # Assume labels are unique
+                    current_label = created_on_date
+
+                    if position != ending_position:
+                        current_issue_count = 0
+                    else:
+                        data[labels.index(current_label)] = 1
+                        break
+
+                current_issue_count += 1
+        else:
+            data = []
+            issue_count_by_date = {}
+
+            for position, issue in enumerate(
+                collected_issues
+            ):  # Assume correct sorting order
+                created_on_date = datetime.date.fromisoformat(
+                    issue["created_on"].split("T")[0]
+                )
+
+                if current_label not in issue_count_by_date:
+                    issue_count_by_date[current_label] = 0
+
+                if current_label != created_on_date or position == ending_position:
+                    issue_count_by_date[
+                        current_label
+                    ] = current_issue_count  # Assume labels are unique
+                    current_label = created_on_date
+
+                    if position == ending_position:
+                        issue_count_by_date[current_label] = current_issue_count + 1
+                        break
+
+                current_issue_count += 1
+
+            previous_date = None
+
+            for date in labels:
+                if date not in issue_count_by_date:
+                    if previous_date is None:
+                        data.append(0)
+                        continue
+
+                    data.append(issue_count_by_date[previous_date])
+                    continue
+
+                data.append(issue_count_by_date[date])
+                previous_date = date
+
+        return data
+
+    def get_context(self, value) -> list:
+        context = super().get_context(value)
+
+        labels = []
+        datasets = []
+
+        for day_count in range(
+            (value["created_on_max_date"] - value["created_on_min_date"]).days + 1
+        ):
+            day = value["created_on_min_date"] + datetime.timedelta(days=day_count)
+            labels.append(day)
+
+        if value.get("split_per_project", False):
+            project_choices_lookup = dict(get_redmine_projects())
+
+            for project_id in value["projects"]:
+                issues_url = self._get_issues_url(value, project_id)
+
+                datasets.append(
+                    {
+                        "label": f"{value['issue_label']} - {project_choices_lookup[int(project_id)]}",
+                        "data": self._get_parsed_issues(value, labels, issues_url),
+                    }
+                )
+        else:
+            issues_url = self._get_issues_url(value, value["projects"])
+
+            datasets.append(
+                {
+                    "label": value["issue_label"],
+                    "data": self._get_parsed_issues(value, labels, issues_url),
+                }
+            )
+
+        labels = [date.strftime("%d. %m. %Y") for date in labels]
+
+        context["parsed_issue_labels"] = labels
+        context["parsed_issues"] = datasets
+
+        return context
+
+    class Meta:
+        label = "Zdroj dat z Redmine (úkoly vytvořené za den)"
+        help_text = (
+            "Po prvním otevření se bude stránka otevírat delší dobu, "
+            "zatímco se na pozadí načítají data do grafu. Poté bude "
+            "fungovat běžně."
+        )
+
+
+class ChartBlock(blocks.StructBlock):
+    title = blocks.CharBlock(
+        label="Název",
+        max_length=120,
+    )
+    chart_type = blocks.ChoiceBlock(
+        label="Typ",
+        choices=[
+            ("bar", "Graf se sloupci"),
+            ("horizontalBar", "Graf s vodorovnými sloupci"),
+            ("pie", "Koláčový graf"),
+            ("doughnut", "Donutový graf"),
+            ("polarArea", "Graf polární oblasti"),
+            ("radar", "Radarový graf"),
+            ("line", "Graf s liniemi"),
+        ],
+        default="bar",
+    )
+
+    hide_points = blocks.BooleanBlock(
+        label="Schovat body",
+        required=False,
+        help_text="Mění vzhled pouze u linových grafů.",
+    )
+
+    local_labels = blocks.ListBlock(
+        blocks.CharBlock(
+            max_length=40,
+            label="Skupina",
+        ),
+        default=[],
+        blank=True,
+        required=False,
+        collapsed=True,
+        label="Místně definované skupiny",
+    )
+    local_datasets = blocks.ListBlock(
+        ChartDataset(),
+        default=[],
+        blank=True,
+        required=False,
+        collapsed=True,
+        label="Místní zdroje dat",
+    )
+
+    redmine_issue_datasets = blocks.ListBlock(
+        ChartRedmineIssueDataset(label="Redmine úkoly"),
+        default=[],
+        blank=True,
+        required=False,
+        label="Zdroje dat z Redmine (úkoly)",
+        help_text=(
+            "Úkoly, podle doby vytvoření. Pokud definuješ "
+            "více zdrojů, datumy v nich musí být stejné."
+        ),
+    )
+
+    def clean(self, value):
+        result = super().clean(value)
+
+        redmine_issues_exist = len(value.get("redmine_issue_datasets", [])) != 0
+
+        if len(value.get("local_datasets", [])) != 0 and redmine_issues_exist:
+            raise ValidationError(
+                "Definuj pouze jeden typ zdroje dat - místní, nebo z Redmine."
+            )
+
+        if redmine_issues_exist:
+            min_date = value["redmine_issue_datasets"][0]["created_on_min_date"]
+            max_date = value["redmine_issue_datasets"][0]["created_on_max_date"]
+
+            if len(value["redmine_issue_datasets"]) > 1:
+                for dataset in value["redmine_issue_datasets"]:
+                    if (
+                        dataset["created_on_min_date"] != min_date
+                        or dataset["created_on_max_date"] != max_date
+                    ):
+                        raise ValidationError(
+                            "Maximální a minimální data všech zdrojů z Redmine musí být stejné"
+                        )
+
+        return result
+
+    def get_context(self, value, parent_context=None):
+        context = super().get_context(value, parent_context=parent_context)
+
+        datasets = []
+        labels = []
+
+        if len(value["local_datasets"]) != 0:
+            labels = value["local_labels"]
+
+            for dataset in value["local_datasets"]:
+                datasets.append(
+                    {
+                        "label": dataset["label"],
+                        "data": [item for item in dataset["data"]],
+                    }
+                )
+        elif len(value["redmine_issue_datasets"]) != 0:
+            for dataset_wrapper in value["redmine_issue_datasets"]:
+                redmine_context = ChartRedmineIssueDataset().get_context(
+                    dataset_wrapper
+                )
+
+                labels = redmine_context["parsed_issue_labels"]
+                datasets += redmine_context["parsed_issues"]
+
+        value["datasets"] = json.dumps(datasets)
+        value["labels"] = json.dumps([label for label in labels])
+
+        return context
+
+    class Meta:
+        # template = ""
+        label = "Graf"
+        icon = "form"
+        help_text = """Všechny položky zdrojů dat se chovají jako sloupce.
+Zobrazí se tolik definovaných sloupců, kolik existuje skupin."""
+
+
+class FooterLinksBlock(blocks.StructBlock):
+    label = blocks.CharBlock(label="Titulek zápatí", required=True)
+    items = blocks.ListBlock(
+        blocks.StructBlock(
+            [
+                ("url", blocks.URLBlock(label="Odkaz")),
+                ("text", blocks.CharBlock(label="Text v odkazu")),
+            ]
+        ),
+        label="Odkazy",
+        required=True,
+    )
+
+    class Meta:
+        label = "Seznam odkazů v zápatí"
+        icon = "list-ul"
+        template = "shared/blocks/footer_links_block.html"
+
+
+class NewsletterSubscriptionBlock(blocks.StructBlock):
+    list_id = blocks.CharBlock(label="ID newsletteru", required=True)
+    description = blocks.CharBlock(
+        label="Popis newsletteru",
+        required=True,
+        default="Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!",
+    )
+
+    class Meta:
+        label = "Formulář pro odebírání newsletteru"
+        icon = "form"
+        template = "shared/blocks/newsletter_subscription_block.html"
+
+
+DEFAULT_CONTENT_BLOCKS = [
+    (
+        "text",
+        blocks.RichTextBlock(
+            label="Textový editor", features=RICH_TEXT_DEFAULT_FEATURES
+        ),
+    ),
+    ("headline", HeadlineBlock()),
+    ("table", TableBlock(template="shared/blocks/table_block.html")),
+    ("gallery", GalleryBlock(label="Galerie")),
+    ("figure", FigureBlock()),
+    ("card", CardBlock()),
+    ("two_columns", TwoColumnBlock()),
+    ("three_columns", ThreeColumnBlock()),
+    ("youtube", YouTubeVideoBlock(label="YouTube video")),
+    ("map_point", MapPointBlock(label="Špendlík na mapě")),
+    ("map_collection", MapFeatureCollectionBlock(label="Mapová kolekce")),
+    ("button", ButtonBlock()),
+    ("button_group", ButtonGroupBlock()),
+    ("image_banner", ImageBannerBlock()),
+]
diff --git a/shared_legacy/blocks/main.py b/shared_legacy/blocks/main.py
new file mode 100644
index 0000000000000000000000000000000000000000..a2668a3ce404519250308266d30b0857598c47ce
--- /dev/null
+++ b/shared_legacy/blocks/main.py
@@ -0,0 +1,235 @@
+from wagtail import blocks
+from wagtail.blocks import (
+    CharBlock,
+    ListBlock,
+    PageChooserBlock,
+    RichTextBlock,
+    StructBlock,
+    TextBlock,
+    URLBlock,
+)
+from wagtail.documents.blocks import DocumentChooserBlock
+from wagtail.images.blocks import ImageChooserBlock
+
+from .base import MenuItemBlock as MenuItemBlockBase
+
+# Mixins (or used as such)
+
+
+PROGRAM_RICH_TEXT_FEATURES = [
+    "h3",
+    "h4",
+    "h5",
+    "bold",
+    "italic",
+    "ol",
+    "ul",
+    "hr",
+    "link",
+    "document-link",
+    "image",
+    "superscript",
+    "subscript",
+    "strikethrough",
+    "blockquote",
+    "embed",
+]
+
+
+class CTAMixin(StructBlock):
+    button_link = URLBlock(label="Odkaz tlačítka")
+    button_text = CharBlock(label="Text tlačítka")
+
+    class Meta:
+        icon = "doc-empty"
+        label = "Výzva s odkazem"
+
+
+class LinkBlock(StructBlock):
+    text = CharBlock(label="Název")
+    link = URLBlock(label="Odkaz")
+
+    class Meta:
+        icon = "link"
+        label = "Odkaz"
+
+
+# Navbar
+
+
+class MainMenuItemBlock(MenuItemBlockBase):
+    title = blocks.CharBlock(
+        label="Titulek",
+        help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.",
+        required=True,
+    )
+
+    class Meta:
+        label = "Položka v menu"
+
+
+class NavbarMenuItemBlock(CTAMixin):
+    class Meta:
+        label = "Tlačítko"
+        template = "styleguide2/includes/molecules/navbar/additional_button.html"
+
+
+class SocialLinkBlock(LinkBlock):
+    icon = CharBlock(
+        label="Ikona",
+        help_text="Seznam ikon - https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons <br/>"
+        "Název ikony zadejte bez tečky na začátku",
+    )  # TODO CSS class name or somthing better?
+
+    class Meta:
+        icon = "link"
+        label = "Odkaz"
+
+
+# Articles
+
+
+class NewsBlock(StructBlock):
+    title = CharBlock(
+        label="Titulek",
+        help_text="Nejnovější články se načtou automaticky",
+    )
+    description = TextBlock(label="Popis")
+
+    class Meta:
+        icon = "doc-full-inverse"
+        label = "Novinky"
+
+
+class ArticleQuoteBlock(StructBlock):
+    quote = CharBlock(label="Citace")
+    autor_name = CharBlock(label="Jméno autora")
+
+    class Meta:
+        icon = "user"
+        label = "Blok citace"
+        template = "styleguide2/includes/legacy/article_quote_block.html"
+
+
+class ArticleDownloadBlock(StructBlock):
+    file = DocumentChooserBlock(label="Stáhnutelný soubor")
+
+    class Meta:
+        icon = "user"
+        label = "Blok stáhnutelného dokumentu"
+        template = "styleguide2/includes/molecules/blocks/download_block.html"
+
+
+# People
+
+
+class TwoTextColumnBlock(StructBlock):
+    text_column_1 = RichTextBlock(label="První sloupec textu")
+    text_column_2 = RichTextBlock(label="Druhý sloupec textu")
+
+    class Meta:
+        icon = "doc-full"
+        label = "Text ve dvou sloupcích"
+
+
+class PersonContactBoxBlock(StructBlock):
+    title = CharBlock(label="Titulek")
+    image = ImageChooserBlock(label="Ikona")
+    subtitle = CharBlock(label="Podtitulek")
+
+    class Meta:
+        icon = "mail"
+        label = "Kontakty"
+
+
+class PersonContactBlock(StructBlock):
+    position = CharBlock(label="Název pozice", required=False)
+    # email, phone?
+    person = PageChooserBlock(
+        label="Osoba",
+        page_type=["main.MainPersonPage"],
+    )
+
+    class Meta:
+        icon = "user"
+        label = "Osoba s volitelnou pozicí"
+
+
+# Footer
+
+
+class OtherLinksBlock(StructBlock):
+    title = CharBlock(label="Titulek")
+    list = ListBlock(LinkBlock, label="Seznam odkazů s titulkem")
+
+    class Meta:
+        icon = "link"
+        label = "Odkazy"
+        template = "main/blocks/article_quote_block.html"
+
+
+class ProgramBlockPopout(StructBlock):
+    title = CharBlock(label="Titulek vyskakovacího bloku")
+    content = RichTextBlock(
+        label="Obsah",
+        features=PROGRAM_RICH_TEXT_FEATURES,
+    )
+
+    class Meta:
+        icon = "date"
+        label = "Blok programu"
+
+
+class ProgramPopoutCategory(StructBlock):
+    name = CharBlock(label="Název")
+    icon = ImageChooserBlock(label="Ikona", required=False)
+
+    description = RichTextBlock(label="Popis", required=False)
+
+    point_list = ListBlock(ProgramBlockPopout(), label="Jednotlivé bloky programu")
+
+    class Meta:
+        icon = "date"
+        label = "Kategorie programu"
+
+
+class ProgramGroupBlockPopout(StructBlock):
+    categories = ListBlock(ProgramPopoutCategory(), label="Kategorie programu")
+
+    class Meta:
+        icon = "date"
+        label = "Vyskakovací program"
+
+
+class FlipCardBlock(StructBlock):
+    bg_color = CharBlock(label="Barva pozadí", default="FEC900")
+
+    image = ImageChooserBlock(label="Obrázek", required=False)
+
+    title = TextBlock(label="Nadpis", help_text="Řádkování je manuální.")
+
+    content = RichTextBlock(label="Obsah")
+
+    button_text = CharBlock(
+        label="Nadpis tlačítka",
+        help_text="Pokud není vyplněn, tlačítko se neukáže.",
+        required=False,
+    )
+    button_url = CharBlock(label="Odkaz tlačítka", required=False)
+
+    class Meta:
+        icon = "view"
+        label = "Obracecí karta"
+        template = "styleguide2/includes/molecules/boxes/flip_card_box.html"
+
+
+class FlipCardsBlock(StructBlock):
+    cards = ListBlock(
+        FlipCardBlock(label="Karta"),
+        label="Karty",
+    )
+
+    class Meta:
+        icon = "group"
+        label = "Seznam obracecích karet"
+        template = "styleguide2/includes/organisms/cards/flip_card_list.html"
diff --git a/shared_legacy/const.py b/shared_legacy/const.py
new file mode 100644
index 0000000000000000000000000000000000000000..af05b79c185014f22cbe3d62bb9b14a2a83296bb
--- /dev/null
+++ b/shared_legacy/const.py
@@ -0,0 +1,34 @@
+RICH_TEXT_DEFAULT_FEATURES = [
+    "h2",
+    "h3",
+    "h4",
+    "h5",
+    "bold",
+    "italic",
+    "ol",
+    "ul",
+    "hr",
+    "link",
+    "document-link",
+    "image",
+    "superscript",
+    "subscript",
+    "strikethrough",
+    "blockquote",
+    "embed",
+]
+
+MONTH_NAMES = [
+    "Leden",
+    "Únor",
+    "Březen",
+    "Duben",
+    "Květen",
+    "Červen",
+    "Červenec",
+    "Srpen",
+    "Září",
+    "Říjen",
+    "Listopad",
+    "Prosinec",
+]
diff --git a/shared_legacy/feeds.py b/shared_legacy/feeds.py
new file mode 100644
index 0000000000000000000000000000000000000000..a60c7527b5a899145ba058ae68778eea302d10cc
--- /dev/null
+++ b/shared_legacy/feeds.py
@@ -0,0 +1,77 @@
+import typing
+from datetime import datetime
+
+from django.contrib.syndication.views import Feed
+from django.template.loader import render_to_string
+from django.urls import reverse
+
+
+class LatestArticlesFeed(Feed):
+    def __init__(self, articles_page_model, article_page_model, *args, **kwargs):
+        self.articles_page_model = articles_page_model
+        self.article_page_model = article_page_model
+
+        return super().__init__(*args, **kwargs)
+
+    def get_object(self, request, id: int):
+        return self.articles_page_model.objects.get(id=id)
+
+    def title(self, obj) -> str:
+        return obj.title
+
+    def link(self, obj) -> str:
+        return obj.get_full_url()
+
+    def description(self, obj) -> str:
+        return obj.perex
+
+    def items(self, obj) -> list:
+        return obj.materialize_shared_articles_query(
+            obj.append_all_shared_articles_query(
+                self.article_page_model.objects.child_of(obj)
+            )[:32]
+        )
+
+    def item_title(self, item) -> str:
+        return item.title
+
+    def item_description(self, item) -> str:
+        return render_to_string(
+            "styleguide2/feed_item_description.html",
+            {"item": item},
+        )
+
+    def item_pubdate(self, item) -> datetime:
+        return datetime(
+            item.date.year,
+            item.date.month,
+            item.date.day,
+            12,
+            0,
+        )
+
+    def item_author_name(self, item) -> str:
+        if item.author:
+            return item.author
+
+        if item.author_page and item.author_page.title:
+            return item.author_page.title
+
+        return ""
+
+    def item_categories(self, item) -> list:
+        return item.get_tags
+
+    def item_link(self, item) -> str:
+        return item.get_full_url()
+
+    def item_enclosure_url(self, item) -> typing.Union[None, str]:
+        if item.image is None:
+            return None
+
+        return item.image.get_rendition("format-webp").full_url
+
+    item_enclosure_mime_type = "image/webp"
+
+    def item_enclosure_length(self, item) -> int:
+        return item.image.file_size
diff --git a/shared_legacy/finders.py b/shared_legacy/finders.py
new file mode 100644
index 0000000000000000000000000000000000000000..d75fc41d30c6eebcaea45ad4f8951f2f2603fbb1
--- /dev/null
+++ b/shared_legacy/finders.py
@@ -0,0 +1,9 @@
+from wagtail.embeds.finders.oembed import OEmbedFinder
+
+
+class CustomPeertubeFinder(OEmbedFinder):
+    def _get_endpoint(self, url):
+        return "https://tv.pirati.cz/services/oembed"
+
+
+embed_finder_class = CustomPeertubeFinder
diff --git a/shared_legacy/forms.py b/shared_legacy/forms.py
new file mode 100644
index 0000000000000000000000000000000000000000..b9e90c8fd88acbdb3705287259401c0a14781354
--- /dev/null
+++ b/shared_legacy/forms.py
@@ -0,0 +1,70 @@
+from django import forms
+from wagtail.admin.forms import WagtailAdminPageForm
+from wagtail.models.media import Collection
+
+
+class SubscribeForm(forms.Form):
+    email = forms.EmailField()
+    confirmed = forms.BooleanField()
+    return_page_id = forms.IntegerField()
+
+
+class JekyllImportForm(WagtailAdminPageForm):
+    do_import = forms.BooleanField(
+        initial=False, required=False, label="Provést import z Jekyllu"
+    )
+    collection = forms.ModelChoiceField(
+        queryset=Collection.objects.all(), required=False, label="Kolekce obrázků"
+    )
+    dry_run = forms.BooleanField(
+        initial=True,
+        required=False,
+        label="Jenom na zkoušku",
+        help_text="Žádné články se neuloží, vypíše případné problémy či "
+        "již existující články - 'ostrému' importu existující "
+        "články nevadí, přeskočí je",
+    )
+    jekyll_repo_url = forms.URLField(
+        max_length=512,
+        required=False,
+        help_text="např. https://github.com/pirati-web/pirati.cz",
+    )
+    readonly_log = forms.CharField(
+        disabled=True,
+        label="Log z posledního importu",
+        required=False,
+        widget=forms.Textarea,
+    )
+
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        self.fields["readonly_log"].initial = self.instance.last_import_log
+
+    def clean(self):
+        cleaned_data = super().clean()
+
+        if not cleaned_data.get("do_import"):
+            return cleaned_data
+
+        if cleaned_data.get("do_import") and not self.instance.id:
+            self.add_error(
+                "do_import", "Import proveďte prosím až po vytvoření stránky"
+            )
+
+        if not cleaned_data.get("collection"):
+            self.add_error("collection", "Pro import je toto pole povinné")
+        if not cleaned_data.get("jekyll_repo_url"):
+            self.add_error("jekyll_repo_url", "Pro import je toto pole povinné")
+
+        if cleaned_data.get("jekyll_repo_url", "").endswith(".zip"):
+            self.add_error(
+                "jekyll_repo_url", "Vložte odkaz pouze na repozitář, ne na zip"
+            )
+
+        return cleaned_data
+
+    def save(self, commit=True):
+        if self.cleaned_data.get("do_import"):
+            self.handle_import()
+
+        return super().save(commit=commit)
diff --git a/shared_legacy/jekyll_import.py b/shared_legacy/jekyll_import.py
new file mode 100644
index 0000000000000000000000000000000000000000..58451065d958f3be37a862f0038afb1d4e8896b6
--- /dev/null
+++ b/shared_legacy/jekyll_import.py
@@ -0,0 +1,763 @@
+import json
+import logging
+import os
+import random
+import re
+import string
+import urllib
+import xml.etree.ElementTree as ET
+import zipfile
+from datetime import date, datetime
+from datetime import timezone as datetime_timezone
+from http.client import InvalidURL
+from io import StringIO
+from typing import List
+from urllib.error import HTTPError
+from uuid import uuid4
+
+import bleach
+import markdown.serializers
+import yaml
+from django.core.files.images import ImageFile
+from django.utils import timezone
+from markdown import Markdown
+from markdown.extensions import Extension
+from markdown.inlinepatterns import InlineProcessor
+from wagtail.contrib.redirects.models import Redirect
+from wagtail.images.models import Image
+from wagtail.models import Page
+from wagtail.models.media import Collection
+from willow.image import UnrecognisedImageFormatError
+from yaml.scanner import ScannerError
+
+logger = logging.getLogger(__name__)
+# from django.utils.dateparse import parse_date # pro hledani krome title i podle data
+
+image_params = {}  # filled on JekyllArticleImporter init and used globally
+
+POSTS_DIR = "_posts"
+
+# ------------------------------- Misc helper functions -------------------------------
+
+
+def clone_repo(url: str) -> (str, str):
+    """
+    Naclonuje repo do tmp s využitím gitu a vrátí cestu k němu.
+    Pokud URL končí lomítkem, odebereme ho, a vezmeme jako název repozitáře
+    string za posledním lomítkem jako název repa. To použijeme i pro promazání
+    takového adresáře, pokud už existuje.
+    """
+    path = "/tmp/"
+    if url.endswith("/"):
+        url = url[:-1]
+    repo_name = url.split("/")[-1]
+    repo_path = os.path.join(path, repo_name)
+
+    os.chdir(path)
+    if os.path.exists(repo_path):
+        os.chdir(repo_path)
+        os.system("git pull --depth 1")
+        return repo_path, repo_name
+
+    os.system("git clone --depth 1 {}".format(url))
+
+    return repo_path, repo_name
+
+
+def download_repo_as_zip(url: str) -> (str, str):
+    """
+    Stáhne .zip repa, extrahuje a vrátí cestu k extrahovanému repu.
+    Hodně nešikovné je, že extrahovaná složka má ještě suffix "-gh-pages"
+    a to nevím, jestli platí vždy... regex taky pro název repa také není optimální,
+    ale ve finále nehraje moc roli, pokud vrátí cokoliv použitelného pro file name.
+    """
+    path = "/tmp/"
+    repo_name = re.search("pirati-web/(.*)/archive/", url).group(1)
+    zip_path = "{}{}.zip".format(path, repo_name)
+
+    if os.path.exists(zip_path):
+        os.remove(zip_path)
+
+    urllib.request.urlretrieve(url, zip_path)
+
+    with zipfile.ZipFile(zip_path, "r") as zip_ref:
+        zip_ref.extractall(path)
+
+    # zdá se, že někdy je -gh-pages, někdy -master...
+    gh_pages_path = os.path.join(path, "{}-gh-pages".format(repo_name))
+    if os.path.exists(gh_pages_path):
+        return gh_pages_path, repo_name
+
+    master_path = os.path.join(path, "{}-master".format(repo_name))
+    if os.path.exists(master_path):
+        return master_path, repo_name
+
+    main_path = os.path.join(path, "{}-main".format(repo_name))
+    if os.path.exists(main_path):
+        return main_path, repo_name
+
+    raise NotImplementedError("Tento zip nedokážeme zpracovat.")
+
+
+def get_or_create_image(
+    path: str, file_path: str, collection, repo_name: str
+) -> Image or None:
+    """
+    Funkce, která se snaží najít a vrátit Wagtail Image.
+    Nejdříve hledá v existujících podle cesty, resp. title...
+    Pak zkusí najít soubor fyzicky na disku...
+    Pak zkusí ještě assets/img adresář...
+    Pak zkusí ještě assets/img/posts adresář...
+    Pak zkusí stáhnout image z https://a.pirati.cz...
+    Pak zkusí přidat do https://a.pirati.cz "posts"...
+    Pak se na to vykašle...
+
+    Šla by určitě rozsekat a začistit, ale vzhledem k tomu, že je to
+    one-timer, tak jsme to pouze dotáhli do stavu, kdy to schroupne co nejvíce
+    případů.
+    """
+
+    file_path = file_path.lstrip("/")
+
+    if Image.objects.filter(title=file_path).exists():
+        return Image.objects.filter(title=file_path).first(), ""
+
+    try:
+        file = ImageFile(open(os.path.join(path, file_path), "rb"), name=file_path)
+        image = Image(title=file_path, file=file, collection=collection)
+        if not image_params["dry_run"]:
+            image.save()
+        return image, ""
+    except (FileNotFoundError, UnrecognisedImageFormatError):
+        pass  # cesta pomocí file_path neexisuje, jdeme dál
+
+    try:
+        file = ImageFile(
+            open(os.path.join(path, "assets/img", file_path), "rb"),
+            name=file_path,
+        )
+        image = Image(title=file_path, file=file, collection=collection)
+        if not image_params["dry_run"]:
+            image.save()
+        return image, ""
+    except (FileNotFoundError, UnrecognisedImageFormatError):
+        pass  # cesta s vložením "assets/img" před file_path neexisuje, jdeme dál
+
+    try:
+        file = ImageFile(
+            open(os.path.join(path, "assets/img/posts", file_path), "rb"),
+            name=file_path,
+        )
+        image = Image(title=file_path, file=file, collection=collection)
+        if not image_params["dry_run"]:
+            image.save()
+        return image, ""
+    except (FileNotFoundError, UnrecognisedImageFormatError):
+        pass
+
+    # na disku jsme nenašli, zkusíme stáhnout z webu
+    fallback_name = (
+        "".join(random.choice(string.ascii_lowercase) for _ in range(10)) + ".jpg"
+    )  # někdy je název obrzau spojený s poznámkou apod., připravíme si fallback name
+    img_name = file_path.split("/")[-1] or fallback_name
+    img_path = os.path.join(path, img_name)
+
+    # zkusíme, jestli obrázek není hardcoded (posty ve zlinském kraji)
+    if file_path.startswith("https://"):
+        try:
+            urllib.request.urlretrieve(file_path, img_path)
+        except (HTTPError, UnicodeEncodeError, InvalidURL, IsADirectoryError):
+            msg = "Nedohledán obrázek při importu článků"
+            log_message = "{}: URL {}\n".format(msg, file_path)
+            logger.warning(
+                log_message,
+                extra={"img_name": img_name, "img_url": file_path},
+            )
+            return None, log_message
+
+    # v opačném případě jdeme zkusit assets server a.pirati.cz
+    else:
+        img_assets_folder = repo_name.split(".")[0]  # např. "praha" z praha.pirati.cz
+        img_url = "https://a.pirati.cz/resize/4000x-/{}/img/{}".format(
+            img_assets_folder, file_path.split("#")[0]  # cistime nazev od poznamek apod
+        )
+
+        try:
+            urllib.request.urlretrieve(img_url, img_path)
+        except (HTTPError, UnicodeEncodeError, InvalidURL, IsADirectoryError):
+            try:
+                # druhý pokus s "posts" přidáno do URL (obvykle je ve file_path)
+                img_url = "https://a.pirati.cz/resize/4000x-/{}/img/posts/{}".format(
+                    img_assets_folder, img_name.split()[0]
+                )
+                urllib.request.urlretrieve(img_url, img_path)
+            except (HTTPError, UnicodeEncodeError, InvalidURL, IsADirectoryError):
+                msg = "Nedohledán obrázek při importu článků - ani na disku, ani na URL"
+                log_message = "{}: cesta {}, URL {}\n".format(msg, file_path, img_url)
+
+                logger.warning(
+                    log_message,
+                    extra={
+                        "file_path": file_path,
+                        "img_name": img_name,
+                        "img_url": img_url,
+                    },
+                )
+
+                return None, log_message
+
+    file = ImageFile(open(img_path, "rb"), name=img_path)
+
+    try:
+        image = Image(title=file_path, file=file, collection=collection)
+    except UnrecognisedImageFormatError:
+        msg = "Obrázek byl nalezen, ale jeho formát nerozpoznán"
+        log_message = "{}: cesta {}\n".format(msg, file_path)
+
+        logger.warning(
+            log_message,
+            extra={
+                "file_path": file_path,
+            },
+        )
+
+        return None, log_message
+
+    if not image_params["dry_run"]:
+        try:
+            image.save()
+        except Exception as e:
+            msg = "Nelze uložit obrázek"
+            logger.warning(msg, extra={"exc": e})
+            return None, msg
+
+    return image, ""
+
+
+def get_path_and_repo_name(url: str, use_git: bool) -> (str, str):
+    """
+    Vrací cestu a název repozitáře podle toho zíksané různými způsoby,
+    podle toho jestli se jedná o odkaz na zip nebo na git.
+    """
+    if use_git:
+        return clone_repo(url)
+    else:
+        return download_repo_as_zip(url)
+
+
+def get_site_config(path) -> dict:
+    """
+    Vrací config Jekyll repa jako dict.
+    """
+    with open(os.path.join(path, "_config.yml")) as f:
+        config = yaml.safe_load(f.read())
+    return config
+
+
+def get_title_from_site_config(site_config: dict) -> str:
+    if "title" in site_config:
+        return " - " + site_config.get("title", "")
+    return ""
+
+
+def unmark_element(element, stream=None):
+    """
+    Očišťuje element (perex) od ostatních značek
+    """
+    if stream is None:
+        stream = StringIO()
+    if element.text:
+        stream.write(element.text)
+    for sub in element:
+        unmark_element(sub, stream)
+    if element.tail:
+        stream.write(element.tail)
+    return stream.getvalue()
+
+
+# -------------------  Setup markdown extensions and settings -----------------------
+
+
+class ImgProcessor(InlineProcessor):
+    def handleMatch(self, m, data):
+        el = ET.Element("embed")
+        el.attrib["embedtype"] = "image"
+        el.attrib["alt"] = m.group(1)
+        el.attrib["format"] = "left"
+
+        parsed_image_path = JekyllArticleImporter.get_parsed_file_path(m.group(2))
+        image_obj, _ = get_or_create_image(
+            path=image_params["path"],
+            file_path=parsed_image_path,
+            collection=image_params["collection"],
+            repo_name=image_params["repo_name"],
+        )
+
+        if not image_obj:
+            return None, m.start(0), m.end(0)
+
+        el.attrib["id"] = str(image_obj.pk)
+        return el, m.start(0), m.end(0)
+
+
+class ImgExtension(Extension):
+    def extendMarkdown(self, md):
+        IMG_PATTERN = r"!\[(.*?)\]\((.*?)\)"
+        md.inlinePatterns.register(ImgProcessor(IMG_PATTERN, md), "img", 175)
+
+
+# Wagtail to portrebuje
+# https://docs.wagtail.io/en/stable/extending/rich_text_internals.html#data-format
+markdown.serializers.HTML_EMPTY.add("embed")
+
+Markdown.output_formats["plain"] = unmark_element
+plain_md = Markdown(output_format="plain")
+plain_md.stripTopLevelTags = False
+
+html_md = Markdown(extensions=[ImgExtension()])
+params = {}
+
+
+# ------------------------------- Importer class -------------------------------
+
+
+class JekyllArticleImporter:
+    def __init__(
+        self,
+        article_parent_page_id: int,
+        article_parent_page_model,
+        collection_id: int,
+        url: str,
+        dry_run: bool,
+        use_git: bool,
+        page_model,
+    ):
+        self.page_model = page_model
+
+        # Params
+        self.article_parent_page_id = article_parent_page_id
+        self.article_parent_page_model = article_parent_page_model
+        self.collection = Collection.objects.get(id=collection_id)
+        self.dry_run = dry_run
+        self.use_git = use_git
+        self.url = url
+
+        # Computed proprs
+        import time
+
+        time.sleep(5)
+
+        self.article_parent_page = self.article_parent_page_model.objects.filter(
+            id=self.article_parent_page_id
+        ).first()
+
+        self.path, self.repo_name = get_path_and_repo_name(self.url, self.use_git)
+        self.site = self.article_parent_page.get_site()
+        self.site_config = get_site_config(self.path)
+
+        self.article_path = self.site_config.get("articlepath", None)
+        self.permalink = self.site_config.get("permalink", None)
+        self.title_suffix = get_title_from_site_config(self.site_config)
+
+        # Counters
+        self.success_counter = 0
+        self.exists_counter = 0
+        self.skipped_counter = 0
+
+        self.page_log = ""  # output saved on page instance
+
+        # Filling global var for ImgParser
+        image_params["path"] = self.path
+        image_params["collection"] = self.collection
+        image_params["repo_name"] = self.repo_name
+        image_params["dry_run"] = self.dry_run
+
+    def create_redirects(self, article, match):
+        y = match.group(1)
+        m = match.group(2)
+        d = match.group(3)
+        slug = match.group(4)
+
+        if self.article_path:  # asi jenom Ceske Budejovice
+            Redirect.objects.get_or_create(
+                site=self.site,
+                old_path="/%s/%s/%s/%s/%s"
+                % (self.article_path, y, m.zfill(2), d.zfill(2), slug),
+                defaults={"is_permanent": True, "redirect_page": article},
+            )
+
+        elif self.permalink:
+            Redirect.objects.get_or_create(
+                site=self.site,
+                old_path=self.permalink.replace(":title", slug),
+                defaults={"is_permanent": True, "redirect_page": article},
+            )
+
+    def create_summary_log(self):
+        """
+        Podle (aktuálních) hodnot counterů přidá do self.page_log
+        různé zprávy pro uživatele.
+        """
+        self.page_log += "==================================\n"
+
+        if self.success_counter:
+            base_msg = "Úspěšně otestováno" if self.dry_run else "Úspěšně naimportováno"
+            self.page_log += "{} {} článků\n".format(base_msg, self.success_counter)
+
+        if self.exists_counter:
+            self.page_log += "z toho {} již existovalo\n".format(self.exists_counter)
+
+        if self.skipped_counter:
+            self.page_log += "NELZE importovat {} článků\n".format(self.skipped_counter)
+
+        self.article_parent_page.last_import_log = self.page_log
+        self.article_parent_page.save_revision()
+
+    @staticmethod
+    def get_parsed_file_path(path: str):
+        """
+        Získá cestu z proměnné v "{{ }}" závorkách
+        """
+        if "{{" in path:
+            try:
+                parsed_path = path.split("{{")[1].split("|")[0].split("'")[1]
+            except IndexError:
+                parsed_path = path.split("{{")[1].split("|")[0].split('"')[1]
+            return parsed_path
+        else:
+            return path
+
+    @staticmethod
+    def get_perex(text):
+        text = re.split(r"^\s*$", text.strip(), flags=re.MULTILINE)[0]
+        return plain_md.convert(text)
+
+    def handle_content(self, article, meta: dict, html: str):
+        """
+        Převádí naparsované html do stremfieldů.
+        Pokud meta info článku obsahuje "fancybox" - tzn. v článku je galerie,
+        tak nejdříve očistíme HTML od for loopů galerie a podtom
+        v "self.handle_fancybox_gallery" získáme JSON data pro GalleryBlock
+        z ArticleMixinu.
+        Pokud článek galerii nemá (drtivá většina), tak uložíme jako
+        RichText (block type text).
+        """
+        if meta.get("fancybox", None):
+            # Galerie josu v HTML ve formě dvou "{% for" tagů,
+            # ty potřebujeme zahodit z texxtu
+            html = re.sub(
+                "{% for(.*?){% for(.*?){% endfor %}(.*?){% endfor %}",
+                "",
+                html,
+                flags=re.DOTALL,
+            )
+
+            if "{% for" in html:  # pro případ, že by byl jenom jeden
+                html = re.sub("{% for(.*?){% endfor %}", "", html, flags=re.DOTALL)
+
+            text_data_dict = {"type": "text", "value": html}
+            gallery_data_dict = self.handle_fancybox_gallery(article, meta)
+            article.content = json.dumps([text_data_dict, gallery_data_dict])
+        else:
+            text_data_dict = {"type": "text", "value": html}
+            article.content = json.dumps([text_data_dict])
+
+    def handle_fancybox_gallery(self, article, meta: dict) -> dict:
+        for gallery in meta["fancybox"]:
+            # gallery by měl být dict s name a img
+            gallery_name = gallery.get("name", "")
+            gallery_images = gallery.get("img", []) or []
+
+            if not len(gallery_images):
+                self.page_log += (
+                    "{} Nepodařilo se získat obrázky v galerii {}\n".format(
+                        article.title, gallery_name
+                    )
+                )
+                continue
+
+            wagtail_image_list = []
+            for img in gallery_images:
+                if not img.get("src"):
+                    self.page_log += (
+                        '{}: Obrázek {} v galerii namá atribut "src" \n'.format(
+                            article.title, img.get("title", "")
+                        )
+                    )
+                    continue
+
+                wagtail_image, log_message = get_or_create_image(
+                    self.path, img["src"], self.collection, self.repo_name
+                )
+                wagtail_image_list.append(wagtail_image)
+
+                if log_message:
+                    self.page_log += "{}: {}".format(article.title, log_message)
+
+            data = {
+                "type": "gallery",
+                "value": {"gallery_items": []},
+                "id": str(uuid4()),
+            }
+
+            if not wagtail_image_list:
+                return data
+
+            for image in wagtail_image_list:
+                data["value"]["gallery_items"].append(
+                    {"type": "item", "value": image.id, "id": str(uuid4())}
+                )
+
+            return data
+
+    @staticmethod
+    def handle_meta_is_str(meta: str) -> dict:
+        """
+        Snaží se vyřešit situaci, že meta se nenaparsovala na dict, ale na string,
+        kde je sice klíč:hodnota, ale další klíč následuje za mezerou po předchozí
+        hodnotě.
+        Iteruju teda přes rozesekaný string přes dvojtečky, ale každá value kromě
+        poslední (viz if idx == len(string_parts) - 2) má za poslední mezerou klíč
+        pro další hodnotu. Takže položku z další iterace splitnu přes mezery,
+        spojím všechny kromě poslední do value a tu přiřadím klíči z aktuální iterace.
+        Poslední položka iterace už je samotná value, takže tam handluju jinak.
+        Protože sahám na +1, tak hlídám číslo iterace pro přeskočení poslední (kde
+        už je položka iterace pouze value bez key, takže jí beru
+        v před-předposlední...).
+        """
+        logger.info(
+            "Meta se neparsuje na dict, ale na str - zkouším složitější parse",
+            extra={"article_meta": meta},
+        )
+        string_parts = meta.split(":")
+        meta_dict = {}
+        for idx, part in enumerate(string_parts):
+            if idx == len(string_parts) - 1:
+                break
+
+            key = part.split()[-1]
+            if idx == len(string_parts) - 2:
+                value = string_parts[idx + 1]
+            else:
+                value = " ".join(string_parts[idx + 1].split()[0:-1])
+            meta_dict.update({key: value})
+        return meta_dict
+
+    def handle_tags(self, article, meta):
+        article.tags.clear()
+        tags = meta.get("tags", []) or []  # někdy jsou tags None
+
+        if type(tags) == str:  # někdy jsou tags str
+            if "\n" in tags:
+                tags = tags.split("\n")
+            elif " " in tags:
+                tags = tags.split()
+            else:
+                tags = [tags]
+
+        for tag_name in tags:
+            try:
+                article.tags.add(tag_name)
+            except ValueError:
+                try:
+                    article.tags.add(str(tag_name))
+                except Exception:
+                    msg = "Nelze importovat tag"
+                    logger.warning(msg, extra={"tag": tag_name})
+                    self.page_log += "{} - {}\n".format(msg, tag_name)
+
+        article.save_revision()
+
+    def import_post(self, file_path):
+        with open(os.path.join(self.path, file_path), "rt") as f:
+            r = re.split(r"^---\s*$", f.read(), maxsplit=3, flags=re.MULTILINE)
+        try:
+            meta = yaml.safe_load(r[1].replace("\t", ""))
+        except (ScannerError, ValueError, IndexError):
+            msg = "Nelze importovat článek - neparsovatelný YAML"
+            logger.warning(msg, extra={"file_path": file_path})
+            self.page_log += "{} - {}\n".format(msg, file_path)
+            self.skipped_counter += 1
+            return None
+
+        if isinstance(meta, str):  # pokud se špatně naparsovalo meta (není dict)
+            meta = self.handle_meta_is_str(meta)
+
+        try:
+            title = meta["title"]
+        except TypeError:
+            msg = "Nelze importovat článek - nepodařilo se získat title"
+            logger.warning(msg, extra={"article_meta": meta})
+            self.page_log += "{} - {}\n".format(msg, meta)
+            self.skipped_counter += 1
+            return None
+
+        try:
+            article = (
+                self.article_parent_page.get_descendants().get(title=title).specific
+            )
+            self.exists_counter += 1
+        except (Page.DoesNotExist, Page.MultipleObjectsReturned):
+            article = self.page_model()
+
+        md = r[2]  # "raw" markdown z postu
+        html = html_md.convert(md)
+        # očistíme o případné nechtěné HTML tagy
+        html = bleach.clean(
+            html, tags=list(bleach.sanitizer.ALLOWED_TAGS) + ["div", "p"]
+        )
+
+        article.perex = self.get_perex(md) or "..."
+        self.handle_content(article, meta, html)
+
+        if meta.get("date", None):
+            meta_date = meta["date"]
+
+            if isinstance(meta_date, date):
+                article.timestamp = datetime(
+                    meta_date.year, meta_date.month, meta_date.day
+                ).replace(tzinfo=datetime_timezone.utc)
+            else:
+                parsed_date = meta["date"].split()[0]
+
+                if parsed_date:
+                    article.timestamp = datetime.strptime(
+                        parsed_date[0:10], "%Y-%m-%d"
+                    ).replace(tzinfo=datetime_timezone.utc)
+                else:
+                    log_message = (
+                        "Článek {} má nesprávné datum: {}, nastavuji dnešní".format(
+                            title, meta["date"]
+                        )
+                    )
+
+                    logger.warning(log_message)
+                    self.page_log += "{} - {}\n".format(log_message, meta)
+
+                    article.timestamp = timestamp.now()
+        else:
+            filename = os.path.basename(file_path)
+
+            parsed_date = "-".join(filename.split("-")[:3])
+
+            if parsed_date:
+                article.timestamp = datetime.strptime(parsed_date, "%Y-%m-%d").replace(
+                    tzinfo=datetime_timezone.utc
+                )
+            else:
+                log_message = (
+                    "Článek {} má nesprávné datum: {}, nastavuji dnešní".format(
+                        title, meta["date"]
+                    )
+                )
+
+                logger.warning(log_message)
+                self.page_log += "{} - {}\n".format(log_message, meta)
+
+        article.title = meta["title"]
+        article.author = meta.get("author", "Česká pirátská strana")
+
+        article.seo_title = article.title + self.title_suffix
+        article.search_description = meta.get("description", "")
+
+        if meta.get("image", None):
+            article.image, log_message = get_or_create_image(
+                self.path, meta["image"], self.collection, self.repo_name
+            )
+            if log_message:
+                self.page_log += "{}: {}".format(article.title, log_message)
+
+        if self.dry_run:
+            return article
+
+        try:
+            if not article.id:
+                self.article_parent_page.add_child(instance=article)
+
+            logger.info("Vytvářím článek: %s" % article)
+            rev = article.save_revision()
+
+            if meta.get("published", True):
+                rev.publish()
+        except Exception as e:
+            msg = "Nelze uložit importovaný článek"
+            logger.warning(
+                msg,
+                extra={"article_title": article.title, "exception": e},
+            )
+            self.page_log += "{} - {} - {}\n".format(msg, article.title, e)
+            self.skipped_counter += 1
+            return article
+
+        self.handle_tags(article, meta)
+
+        self.success_counter += 1
+        return article
+
+    def perform_import(self) -> "List[dict]":
+        """
+        Projde adresář článků a pokusí se zprocesovat Markdown do article.
+        Vrací list dict pro django messages (klíč levelu, text).
+        Začne vyčištěním logu.
+        """
+
+        try:
+            self.article_parent_page.last_import_log = ""
+            self.article_parent_page.save()
+
+            msg = "{} Import započat".format(datetime.now())
+            logger.info(msg)
+            self.page_log += "{}\n\n".format(msg)
+
+            for file_name in os.listdir(os.path.join(self.path, POSTS_DIR)):
+                # Případ podsložek (typicky po jednotlivých letech)
+                if os.path.isdir(os.path.join(self.path, POSTS_DIR, file_name)):
+                    posts_sub_folder = os.path.join(self.path, POSTS_DIR, file_name)
+                    for sub_file_name in os.listdir(posts_sub_folder):
+                        file_path = os.path.join(posts_sub_folder, sub_file_name)
+                        self.process_article(sub_file_name, file_path)
+                # Případ všech článků v jedné složce
+                else:
+                    file_path = os.path.join(POSTS_DIR, file_name)
+                    self.process_article(file_name, file_path)
+
+            msg = "{} Import ukončen".format(datetime.now())
+            logger.info(msg)
+            self.page_log += "{}\n\n".format(msg)
+
+            self.create_summary_log()
+        finally:
+            import_lock_filename = f"/tmp/.{self.article_parent_page_id}.import-lock"
+
+            if os.path.exists(import_lock_filename):
+                os.remove(import_lock_filename)
+
+    def process_article(self, file_name: str, file_path: str):
+        match = re.match(r"(\d*)-(\d*)-(\d*)-(.*)\.(.*)", file_name)
+        if match:
+            ext = match.group(5)
+
+            if ext == "md":
+                article = self.import_post(file_path)
+
+                if self.dry_run or not article:
+                    return
+
+                try:
+                    article.save()  # ujistím se, že mám "redirect_page" pro Redirect uloženou
+                    self.create_redirects(article, match)
+                except Exception as e:
+                    msg = "{}: nelze uložit - {}".format(article.title, e)
+                    logger.error(msg)
+                    self.page_log += "{}\n".format(msg)
+                    self.skipped_counter += 1
+            else:
+                msg = "Nepodporovaná přípona souboru: %s" % ext
+                logger.warning(msg)
+                self.page_log += "{}\n".format(msg)
+                self.skipped_counter += 1
+        else:
+            msg = "Přeskočeno: %s" % file_name
+            logger.warning(msg)
+            self.page_log += "{}\n".format(msg)
+            self.skipped_counter += 1
diff --git a/shared_legacy/models.py b/shared_legacy/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..90da1ea5a5448d3b0584ca0f310e15bceda02aae
--- /dev/null
+++ b/shared_legacy/models.py
@@ -0,0 +1,987 @@
+import logging
+from collections import namedtuple
+from enum import Enum
+from functools import reduce
+from urllib.parse import quote
+
+from django.apps import apps
+from django.core.paginator import Paginator
+from django.db import models
+from django.db.models import Q
+from django.db.models.expressions import F, Subquery, Value
+from django.http import Http404
+from django.utils import timezone
+from modelcluster.fields import ParentalKey, ParentalManyToManyField
+from taggit.models import ItemBase, Tag, TagBase
+from wagtail.admin.panels import FieldPanel, MultiFieldPanel, PublishingPanel
+from wagtail.documents.models import Document
+from wagtail.fields import StreamField
+from wagtail.models import Page
+from wagtail.search import index
+
+from shared.blocks import (
+    DEFAULT_CONTENT_BLOCKS,
+    FooterLinksBlock,
+    MenuItemBlock,
+    MenuParentBlock,
+)
+
+logger = logging.getLogger(__name__)
+
+
+class SubpageMixin:
+    """Must be used in class definition before MetadataPageMixin!"""
+
+    @property
+    def root_page(self):
+        if not hasattr(self, "_root_page"):
+            # vypada to hackove ale lze takto pouzit: dle dokumentace get_ancestors
+            # vraci stranky v poradi od rootu, tedy domovska stranka je druha v poradi
+            self._root_page = self.get_ancestors().specific()[1]
+        return self._root_page
+
+    def get_meta_image(self):
+        return self.search_image or self.root_page.get_meta_image()
+
+
+class ArticleMixin(models.Model):
+    """
+    Common fields for articles.
+
+    Must be used in class definition before MetadataPageMixin!
+
+    If you want to tag articles, add tags as `tags` field in article page model.
+    """
+
+    ### FIELDS
+
+    content = StreamField(
+        DEFAULT_CONTENT_BLOCKS,
+        verbose_name="Článek",
+        blank=True,
+        use_json_field=True,
+    )
+    timestamp = models.DateTimeField("Datum a čas", default=timezone.now)
+    perex = models.TextField("perex")
+    author = models.CharField("autor", max_length=250, blank=True, null=True)
+    image = models.ForeignKey(
+        "wagtailimages.Image",
+        on_delete=models.PROTECT,
+        blank=True,
+        null=True,
+        verbose_name="obrázek",
+    )
+    """
+    Hidden field describing the source of shared articles, can be of values "district", "uniweb", "elections"
+    or "main", depending on from which type of site this article was shared from
+    """
+    shared_type = models.TextField(null=True, blank=True)
+    """
+    Hidden field which links to a Page model of ArticlesMixin page to which this article was shared.
+    Example: DistrictArticlesPage has shared tag "main", which this article shares as well -> shared_from will contain a reference to DistrictArticlesPage
+    """
+    shared_from = models.ForeignKey(
+        Page,
+        null=True,
+        blank=True,
+        related_name="+",
+        on_delete=models.PROTECT,
+    )
+
+    search_fields = Page.search_fields + [
+        index.SearchField("title"),
+        index.SearchField("author"),
+        index.SearchField("perex"),
+        index.SearchField("content"),
+    ]
+
+    ### PANELS
+
+    content_panels = Page.content_panels + [
+        FieldPanel("timestamp"),
+        FieldPanel("perex"),
+        FieldPanel("content"),
+        FieldPanel("author"),
+        FieldPanel("image"),
+    ]
+
+    settings_panels = [PublishingPanel()]
+
+    class Meta:
+        abstract = True
+
+    @property
+    def get_original_url(self):
+        return self.full_url
+
+    @property
+    def get_no_index(self):
+        """
+        Indicates that a link to self should contain rel="noindex"
+        """
+        return self.shared_from is not None
+
+    @property
+    def get_rel(self):
+        """
+        Returns "rel" property for a link to this article
+        """
+        return "rel=noindex" if self.get_no_index else ""
+
+    @property
+    def date(self):
+        """
+        Returns the date of this article's timestamp.
+        """
+
+        return self.timestamp.date()
+
+    def get_url(self, request=None):
+        # 'request' kwarg for Wagtail compatibility
+
+        if self.shared_from is not None:
+            return f"{self.shared_from.url}sdilene?sdilene={quote(self.slug)}"
+        return self.url
+
+    def get_full_url(self, request=None):
+        # 'request' kwarg for Wagtail compatibility
+
+        if self.shared_from is not None:
+            return f"{self.shared_from.full_url}sdilene?sdilene={quote(self.slug)}"
+        return self.full_url
+
+    @property
+    def articles_page(self):
+        """
+        Returns articles page on which this article is displayed
+        """
+        return (
+            self.shared_from.get_specific()
+            if self.shared_from
+            else self.get_parent().get_specific()
+        )
+
+    @property
+    def root_page(self):
+        """
+        Returns root page of article, or a root page of Articles page to which this article was shared
+        """
+        if self.shared_from is None:
+            return self.get_parent().get_ancestors().specific().live().last()
+
+        return self.shared_from.get_specific().root_page
+
+    @property
+    def get_tags(self):
+        """
+        Returns all tags, including tags of shared articles from another site
+        """
+        if self.shared_from is not None:
+            return self.articles_page.search_tags_by_unioned_id_query([self])
+        return self.tags.all()
+
+    @classmethod
+    def has_tags(cls):
+        try:
+            cls._meta.get_field("tags")
+        except models.FieldDoesNotExist:
+            return False
+        return True
+
+    def get_meta_image(self):
+        if hasattr(self, "search_image") and self.search_image:
+            return self.search_image
+        return self.image
+
+    def get_meta_description(self):
+        if hasattr(self, "search_description") and self.search_description:
+            return self.search_description
+        return self.perex
+
+
+class MenuMixin(Page):
+    menu = StreamField(
+        [("menu_item", MenuItemBlock()), ("menu_parent", MenuParentBlock())],
+        verbose_name="Menu",
+        blank=True,
+        use_json_field=True,
+    )
+
+    menu_panels = [
+        MultiFieldPanel(
+            [
+                FieldPanel("menu"),
+            ],
+            heading="Nastavení menu",
+        ),
+    ]
+
+    class Meta:
+        abstract = True
+
+
+class ExtendedMetadataHomePageMixin(models.Model):
+    """Use for site home page to define metadata title suffix.
+
+    Must be used in class definition before MetadataPageMixin!
+    """
+
+    title_suffix = models.CharField(
+        "Přípona titulku stránky",
+        max_length=100,
+        blank=True,
+        null=True,
+        help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud "
+        "je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte "
+        "'MS Pardubice | Piráti', výsledný titulek bude "
+        "'Kontakt | MS Pardubice | Piráti'. Pokud příponu nevyplníte, použije "
+        "se název webu.",
+    )
+
+    class Meta:
+        abstract = True
+
+    def get_meta_title_suffix(self):
+        if self.title_suffix:
+            return self.title_suffix
+
+        if hasattr(super(), "get_meta_title"):
+            return super().get_meta_title()
+
+        return self.get_site().site_name
+
+    def get_meta_title(self):
+        title = super().get_meta_title()
+        suffix = self.get_meta_title_suffix()
+
+        # Covers scenario when title_suffix is not set and evaluates to super().get_meta_title() value.
+        # Rather than having MS Pardubice | MS Pardubice, just use MS Pardubice alone.
+        if title != suffix:
+            return f"{super().get_meta_title()} | {self.get_meta_title_suffix()}"
+
+        return title
+
+
+class ExtendedMetadataPageMixin(models.Model):
+    """Use for pages except for home page to use shared metadata title suffix.
+
+    There are few rules on how to use this:
+
+    - Do not forget to list ExtendedMetadataHomePageMixin among ancestors of the related HomePage class.
+    - Must be used in class definition before MetadataPageMixin.
+    - Expects SubpageMixin or equivalent exposing `root_page` property to be used for the page too.
+    """
+
+    class Meta:
+        abstract = True
+
+    def get_meta_title_suffix(self):
+        if not hasattr(self, "root_page"):
+            logger.warning(
+                "Using `ExtendedMetadataPageMixin` without `SubpageMixin` for %s",
+                repr(self),
+            )
+            return None
+
+        if not hasattr(self.root_page, "get_meta_title_suffix"):
+            logger.warning(
+                "Using `ExtendedMetadataPageMixin` without `ExtendedMetadataHomePageMixin` on the root page for %s",
+                repr(self),
+            )
+            return None
+
+        return self.root_page.get_meta_title_suffix()
+
+    def get_meta_title(self):
+        suffix = self.get_meta_title_suffix()
+
+        if not suffix:
+            return super().get_meta_title()
+
+        return f"{super().get_meta_title()} | {self.get_meta_title_suffix()}"
+
+
+class FooterMixin(models.Model):
+    footer_links = StreamField(
+        [
+            ("footer_links", FooterLinksBlock()),
+        ],
+        verbose_name="Odkazy v zápatí webu",
+        blank=True,
+        max_num=1,
+        use_json_field=True,
+    )
+
+    class Meta:
+        abstract = True
+
+
+class SharedTag(TagBase):
+    class Meta:
+        verbose_name = "sdílený tag"
+        verbose_name_plural = "sdílené tagy"
+
+
+class SharedArticlesPageType(Enum):
+    DISTRICT = "district"
+    UNIWEB = "uniweb"
+    MAIN = "main"
+    ELECTIONS = "elections"
+
+
+class ArticlesMixin:
+    def get_shared_tags(self):
+        """
+        Relies on property articles_page being present within the child page, returns shared tags field
+        """
+        return (
+            self.articles_page.shared_tags
+            if self.articles_page is not None
+            else SharedTag.objects.none()
+        )
+
+    def merge_dict(self, aDict: dict, bDict: dict):
+        """
+        Utility for efficiently merging dict objects in lambda queries
+        """
+        aDict.update(bDict)
+        return aDict
+
+    def determine_page_type(self):
+        """
+        Determines which article type to use based on the module from which this method is run from
+        """
+        if self._meta.app_label == "district":
+            return SharedArticlesPageType.DISTRICT
+        elif self._meta.app_label == "uniweb":
+            return SharedArticlesPageType.UNIWEB
+        elif self._meta.app_label == "main":
+            return SharedArticlesPageType.MAIN
+        elif self._meta.app_label == "elections":
+            return SharedArticlesPageType.ELECTIONS
+
+    def evaluate_page_query(self, results):
+        """
+        Utility for merging and materializing articles query to prevent duplicities.
+        Prefers original articles as opposed to shared ones (if we share an article to the same web that it originates from)
+        """
+        return list(
+            reduce(
+                lambda unique, item: unique
+                if item["union_page_ptr_id"] in unique
+                and "union_shared_from_id" in item
+                and item["union_shared_from_id"] is not None
+                else self.merge_dict(unique, {item["union_page_ptr_id"]: item}),
+                list(results),
+                {},
+            ).values()
+        )
+
+    def unique_articles_by_id(self, results):
+        """
+        Utility creating an unique results list with preference for non-shared articles
+        Prefers original articles as opposed to shared ones (if we share an article to the same web that it originates from)
+        """
+        return list(
+            reduce(
+                lambda unique, item: unique
+                if item.page_ptr.id in unique and item.shared_from is not None
+                else self.merge_dict(unique, {item.page_ptr.id: item}),
+                results,
+                {},
+            ).values()
+        )
+
+    def create_base_shared_query(self, query, original_query):
+        """
+        Returns a query filtered by shared tags,
+        Filters out page ids that would be duplicates of original query (shared articles dispayed on the same page)
+        """
+        filtered_query = (
+            query.filter(
+                ~Q(page_ptr_id__in=Subquery(original_query.values("page_ptr_id"))),
+                shared_tags__slug__in=self.get_shared_tags().values_list(
+                    "slug", flat=True
+                ),
+            )
+            if isinstance(original_query, models.QuerySet)
+            else (
+                query.filter(
+                    ~Q(
+                        page_ptr_id__in=list(
+                            map(lambda article: article.pk, original_query)
+                        )
+                    ),
+                    shared_tags__slug__in=self.get_shared_tags().values_list(
+                        "slug", flat=True
+                    ),
+                )
+                if original_query is not None
+                else query.filter(
+                    shared_tags__slug__in=self.get_shared_tags().values_list(
+                        "slug", flat=True
+                    ),
+                )
+            )
+        )
+        return filtered_query.live().specific()
+
+    def append_all_shared_articles_query(
+        self,
+        previous_query: models.QuerySet | None = None,
+        custom_article_query=None,
+    ):
+        """
+        Creates articles query with shared articles as well as articles pre-selected by previous_query parameter
+        Returns an unionized query with .values() being applied on it. Unionized queries cannot be annotated or filtered.
+        If you wish to run annotation or additional filters, use custom_article_query param. This parameter accepts lambdas with
+        two parameters: shared article query (before unionizing) and shared articles enum, denoting the origin of shared articles
+        """
+        # To prevent circular deps, we get class models during runtime
+        DistrictArticlePage = apps.get_model(app_label="district.DistrictArticlePage")
+        UniwebArticlePage = apps.get_model(app_label="uniweb.UniwebArticlePage")
+        MainArticlePage = apps.get_model(app_label="main.MainArticlePage")
+        ElectionsArticlePage = apps.get_model(
+            app_label="elections.ElectionsArticlePage"
+        )
+
+        page_type = self.determine_page_type()
+
+        # In order to balance union() requirements for tables with same-fields only, we are adding null fields using values(). These values must be in correct order
+        main_meta_fields = MainArticlePage._meta.fields
+        elections_meta_fields = ElectionsArticlePage._meta.fields
+        district_meta_fields = DistrictArticlePage._meta.fields
+        uniweb_meta_fields = UniwebArticlePage._meta.fields
+
+        # dictionary of class types of fields, assumes that a field cannot have a different type in each web
+        fields_dict = reduce(
+            lambda class_dict, field: self.merge_dict(
+                class_dict, {f"union_{field.column}": field}
+            ),
+            [
+                *main_meta_fields,
+                *elections_meta_fields,
+                *district_meta_fields,
+                *uniweb_meta_fields,
+            ],
+            {},
+        )
+
+        fields_reducer = (
+            lambda assigned, field: assigned
+            if field.column == "shared_from_id" or field.column == "shared_type"
+            else self.merge_dict(assigned, {f"union_{field.column}": F(field.column)})
+        )
+        setup_fields_order = lambda orderBy, orderFrom: reduce(
+            lambda orderTo, field: self.merge_dict(orderTo, {field: orderFrom[field]}),
+            orderBy.keys(),
+            {},
+        )
+
+        district_only_fields = reduce(fields_reducer, district_meta_fields, {})
+        uniweb_only_fields = reduce(fields_reducer, uniweb_meta_fields, {})
+        main_only_fields = reduce(fields_reducer, main_meta_fields, {})
+        elections_only_fields = reduce(fields_reducer, elections_meta_fields, {})
+
+        key_fields_default_values = {
+            "union_thumb_image_id": F("search_image_id"),
+            "union_is_black": Value(False, models.BooleanField()),
+            "union_article_type": Value(2, models.PositiveSmallIntegerField()),
+        }
+
+        create_complementary_field = lambda key: (
+            key_fields_default_values[key]
+            if key in key_fields_default_values
+            else (
+                # any type will suffice in the foreign key
+                Value(
+                    None,
+                    models.ForeignKey(
+                        DistrictArticlePage, blank=True, on_delete=models.SET_NULL
+                    ),
+                )
+                if isinstance(fields_dict[key], models.ForeignKey)
+                else Value(None, fields_dict[key].__class__())
+            )
+        )
+
+        reduce_complementary_fields = lambda complementary, item, notIn: (
+            self.merge_dict(
+                complementary, {item[0]: create_complementary_field(item[0])}
+            )
+            if item[0] not in notIn
+            else complementary
+        )
+
+        create_complementary_fields = lambda notIn, fromFields: reduce(
+            lambda complementary, item: reduce_complementary_fields(
+                complementary, item, dict(notIn)
+            ),
+            reduce(
+                lambda sources, source: sources + list(source.items()), fromFields, []
+            ),
+            {},
+        )
+
+        district_complementary_fields = create_complementary_fields(
+            district_only_fields,
+            [uniweb_only_fields, main_only_fields, elections_only_fields],
+        )
+        uniweb_complementary_fields = create_complementary_fields(
+            uniweb_only_fields,
+            [district_only_fields, main_only_fields, elections_only_fields],
+        )
+        main_complementary_fields = create_complementary_fields(
+            main_only_fields,
+            [uniweb_only_fields, district_only_fields, elections_only_fields],
+        )
+        elections_complementary_fields = create_complementary_fields(
+            elections_only_fields,
+            [uniweb_only_fields, district_only_fields, main_only_fields],
+        )
+
+        main_fields = main_only_fields | main_complementary_fields
+
+        elections_fields = setup_fields_order(
+            main_fields,
+            elections_only_fields | elections_complementary_fields,
+        )
+
+        district_fields = setup_fields_order(
+            main_fields,
+            district_only_fields | district_complementary_fields,
+        )
+
+        uniweb_fields = setup_fields_order(
+            main_fields,
+            uniweb_only_fields | uniweb_complementary_fields,
+        )
+
+        district_article_query: models.QuerySet = DistrictArticlePage.objects
+        uniweb_article_query: models.QuerySet = UniwebArticlePage.objects
+        main_article_query: models.QuerySet = MainArticlePage.objects
+        elections_article_query: models.QuerySet = ElectionsArticlePage.objects
+
+        apply_additional_filter = (
+            lambda query: custom_article_query(query)
+            if custom_article_query is not None
+            else query
+        )
+
+        create_query_by_slug = lambda query: apply_additional_filter(
+            self.create_base_shared_query(query, previous_query)
+        )
+
+        district_by_slug = create_query_by_slug(district_article_query)
+        uniweb_by_slug = create_query_by_slug(uniweb_article_query)
+        main_by_slug = create_query_by_slug(main_article_query)
+        elections_by_slug = create_query_by_slug(elections_article_query)
+
+        shared_field = Value(
+            self.page_ptr.id if hasattr(self, "page_ptr") else None,  # preview fix
+            output_field=models.ForeignKey(
+                Page, null=True, blank=True, related_name="+", on_delete=models.PROTECT
+            ),
+        )
+
+        main_by_values = main_by_slug.values(
+            **main_fields,
+            union_shared_from_id=shared_field,
+            union_shared_type=Value(
+                SharedArticlesPageType.MAIN.value, output_field=models.TextField()
+            ),
+        )
+        uniweb_by_values = uniweb_by_slug.values(
+            **uniweb_fields,
+            union_shared_from_id=shared_field,
+            union_shared_type=Value(
+                SharedArticlesPageType.UNIWEB.value, output_field=models.TextField()
+            ),
+        )
+        district_by_values = district_by_slug.values(
+            **district_fields,
+            union_shared_from_id=shared_field,
+            union_shared_type=Value(
+                SharedArticlesPageType.DISTRICT.value, output_field=models.TextField()
+            ),
+        )
+        elections_by_values = elections_by_slug.values(
+            **elections_fields,
+            union_shared_from_id=shared_field,
+            union_shared_type=Value(
+                SharedArticlesPageType.ELECTIONS.value, output_field=models.TextField()
+            ),
+        )
+
+        empty_shared_field = Value(
+            None,
+            output_field=models.ForeignKey(
+                Page, null=True, blank=True, related_name="+", on_delete=models.PROTECT
+            ),
+        )
+
+        empty_shared_type = Value(None, output_field=models.TextField())
+
+        if previous_query is not None:
+            prepared_query = previous_query.live().specific()
+
+            if page_type == SharedArticlesPageType.DISTRICT:
+                prepared_query = prepared_query.values(
+                    **district_fields,
+                    union_shared_from_id=empty_shared_field,
+                    union_shared_type=empty_shared_type,
+                )
+            elif page_type == SharedArticlesPageType.UNIWEB:
+                prepared_query = prepared_query.values(
+                    **uniweb_fields,
+                    union_shared_from_id=empty_shared_field,
+                    union_shared_type=empty_shared_type,
+                )
+            elif page_type == SharedArticlesPageType.MAIN:
+                prepared_query = prepared_query.values(
+                    **main_fields,
+                    union_shared_from_id=empty_shared_field,
+                    union_shared_type=empty_shared_type,
+                )
+            elif page_type == SharedArticlesPageType.ELECTIONS:
+                prepared_query = prepared_query.values(
+                    **elections_fields,
+                    union_shared_from_id=empty_shared_field,
+                    union_shared_type=empty_shared_type,
+                )
+
+            if self.get_shared_tags().count() == 0:
+                return prepared_query.order_by("-union_timestamp")
+
+            return (
+                prepared_query.union(main_by_values)
+                .union(uniweb_by_values)
+                .union(district_by_values)
+                .union(elections_by_values)
+                .order_by("-union_timestamp")
+            )
+        else:
+            return (
+                main_by_values.union(uniweb_by_values)
+                .union(district_by_values)
+                .union(elections_by_values)
+                .order_by("-union_timestamp")
+            )
+
+    def materialize_shared_articles_query(self, results):
+        """
+        Corresponding method to append_all_shared_articles_query.
+        Materializes article query as article type corresponding to the module from which
+        this function is run. Put query from append_all_shared_articles_query as results parameter.
+        """
+        # To prevent circular deps, we get class models during runtime
+        page_type = self.determine_page_type()
+
+        DistrictArticlePage = apps.get_model(app_label="district.DistrictArticlePage")
+        UniwebArticlePage = apps.get_model(app_label="uniweb.UniwebArticlePage")
+        MainArticlePage = apps.get_model(app_label="main.MainArticlePage")
+        ElectionsArticlePage = apps.get_model(
+            app_label="elections.ElectionsArticlePage"
+        )
+
+        main_meta_fields = MainArticlePage._meta.fields
+        elections_meta_fields = ElectionsArticlePage._meta.fields
+        district_meta_fields = DistrictArticlePage._meta.fields
+        uniweb_meta_fields = UniwebArticlePage._meta.fields
+
+        assign_to_model = lambda unioned: lambda assignment, field: self.merge_dict(
+            assignment, {field.column: unioned[f"union_{field.column}"]}
+        )
+
+        evaluated = self.evaluate_page_query(
+            results
+        )  # We MUST eval here since we can't turn values() into concrete class instances in QuerySet after union
+
+        if page_type == SharedArticlesPageType.DISTRICT:
+            return list(
+                map(
+                    lambda unioned: DistrictArticlePage(
+                        **reduce(assign_to_model(unioned), district_meta_fields, {})
+                    ),
+                    evaluated,
+                )
+            )
+
+        if page_type == SharedArticlesPageType.UNIWEB:
+            return list(
+                map(
+                    lambda unioned: UniwebArticlePage(
+                        **reduce(assign_to_model(unioned), uniweb_meta_fields, {})
+                    ),
+                    evaluated,
+                )
+            )
+
+        if page_type == SharedArticlesPageType.MAIN:
+            return list(
+                map(
+                    lambda unioned: MainArticlePage(
+                        **reduce(assign_to_model(unioned), main_meta_fields, {})
+                    ),
+                    evaluated,
+                )
+            )
+
+        if page_type == SharedArticlesPageType.ELECTIONS:
+            return list(
+                map(
+                    lambda unioned: ElectionsArticlePage(
+                        **reduce(assign_to_model(unioned), elections_meta_fields, {})
+                    ),
+                    evaluated,
+                )
+            )
+
+    def get_page_with_shared_articles(
+        self, query: models.QuerySet, page_size: int, page: int
+    ):
+        """
+        Returns Page object whose property object_list has been materialized, uses Paginator internally
+        """
+        paginator = Paginator(
+            query,
+            page_size,
+        )
+        paginator_page = paginator.get_page(page)
+        paginator_page.object_list = self.materialize_shared_articles_query(
+            paginator_page.object_list
+        )
+        return paginator_page
+
+    def get_article_page_by_slug(self, slug: str):
+        """
+        Filters articles + shared articles based on "tag" field,
+        returns first result sorted by date
+        """
+        articles = self.append_all_shared_articles_query(
+            custom_article_query=lambda query: query.filter(slug=slug)
+        )[:1]
+
+        if len(articles) == 0:
+            raise Http404
+
+        return self.materialize_shared_articles_query(articles)[0]
+
+    def setup_article_page_context(self, request):
+        """
+        Use this method to setup page context for shared article at /sdilene
+        """
+        slug = request.GET.get("sdilene", "")
+        return self.get_article_page_by_slug(slug).serve(request)
+
+    def materialize_articles_as_id_only(self, articles):
+        """
+        Returns a temporary article class with pk, shared and date as the only properties.
+        Useful when optimizing large article queries
+        """
+        TmpArticle = namedtuple("TemporaryArticle", field_names=["page_ptr"])
+        TmpPrimaryKey = namedtuple("TemporaryPk", field_names=["id"])
+        return list(
+            map(
+                lambda unioned: TmpArticle(
+                    page_ptr=TmpPrimaryKey(id=unioned["union_page_ptr_id"]),
+                ),
+                articles.values("union_page_ptr_id", "union_timestamp"),
+            )
+        )
+
+    def search_tags_with_count(self, articles: list):
+        """
+        Returns a list of tags based on article ids with each count
+        """
+        if isinstance(articles, models.QuerySet):
+            articles = self.materialize_articles_as_id_only(articles)
+
+        article_ids = list(map(lambda article: article.page_ptr.id, articles))
+        tag_list = list(
+            Tag.objects.filter(
+                district_districtarticletag_items__content_object_id__in=article_ids
+            )
+            .union(
+                Tag.objects.filter(
+                    main_mainarticletag_items__content_object_id__in=article_ids
+                ),
+                Tag.objects.filter(
+                    uniweb_uniwebarticletag_items__content_object_id__in=article_ids
+                ),
+                Tag.objects.filter(
+                    elections_electionsarticletag_items__content_object_id__in=article_ids
+                ),
+                all=True,
+            )
+            .order_by("slug")
+            .values()
+        )
+
+        tag_aggregate = reduce(
+            lambda aggregate, tag: self.merge_dict(
+                aggregate,
+                {tag["slug"]: aggregate[tag["slug"]] + 1}
+                if tag["slug"] in aggregate
+                else {tag["slug"]: 1},
+            ),
+            tag_list,
+            {},
+        )
+        already_present = {}
+        unique_tags = []
+        for tag in tag_list:
+            tag["count"] = tag_aggregate[tag["slug"]]
+            if tag["slug"] not in already_present:
+                unique_tags.append(tag)
+                already_present[tag["slug"]] = True
+
+        return unique_tags
+
+    def search_tags_by_unioned_id_query(
+        self,
+        articles: list,
+    ):
+        """
+        Search tags based on article query or list of articles.
+        Returns a list of Tag objects, unique and sorted by slug
+        """
+        if isinstance(articles, models.QuerySet):
+            articles = self.materialize_articles_as_id_only(articles)
+
+        article_ids = list(map(lambda article: article.page_ptr.id, articles))
+        tag_query = Tag.objects.filter(
+            Q(district_districtarticletag_items__content_object_id__in=article_ids)
+            | Q(main_mainarticletag_items__content_object_id__in=article_ids)
+            | Q(uniweb_uniwebarticletag_items__content_object_id__in=article_ids)
+            | Q(elections_electionsarticletag_items__content_object_id__in=article_ids)
+        )
+
+        return tag_query.order_by("slug").distinct("slug")
+
+    def search_articles(
+        self,
+        query: str,
+        page_size: int,
+        page: int,
+        previous_query: models.QuerySet | None = None,
+    ):
+        """
+        Uses wagtail search to lookup articles based on a phrase. Accepts a string phrase query + a previous_query param, which can be any articles query that you want to filter by.
+        Returns a list of articles with models based on from which module is this method run.
+        To optimize search results we use paginator internally
+        """
+        DistrictArticlePage = apps.get_model(app_label="district.DistrictArticlePage")
+        UniwebArticlePage = apps.get_model(app_label="uniweb.UniwebArticlePage")
+        MainArticlePage = apps.get_model(app_label="main.MainArticlePage")
+        ElectionsArticlePage = apps.get_model(
+            app_label="elections.ElectionsArticlePage"
+        )
+
+        # .search() runs annotate, so its impossible to search after .union()
+        # .search() also returns an object that cannot be broken down by .values()
+        # therefore, shared search has to happen here
+        search_factory = lambda search_query: list(
+            search_query.search(query).annotate_score("score")
+        )
+        current_query = search_factory(previous_query)
+        shared_district_search = search_factory(
+            self.create_base_shared_query(DistrictArticlePage.objects, current_query)
+        )
+        shared_uniweb_search = search_factory(
+            self.create_base_shared_query(UniwebArticlePage.objects, current_query)
+        )
+        shared_main_search = search_factory(
+            self.create_base_shared_query(MainArticlePage.objects, current_query)
+        )
+        shared_elections_search = search_factory(
+            self.create_base_shared_query(ElectionsArticlePage.objects, current_query)
+        )
+
+        # .search is not lazy either, making this the best optimized query possible AFAIK
+        sorted = self.unique_articles_by_id(
+            current_query
+            + shared_district_search
+            + shared_uniweb_search
+            + shared_main_search
+            + shared_elections_search
+        )
+        sorted.sort(key=lambda item: item.score)
+        sorted = Paginator(sorted, page_size).get_page(page)
+        sorted_ids = list(map(lambda article: article.pk, sorted))
+
+        converted_query = self.materialize_shared_articles_query(
+            self.append_all_shared_articles_query(
+                previous_query.filter(page_ptr_id__in=sorted_ids),
+                custom_article_query=lambda query: query.filter(
+                    page_ptr_id__in=sorted_ids
+                ),
+            )
+        )
+        converted_query_map = reduce(
+            lambda map, article: self.merge_dict(map, {article.pk: article}),
+            converted_query,
+            {},
+        )
+        sorted_final_result = []
+        for sorted_result in sorted:
+            sorted_final_result.append(converted_query_map[sorted_result.pk])
+
+        return sorted_final_result
+
+    def filter_by_tag_name(self, tag: str):
+        """
+        Returns a dict which can be used to filter articles based on tag name
+        """
+        return {
+            "tags__name": tag,
+        }
+
+    class Meta:
+        abstract = True
+
+
+class ArticlesPageMixin(ArticlesMixin, models.Model):
+    def get_shared_tags(self):
+        """
+        Overrides get_shared_tags from ArticlesMixin, returns shared tags
+        """
+        return self.shared_tags
+
+    shared_tags = ParentalManyToManyField(
+        "shared.SharedTag",
+        verbose_name="Výběr tagů pro články sdílené mezi sítěmi",
+        help_text="Pro výběr jednoho tagu klikněte na tag a uložte nebo publikujte stránku. Pro výběr více tagů využijte podržte Ctrl a vyberte příslušné tagy.",
+        blank=True,
+    )
+
+    content_panels = Page.content_panels + [FieldPanel("shared_tags")]
+
+    class Meta:
+        abstract = True
+
+
+class PdfPageMixin(models.Model):
+    """
+    Use this mixin in a page model for parsing PDFs
+    """
+
+    pdf_file = models.ForeignKey(
+        Document,
+        null=True,
+        blank=False,
+        on_delete=models.SET_NULL,
+        related_name="+",
+        verbose_name="PDF dokument",
+    )
+
+    content_panels = [
+        FieldPanel("pdf_file"),
+    ]
+
+    class Meta:
+        abstract = True
+
+    @property
+    def pdf_url(self):
+        return self.pdf_file.url
diff --git a/shared/static/shared/css/helpers.css b/shared_legacy/static/shared/css/helpers.css
similarity index 100%
rename from shared/static/shared/css/helpers.css
rename to shared_legacy/static/shared/css/helpers.css
diff --git a/shared/static/shared/favicon/favicon-128.png b/shared_legacy/static/shared/favicon/favicon-128.png
similarity index 100%
rename from shared/static/shared/favicon/favicon-128.png
rename to shared_legacy/static/shared/favicon/favicon-128.png
diff --git a/shared/static/shared/favicon/favicon-16.png b/shared_legacy/static/shared/favicon/favicon-16.png
similarity index 100%
rename from shared/static/shared/favicon/favicon-16.png
rename to shared_legacy/static/shared/favicon/favicon-16.png
diff --git a/shared/static/shared/favicon/favicon-196.png b/shared_legacy/static/shared/favicon/favicon-196.png
similarity index 100%
rename from shared/static/shared/favicon/favicon-196.png
rename to shared_legacy/static/shared/favicon/favicon-196.png
diff --git a/shared/static/shared/favicon/favicon-32.png b/shared_legacy/static/shared/favicon/favicon-32.png
similarity index 100%
rename from shared/static/shared/favicon/favicon-32.png
rename to shared_legacy/static/shared/favicon/favicon-32.png
diff --git a/shared/static/shared/favicon/favicon-96.png b/shared_legacy/static/shared/favicon/favicon-96.png
similarity index 100%
rename from shared/static/shared/favicon/favicon-96.png
rename to shared_legacy/static/shared/favicon/favicon-96.png
diff --git a/shared/static/shared/img/flag.png b/shared_legacy/static/shared/img/flag.png
similarity index 100%
rename from shared/static/shared/img/flag.png
rename to shared_legacy/static/shared/img/flag.png
diff --git a/shared/static/shared/img/logo-full-black.svg b/shared_legacy/static/shared/img/logo-full-black.svg
similarity index 100%
rename from shared/static/shared/img/logo-full-black.svg
rename to shared_legacy/static/shared/img/logo-full-black.svg
diff --git a/shared/static/shared/img/logo-full-white.svg b/shared_legacy/static/shared/img/logo-full-white.svg
similarity index 100%
rename from shared/static/shared/img/logo-full-white.svg
rename to shared_legacy/static/shared/img/logo-full-white.svg
diff --git a/shared/static/shared/img/logo_black.svg b/shared_legacy/static/shared/img/logo_black.svg
similarity index 100%
rename from shared/static/shared/img/logo_black.svg
rename to shared_legacy/static/shared/img/logo_black.svg
diff --git a/shared/static/shared/img/logo_white.svg b/shared_legacy/static/shared/img/logo_white.svg
similarity index 100%
rename from shared/static/shared/img/logo_white.svg
rename to shared_legacy/static/shared/img/logo_white.svg
diff --git a/shared/static/shared/img/newsletter.svg b/shared_legacy/static/shared/img/newsletter.svg
similarity index 100%
rename from shared/static/shared/img/newsletter.svg
rename to shared_legacy/static/shared/img/newsletter.svg
diff --git a/shared/static/shared/img/og_image.jpg b/shared_legacy/static/shared/img/og_image.jpg
similarity index 100%
rename from shared/static/shared/img/og_image.jpg
rename to shared_legacy/static/shared/img/og_image.jpg
diff --git a/shared/static/shared/img/unknown_pirate_160x160.jpg b/shared_legacy/static/shared/img/unknown_pirate_160x160.jpg
similarity index 100%
rename from shared/static/shared/img/unknown_pirate_160x160.jpg
rename to shared_legacy/static/shared/img/unknown_pirate_160x160.jpg
diff --git a/shared/static/shared/img/unknown_pirate_416x416.jpg b/shared_legacy/static/shared/img/unknown_pirate_416x416.jpg
similarity index 100%
rename from shared/static/shared/img/unknown_pirate_416x416.jpg
rename to shared_legacy/static/shared/img/unknown_pirate_416x416.jpg
diff --git a/shared/static/shared/img/unknown_pirate_placeholder.svg b/shared_legacy/static/shared/img/unknown_pirate_placeholder.svg
similarity index 100%
rename from shared/static/shared/img/unknown_pirate_placeholder.svg
rename to shared_legacy/static/shared/img/unknown_pirate_placeholder.svg
diff --git a/shared/static/shared/js/pdf_page.js b/shared_legacy/static/shared/js/pdf_page.js
similarity index 100%
rename from shared/static/shared/js/pdf_page.js
rename to shared_legacy/static/shared/js/pdf_page.js
diff --git a/shared/static/shared/js/vue-formulate-helper.js b/shared_legacy/static/shared/js/vue-formulate-helper.js
similarity index 100%
rename from shared/static/shared/js/vue-formulate-helper.js
rename to shared_legacy/static/shared/js/vue-formulate-helper.js
diff --git a/shared/static/shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css b/shared_legacy/static/shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css
similarity index 100%
rename from shared/static/shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css
rename to shared_legacy/static/shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css
diff --git a/shared/static/shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css.map b/shared_legacy/static/shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css.map
similarity index 100%
rename from shared/static/shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css.map
rename to shared_legacy/static/shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css.map
diff --git a/shared/static/shared/vendor/bootstrap-4.4.1/js/bootstrap.min.js b/shared_legacy/static/shared/vendor/bootstrap-4.4.1/js/bootstrap.min.js
similarity index 100%
rename from shared/static/shared/vendor/bootstrap-4.4.1/js/bootstrap.min.js
rename to shared_legacy/static/shared/vendor/bootstrap-4.4.1/js/bootstrap.min.js
diff --git a/shared/static/shared/vendor/bootstrap-4.4.1/js/bootstrap.min.js.map b/shared_legacy/static/shared/vendor/bootstrap-4.4.1/js/bootstrap.min.js.map
similarity index 100%
rename from shared/static/shared/vendor/bootstrap-4.4.1/js/bootstrap.min.js.map
rename to shared_legacy/static/shared/vendor/bootstrap-4.4.1/js/bootstrap.min.js.map
diff --git a/shared/static/shared/vendor/chart.js/chart.umd.4.2.0.js b/shared_legacy/static/shared/vendor/chart.js/chart.umd.4.2.0.js
similarity index 100%
rename from shared/static/shared/vendor/chart.js/chart.umd.4.2.0.js
rename to shared_legacy/static/shared/vendor/chart.js/chart.umd.4.2.0.js
diff --git a/shared/static/shared/vendor/chart.js/chart.umd.js.map b/shared_legacy/static/shared/vendor/chart.js/chart.umd.js.map
similarity index 100%
rename from shared/static/shared/vendor/chart.js/chart.umd.js.map
rename to shared_legacy/static/shared/vendor/chart.js/chart.umd.js.map
diff --git a/shared/static/shared/vendor/fancybox/jquery.fancybox.min.css b/shared_legacy/static/shared/vendor/fancybox/jquery.fancybox.min.css
similarity index 100%
rename from shared/static/shared/vendor/fancybox/jquery.fancybox.min.css
rename to shared_legacy/static/shared/vendor/fancybox/jquery.fancybox.min.css
diff --git a/shared/static/shared/vendor/fancybox/jquery.fancybox.min.js b/shared_legacy/static/shared/vendor/fancybox/jquery.fancybox.min.js
similarity index 100%
rename from shared/static/shared/vendor/fancybox/jquery.fancybox.min.js
rename to shared_legacy/static/shared/vendor/fancybox/jquery.fancybox.min.js
diff --git a/shared/static/shared/vendor/jquery/jquery-3.4.1.min.js b/shared_legacy/static/shared/vendor/jquery/jquery-3.4.1.min.js
similarity index 100%
rename from shared/static/shared/vendor/jquery/jquery-3.4.1.min.js
rename to shared_legacy/static/shared/vendor/jquery/jquery-3.4.1.min.js
diff --git a/shared/static/shared/vendor/lazysizes/lazysizes.min.js b/shared_legacy/static/shared/vendor/lazysizes/lazysizes.min.js
similarity index 100%
rename from shared/static/shared/vendor/lazysizes/lazysizes.min.js
rename to shared_legacy/static/shared/vendor/lazysizes/lazysizes.min.js
diff --git a/shared/static/shared/vendor/pdf.js-4.0.379/pdf.mjs b/shared_legacy/static/shared/vendor/pdf.js-4.0.379/pdf.mjs
similarity index 100%
rename from shared/static/shared/vendor/pdf.js-4.0.379/pdf.mjs
rename to shared_legacy/static/shared/vendor/pdf.js-4.0.379/pdf.mjs
diff --git a/shared/static/shared/vendor/pdf.js-4.0.379/pdf.mjs.map b/shared_legacy/static/shared/vendor/pdf.js-4.0.379/pdf.mjs.map
similarity index 100%
rename from shared/static/shared/vendor/pdf.js-4.0.379/pdf.mjs.map
rename to shared_legacy/static/shared/vendor/pdf.js-4.0.379/pdf.mjs.map
diff --git a/shared/static/shared/vendor/pdf.js-4.0.379/pdf.worker.mjs b/shared_legacy/static/shared/vendor/pdf.js-4.0.379/pdf.worker.mjs
similarity index 100%
rename from shared/static/shared/vendor/pdf.js-4.0.379/pdf.worker.mjs
rename to shared_legacy/static/shared/vendor/pdf.js-4.0.379/pdf.worker.mjs
diff --git a/shared/static/shared/vendor/pdf.js-4.0.379/pdf.worker.mjs.map b/shared_legacy/static/shared/vendor/pdf.js-4.0.379/pdf.worker.mjs.map
similarity index 100%
rename from shared/static/shared/vendor/pdf.js-4.0.379/pdf.worker.mjs.map
rename to shared_legacy/static/shared/vendor/pdf.js-4.0.379/pdf.worker.mjs.map
diff --git a/shared/static/shared/vendor/vue-formulate-2.5.3/css/snow.min.css b/shared_legacy/static/shared/vendor/vue-formulate-2.5.3/css/snow.min.css
similarity index 100%
rename from shared/static/shared/vendor/vue-formulate-2.5.3/css/snow.min.css
rename to shared_legacy/static/shared/vendor/vue-formulate-2.5.3/css/snow.min.css
diff --git a/shared/static/shared/vendor/vue-formulate-2.5.3/js/formulate.min.js b/shared_legacy/static/shared/vendor/vue-formulate-2.5.3/js/formulate.min.js
similarity index 100%
rename from shared/static/shared/vendor/vue-formulate-2.5.3/js/formulate.min.js
rename to shared_legacy/static/shared/vendor/vue-formulate-2.5.3/js/formulate.min.js
diff --git a/shared/static/shared/vendor/vue-formulate-i18n-1.16.0/js/cs.min.js b/shared_legacy/static/shared/vendor/vue-formulate-i18n-1.16.0/js/cs.min.js
similarity index 100%
rename from shared/static/shared/vendor/vue-formulate-i18n-1.16.0/js/cs.min.js
rename to shared_legacy/static/shared/vendor/vue-formulate-i18n-1.16.0/js/cs.min.js
diff --git a/shared/static/shared/vendor/vue/vue.2.6.11.js b/shared_legacy/static/shared/vendor/vue/vue.2.6.11.js
similarity index 100%
rename from shared/static/shared/vendor/vue/vue.2.6.11.js
rename to shared_legacy/static/shared/vendor/vue/vue.2.6.11.js
diff --git a/shared_legacy/static/styleguide2/images/background-images/bg-bartos.jpg b/shared_legacy/static/styleguide2/images/background-images/bg-bartos.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..be147b1d6a07cbc6eb03b952e870d65c233eb2e3
Binary files /dev/null and b/shared_legacy/static/styleguide2/images/background-images/bg-bartos.jpg differ
diff --git a/shared_legacy/static/styleguide2/images/background-images/bg-europarl-candidates.webp b/shared_legacy/static/styleguide2/images/background-images/bg-europarl-candidates.webp
new file mode 100644
index 0000000000000000000000000000000000000000..4c476af74a6b4a329b7069fa2a8fe83108668a3a
Binary files /dev/null and b/shared_legacy/static/styleguide2/images/background-images/bg-europarl-candidates.webp differ
diff --git a/shared_legacy/static/styleguide2/images/background-images/bg-flag-mobile-preview.jpg b/shared_legacy/static/styleguide2/images/background-images/bg-flag-mobile-preview.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1bb8dca41097ad71b7861cefba0e5592fade6d64
Binary files /dev/null and b/shared_legacy/static/styleguide2/images/background-images/bg-flag-mobile-preview.jpg differ
diff --git a/shared_legacy/static/styleguide2/images/background-images/bg-flag-mobile.gif b/shared_legacy/static/styleguide2/images/background-images/bg-flag-mobile.gif
new file mode 100644
index 0000000000000000000000000000000000000000..304a5a8478d4650eaddedc666556bfc568b04328
Binary files /dev/null and b/shared_legacy/static/styleguide2/images/background-images/bg-flag-mobile.gif differ
diff --git a/shared_legacy/static/styleguide2/images/background-images/bg-flag-mobile.mp4 b/shared_legacy/static/styleguide2/images/background-images/bg-flag-mobile.mp4
new file mode 100644
index 0000000000000000000000000000000000000000..7ec1fa7554e4dc00c3125c62db56f7715b4aa600
Binary files /dev/null and b/shared_legacy/static/styleguide2/images/background-images/bg-flag-mobile.mp4 differ
diff --git a/shared_legacy/static/styleguide2/images/background-images/bg-flag-preview.jpg b/shared_legacy/static/styleguide2/images/background-images/bg-flag-preview.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..fe78f4f8684b4ea2f42e125421ee5f6ee6792f5e
Binary files /dev/null and b/shared_legacy/static/styleguide2/images/background-images/bg-flag-preview.jpg differ
diff --git a/shared_legacy/static/styleguide2/images/background-images/bg-flag.mp4 b/shared_legacy/static/styleguide2/images/background-images/bg-flag.mp4
new file mode 100644
index 0000000000000000000000000000000000000000..92fffb566d751bbe38695068374ce10557f3914c
Binary files /dev/null and b/shared_legacy/static/styleguide2/images/background-images/bg-flag.mp4 differ
diff --git a/shared_legacy/static/styleguide2/images/background-images/bg-flag.webp b/shared_legacy/static/styleguide2/images/background-images/bg-flag.webp
new file mode 100644
index 0000000000000000000000000000000000000000..e2531cc02355b5a3025d51b7f50728cbfcff2dce
Binary files /dev/null and b/shared_legacy/static/styleguide2/images/background-images/bg-flag.webp differ
diff --git a/shared_legacy/static/styleguide2/images/background-images/bg-migrace.png b/shared_legacy/static/styleguide2/images/background-images/bg-migrace.png
new file mode 100644
index 0000000000000000000000000000000000000000..b88fdbc3b4bb481be78f299a5cab8b32a9e86aeb
Binary files /dev/null and b/shared_legacy/static/styleguide2/images/background-images/bg-migrace.png differ
diff --git a/shared_legacy/static/styleguide2/images/background-images/bg-newsletter.webp b/shared_legacy/static/styleguide2/images/background-images/bg-newsletter.webp
new file mode 100644
index 0000000000000000000000000000000000000000..4847c68328c2e9dd0320fb6e27d149700fdcaffc
Binary files /dev/null and b/shared_legacy/static/styleguide2/images/background-images/bg-newsletter.webp differ
diff --git a/shared_legacy/static/styleguide2/images/background-images/loading.gif b/shared_legacy/static/styleguide2/images/background-images/loading.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e4a88ce04919120c37580ee43196c0aadd5601e6
Binary files /dev/null and b/shared_legacy/static/styleguide2/images/background-images/loading.gif differ
diff --git a/shared/static/styleguide291/assets/images/favicons/apple-touch-icon-114x114.png b/shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-114x114.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/apple-touch-icon-114x114.png
rename to shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-114x114.png
diff --git a/shared/static/styleguide291/assets/images/favicons/apple-touch-icon-120x120.png b/shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-120x120.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/apple-touch-icon-120x120.png
rename to shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-120x120.png
diff --git a/shared/static/styleguide291/assets/images/favicons/apple-touch-icon-144x144.png b/shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-144x144.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/apple-touch-icon-144x144.png
rename to shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-144x144.png
diff --git a/shared/static/styleguide291/assets/images/favicons/apple-touch-icon-152x152.png b/shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-152x152.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/apple-touch-icon-152x152.png
rename to shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-152x152.png
diff --git a/shared/static/styleguide291/assets/images/favicons/apple-touch-icon-57x57.png b/shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-57x57.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/apple-touch-icon-57x57.png
rename to shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-57x57.png
diff --git a/shared/static/styleguide291/assets/images/favicons/apple-touch-icon-60x60.png b/shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-60x60.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/apple-touch-icon-60x60.png
rename to shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-60x60.png
diff --git a/shared/static/styleguide291/assets/images/favicons/apple-touch-icon-72x72.png b/shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-72x72.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/apple-touch-icon-72x72.png
rename to shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-72x72.png
diff --git a/shared/static/styleguide291/assets/images/favicons/apple-touch-icon-76x76.png b/shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-76x76.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/apple-touch-icon-76x76.png
rename to shared_legacy/static/styleguide2/images/favicons/apple-touch-icon-76x76.png
diff --git a/shared/static/styleguide291/assets/images/favicons/favicon-128x128.png b/shared_legacy/static/styleguide2/images/favicons/favicon-128x128.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/favicon-128x128.png
rename to shared_legacy/static/styleguide2/images/favicons/favicon-128x128.png
diff --git a/shared/static/styleguide291/assets/images/favicons/favicon-16x16.png b/shared_legacy/static/styleguide2/images/favicons/favicon-16x16.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/favicon-16x16.png
rename to shared_legacy/static/styleguide2/images/favicons/favicon-16x16.png
diff --git a/shared/static/styleguide291/assets/images/favicons/favicon-196x196.png b/shared_legacy/static/styleguide2/images/favicons/favicon-196x196.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/favicon-196x196.png
rename to shared_legacy/static/styleguide2/images/favicons/favicon-196x196.png
diff --git a/shared/static/styleguide291/assets/images/favicons/favicon-32x32.png b/shared_legacy/static/styleguide2/images/favicons/favicon-32x32.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/favicon-32x32.png
rename to shared_legacy/static/styleguide2/images/favicons/favicon-32x32.png
diff --git a/shared/static/styleguide291/assets/images/favicons/favicon-96x96.png b/shared_legacy/static/styleguide2/images/favicons/favicon-96x96.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/favicon-96x96.png
rename to shared_legacy/static/styleguide2/images/favicons/favicon-96x96.png
diff --git a/shared/static/styleguide291/assets/images/favicons/favicon.ico b/shared_legacy/static/styleguide2/images/favicons/favicon.ico
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/favicon.ico
rename to shared_legacy/static/styleguide2/images/favicons/favicon.ico
diff --git a/shared/static/styleguide291/assets/images/favicons/mstile-144x144.png b/shared_legacy/static/styleguide2/images/favicons/mstile-144x144.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/mstile-144x144.png
rename to shared_legacy/static/styleguide2/images/favicons/mstile-144x144.png
diff --git a/shared/static/styleguide291/assets/images/favicons/mstile-150x150.png b/shared_legacy/static/styleguide2/images/favicons/mstile-150x150.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/mstile-150x150.png
rename to shared_legacy/static/styleguide2/images/favicons/mstile-150x150.png
diff --git a/shared/static/styleguide291/assets/images/favicons/mstile-310x150.png b/shared_legacy/static/styleguide2/images/favicons/mstile-310x150.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/mstile-310x150.png
rename to shared_legacy/static/styleguide2/images/favicons/mstile-310x150.png
diff --git a/shared/static/styleguide291/assets/images/favicons/mstile-310x310.png b/shared_legacy/static/styleguide2/images/favicons/mstile-310x310.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/mstile-310x310.png
rename to shared_legacy/static/styleguide2/images/favicons/mstile-310x310.png
diff --git a/shared/static/styleguide291/assets/images/favicons/mstile-70x70.png b/shared_legacy/static/styleguide2/images/favicons/mstile-70x70.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/favicons/mstile-70x70.png
rename to shared_legacy/static/styleguide2/images/favicons/mstile-70x70.png
diff --git a/shared_legacy/static/styleguide2/images/logo-full-black.svg b/shared_legacy/static/styleguide2/images/logo-full-black.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6cb423ce13466d7d6563cda2dd6409c486e8f143
--- /dev/null
+++ b/shared_legacy/static/styleguide2/images/logo-full-black.svg
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   width="144.119"
+   height="39.908081"
+   viewBox="0 0 144.119 39.908082"
+   version="1.1"
+   id="svg24"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs28" />
+  <g
+     id="logo-flag-text-white"
+     transform="translate(-288.547,-170.504)"
+     style="fill:#000000">
+    <g
+       id="Group_11"
+       data-name="Group 11"
+       transform="translate(288.3,173.149)"
+       style="fill:#000000">
+      <path
+         id="Path_17"
+         data-name="Path 17"
+         d="M 306.944,211.307 A 16.912,16.912 0 1 1 323.856,194.4 16.936,16.936 0 0 1 306.944,211.312 M 320.189,181.2 a 18.571,18.571 0 1 0 5.5,13.194 18.794,18.794 0 0 0 -5.5,-13.194"
+         transform="translate(-288.3,-175.7)"
+         fill="#ffffff"
+         style="fill:#000000" />
+      <path
+         id="Path_18"
+         data-name="Path 18"
+         d="m 316,197.98 c -0.56,2.7 -3.515,4.126 -5.247,5.3 v -13.7 c 2.9,0.713 6.368,2.955 5.247,8.405 m -5.25,-9.885 v -2.6 h -1.63 v 3.005 c -1.121,0.357 -1.732,0.713 -1.63,0.917 a 5.119,5.119 0 0 1 1.63,-0.1 v 15.741 c -1.681,3.26 0.713,8.252 0.713,8.252 0,0 -1.783,-5.349 2.19,-7.9 3.668,-2.343 16.4,-1.223 16.352,-8.405 0,-10.188 -11.767,-10.137 -17.625,-8.915"
+         transform="translate(-297.709,-180.508)"
+         fill="#ffffff"
+         style="fill:#000000" />
+      <path
+         id="Path_19"
+         data-name="Path 19"
+         d="m 384.221,186.483 a 4.663,4.663 0 0 0 0.866,0.051 2.758,2.758 0 0 0 1.936,-0.611 2.117,2.117 0 0 0 0.662,-1.681 c 0,-1.375 -0.866,-2.038 -2.649,-2.038 a 5.022,5.022 0 0 0 -0.866,0.1 v 4.177 z m 0,2.853 v 4.432 H 380.4 v -14.162 a 29.174,29.174 0 0 1 4.279,-0.306 c 4.432,0 6.622,1.579 6.622,4.788 a 5.032,5.032 0 0 1 -1.477,3.922 6.265,6.265 0 0 1 -4.381,1.324 9.753,9.753 0 0 1 -1.223,0"
+         transform="translate(-333.484,-177.466)"
+         fill="#ffffff"
+         style="fill:#000000" />
+    </g>
+    <rect
+       id="Rectangle_29"
+       data-name="Rectangle 29"
+       width="4.2789998"
+       height="14.263"
+       transform="translate(347.951,175.187)"
+       fill="#ffffff"
+       x="0"
+       y="0"
+       style="fill:#000000" />
+    <g
+       id="Group_12"
+       data-name="Group 12"
+       transform="translate(355.032,174.983)"
+       style="fill:#000000">
+      <path
+         id="Path_20"
+         data-name="Path 20"
+         d="m 423.121,185.973 h 1.07 a 2.269,2.269 0 0 0 1.579,-0.509 1.639,1.639 0 0 0 0.56,-1.375 q 0,-1.834 -2.14,-1.834 a 6.358,6.358 0 0 0 -1.07,0.1 z m 0,2.8 v 4.992 H 419.3 v -14.159 a 42.086,42.086 0 0 1 5.094,-0.306 c 3.922,0 5.858,1.477 5.858,4.381 a 3.871,3.871 0 0 1 -0.764,2.292 4.207,4.207 0 0 1 -1.988,1.527 v 0.051 a 2.646,2.646 0 0 1 0.968,0.866 6.5,6.5 0 0 1 0.764,1.477 l 1.426,3.922 h -4.024 l -1.223,-3.719 a 1.949,1.949 0 0 0 -0.56,-0.968 1.2,1.2 0 0 0 -0.866,-0.306 h -0.866 z"
+         transform="translate(-419.3,-179.3)"
+         fill="#ffffff"
+         style="fill:#000000" />
+    </g>
+    <path
+       id="Path_21"
+       data-name="Path 21"
+       d="m 448.551,183.8 h 2.6 l -1.273,-5.3 h -0.051 z m 2.089,-9.781 h -3.107 l 1.936,-3.515 h 4.279 z m -2.8,12.684 -0.662,2.751 H 443.1 l 4.687,-14.263 h 4.126 l 4.687,14.259 h -4.126 l -0.662,-2.751 z"
+       transform="translate(-75.944)"
+       fill="#ffffff"
+       style="fill:#000000" />
+    <path
+       id="Path_22"
+       data-name="Path 22"
+       d="m 480.816,179.7 v 3.209 h -3.871 v 11.054 h -3.973 V 182.909 H 469.1 V 179.7 Z"
+       transform="translate(-88.7,-4.513)"
+       fill="#ffffff"
+       style="fill:#000000" />
+    <g
+       id="Group_13"
+       data-name="Group 13"
+       transform="translate(393.237,175.034)"
+       style="fill:#000000">
+      <path
+         id="Path_23"
+         data-name="Path 23"
+         d="m 504.233,183.373 a 8.828,8.828 0 0 0 -4.024,-0.968 2.5,2.5 0 0 0 -1.375,0.306 1,1 0 0 0 -0.458,0.866 c 0,0.56 0.408,0.917 1.274,1.172 a 11.092,11.092 0 0 1 4.33,1.987 4.145,4.145 0 0 1 -0.2,6.164 7.27,7.27 0 0 1 -4.483,1.121 10.863,10.863 0 0 1 -2.7,-0.408 6,6 0 0 1 -2.292,-1.07 l 0.866,-3.005 a 8.413,8.413 0 0 0 2.14,1.07 6.866,6.866 0 0 0 2.139,0.408 c 1.172,0 1.783,-0.408 1.783,-1.273 0,-0.56 -0.509,-0.968 -1.579,-1.274 a 10.417,10.417 0 0 1 -4.075,-1.987 3.808,3.808 0 0 1 -1.223,-2.9 3.719,3.719 0 0 1 1.477,-3.056 6.681,6.681 0 0 1 4.177,-1.121 10.873,10.873 0 0 1 4.89,0.968 z"
+         transform="translate(-494.3,-179.4)"
+         fill="#ffffff"
+         style="fill:#000000" />
+    </g>
+    <path
+       id="Path_24"
+       data-name="Path 24"
+       d="m 523.722,185.762 h 0.051 l 3.668,-6.062 h 4.483 l -4.483,6.826 4.687,7.437 h -4.483 l -3.872,-6.622 h -0.051 v 6.622 H 519.8 V 179.7 h 3.922 z"
+       transform="translate(-113.573,-4.513)"
+       fill="#ffffff"
+       style="fill:#000000" />
+    <path
+       id="Path_25"
+       data-name="Path 25"
+       d="m 550.651,183.8 h 2.6 l -1.274,-5.3 h -0.051 z m 2.089,-9.781 h -3.107 l 1.936,-3.515 h 4.279 z m -2.8,12.684 -0.662,2.751 H 545.2 l 4.687,-14.263 h 4.126 l 4.687,14.259 h -4.126 l -0.662,-2.751 z"
+       transform="translate(-126.034)"
+       fill="#ffffff"
+       style="fill:#000000" />
+    <g
+       id="Group_14"
+       data-name="Group 14"
+       transform="translate(334.758,194.289)"
+       style="fill:#000000">
+      <path
+         id="Path_26"
+         data-name="Path 26"
+         d="m 389.433,221.173 a 8.828,8.828 0 0 0 -4.024,-0.968 2.5,2.5 0 0 0 -1.375,0.306 1,1 0 0 0 -0.458,0.866 c 0,0.56 0.408,0.917 1.274,1.172 a 11.093,11.093 0 0 1 4.33,1.987 4.146,4.146 0 0 1 -0.2,6.164 7.27,7.27 0 0 1 -4.483,1.121 10.866,10.866 0 0 1 -2.7,-0.408 6.866,6.866 0 0 1 -2.292,-1.07 l 0.866,-3.005 a 8.414,8.414 0 0 0 2.139,1.07 6.867,6.867 0 0 0 2.14,0.408 c 1.172,0 1.783,-0.408 1.783,-1.274 0,-0.56 -0.509,-0.968 -1.579,-1.273 a 10.419,10.419 0 0 1 -4.075,-1.987 3.808,3.808 0 0 1 -1.223,-2.9 3.719,3.719 0 0 1 1.477,-3.056 6.681,6.681 0 0 1 4.177,-1.121 10.874,10.874 0 0 1 4.89,0.968 z"
+         transform="translate(-379.5,-217.2)"
+         fill="#ffffff"
+         style="fill:#000000" />
+    </g>
+    <path
+       id="Path_27"
+       data-name="Path 27"
+       d="m 415.016,217.6 v 3.209 h -3.871 v 11.054 h -3.973 V 220.809 H 403.3 V 217.6 Z"
+       transform="translate(-56.418,-23.107)"
+       fill="#ffffff"
+       style="fill:#000000" />
+    <g
+       id="Group_15"
+       data-name="Group 15"
+       transform="translate(360.686,194.289)"
+       style="fill:#000000">
+      <path
+         id="Path_28"
+         data-name="Path 28"
+         d="m 434.221,223.822 h 1.07 a 2.269,2.269 0 0 0 1.579,-0.509 1.639,1.639 0 0 0 0.56,-1.375 q 0,-1.834 -2.14,-1.834 a 6.36,6.36 0 0 0 -1.07,0.1 z m 0,2.853 v 4.992 H 430.4 v -14.161 a 42.1,42.1 0 0 1 5.094,-0.306 c 3.922,0 5.858,1.477 5.858,4.381 a 3.871,3.871 0 0 1 -0.764,2.292 4.207,4.207 0 0 1 -1.988,1.527 v 0.051 a 2.647,2.647 0 0 1 0.968,0.866 6.5,6.5 0 0 1 0.764,1.477 l 1.426,3.922 h -4.024 L 436.513,228 a 1.949,1.949 0 0 0 -0.56,-0.968 1.2,1.2 0 0 0 -0.866,-0.306 h -0.866 z"
+         transform="translate(-430.4,-217.2)"
+         fill="#ffffff"
+         style="fill:#000000" />
+    </g>
+    <path
+       id="Path_29"
+       data-name="Path 29"
+       d="m 460.051,226.158 h 2.6 l -1.273,-5.3 h -0.051 z m -0.713,2.955 -0.662,2.751 H 454.6 l 4.687,-14.263 h 4.126 l 4.687,14.263 h -4.126 l -0.662,-2.751 z"
+       transform="translate(-81.586,-23.107)"
+       fill="#ffffff"
+       style="fill:#000000" />
+    <path
+       id="Path_30"
+       data-name="Path 30"
+       d="M 492.349,225.394 H 492.4 V 217.6 h 3.821 v 14.263 H 492.4 l -4.279,-7.845 h -0.051 v 7.845 H 484.3 V 217.6 h 3.77 z"
+       transform="translate(-96.157,-23.107)"
+       fill="#ffffff"
+       style="fill:#000000" />
+    <path
+       id="Path_31"
+       data-name="Path 31"
+       d="m 516.151,226.158 h 2.6 l -1.274,-5.3 h -0.051 z m -0.713,2.955 -0.662,2.751 H 510.7 l 4.686,-14.263 h 4.126 l 4.687,14.263 h -4.126 l -0.662,-2.751 z"
+       transform="translate(-109.108,-23.107)"
+       fill="#ffffff"
+       style="fill:#000000" />
+  </g>
+</svg>
diff --git a/shared_legacy/static/styleguide2/images/logo-full-white.svg b/shared_legacy/static/styleguide2/images/logo-full-white.svg
new file mode 100644
index 0000000000000000000000000000000000000000..269cd432052eb29dd07dd8740110fadc31cba587
--- /dev/null
+++ b/shared_legacy/static/styleguide2/images/logo-full-white.svg
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   width="144.119"
+   height="39.908081"
+   viewBox="0 0 144.119 39.908082"
+   version="1.1"
+   id="svg24"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs28" />
+  <g
+     id="logo-flag-text-white"
+     transform="translate(-288.547,-170.504)">
+    <g
+       id="Group_11"
+       data-name="Group 11"
+       transform="translate(288.3,173.149)">
+      <path
+         id="Path_17"
+         data-name="Path 17"
+         d="M 306.944,211.307 A 16.912,16.912 0 1 1 323.856,194.4 16.936,16.936 0 0 1 306.944,211.312 M 320.189,181.2 a 18.571,18.571 0 1 0 5.5,13.194 18.794,18.794 0 0 0 -5.5,-13.194"
+         transform="translate(-288.3,-175.7)"
+         fill="#ffffff" />
+      <path
+         id="Path_18"
+         data-name="Path 18"
+         d="m 316,197.98 c -0.56,2.7 -3.515,4.126 -5.247,5.3 v -13.7 c 2.9,0.713 6.368,2.955 5.247,8.405 m -5.25,-9.885 v -2.6 h -1.63 v 3.005 c -1.121,0.357 -1.732,0.713 -1.63,0.917 a 5.119,5.119 0 0 1 1.63,-0.1 v 15.741 c -1.681,3.26 0.713,8.252 0.713,8.252 0,0 -1.783,-5.349 2.19,-7.9 3.668,-2.343 16.4,-1.223 16.352,-8.405 0,-10.188 -11.767,-10.137 -17.625,-8.915"
+         transform="translate(-297.709,-180.508)"
+         fill="#ffffff" />
+      <path
+         id="Path_19"
+         data-name="Path 19"
+         d="m 384.221,186.483 a 4.663,4.663 0 0 0 0.866,0.051 2.758,2.758 0 0 0 1.936,-0.611 2.117,2.117 0 0 0 0.662,-1.681 c 0,-1.375 -0.866,-2.038 -2.649,-2.038 a 5.022,5.022 0 0 0 -0.866,0.1 v 4.177 z m 0,2.853 v 4.432 H 380.4 v -14.162 a 29.174,29.174 0 0 1 4.279,-0.306 c 4.432,0 6.622,1.579 6.622,4.788 a 5.032,5.032 0 0 1 -1.477,3.922 6.265,6.265 0 0 1 -4.381,1.324 9.753,9.753 0 0 1 -1.223,0"
+         transform="translate(-333.484,-177.466)"
+         fill="#ffffff" />
+    </g>
+    <rect
+       id="Rectangle_29"
+       data-name="Rectangle 29"
+       width="4.2789998"
+       height="14.263"
+       transform="translate(347.951,175.187)"
+       fill="#ffffff"
+       x="0"
+       y="0" />
+    <g
+       id="Group_12"
+       data-name="Group 12"
+       transform="translate(355.032,174.983)">
+      <path
+         id="Path_20"
+         data-name="Path 20"
+         d="m 423.121,185.973 h 1.07 a 2.269,2.269 0 0 0 1.579,-0.509 1.639,1.639 0 0 0 0.56,-1.375 q 0,-1.834 -2.14,-1.834 a 6.358,6.358 0 0 0 -1.07,0.1 z m 0,2.8 v 4.992 H 419.3 v -14.159 a 42.086,42.086 0 0 1 5.094,-0.306 c 3.922,0 5.858,1.477 5.858,4.381 a 3.871,3.871 0 0 1 -0.764,2.292 4.207,4.207 0 0 1 -1.988,1.527 v 0.051 a 2.646,2.646 0 0 1 0.968,0.866 6.5,6.5 0 0 1 0.764,1.477 l 1.426,3.922 h -4.024 l -1.223,-3.719 a 1.949,1.949 0 0 0 -0.56,-0.968 1.2,1.2 0 0 0 -0.866,-0.306 h -0.866 z"
+         transform="translate(-419.3,-179.3)"
+         fill="#ffffff" />
+    </g>
+    <path
+       id="Path_21"
+       data-name="Path 21"
+       d="m 448.551,183.8 h 2.6 l -1.273,-5.3 h -0.051 z m 2.089,-9.781 h -3.107 l 1.936,-3.515 h 4.279 z m -2.8,12.684 -0.662,2.751 H 443.1 l 4.687,-14.263 h 4.126 l 4.687,14.259 h -4.126 l -0.662,-2.751 z"
+       transform="translate(-75.944)"
+       fill="#ffffff" />
+    <path
+       id="Path_22"
+       data-name="Path 22"
+       d="m 480.816,179.7 v 3.209 h -3.871 v 11.054 h -3.973 V 182.909 H 469.1 V 179.7 Z"
+       transform="translate(-88.7,-4.513)"
+       fill="#ffffff" />
+    <g
+       id="Group_13"
+       data-name="Group 13"
+       transform="translate(393.237,175.034)">
+      <path
+         id="Path_23"
+         data-name="Path 23"
+         d="m 504.233,183.373 a 8.828,8.828 0 0 0 -4.024,-0.968 2.5,2.5 0 0 0 -1.375,0.306 1,1 0 0 0 -0.458,0.866 c 0,0.56 0.408,0.917 1.274,1.172 a 11.092,11.092 0 0 1 4.33,1.987 4.145,4.145 0 0 1 -0.2,6.164 7.27,7.27 0 0 1 -4.483,1.121 10.863,10.863 0 0 1 -2.7,-0.408 6,6 0 0 1 -2.292,-1.07 l 0.866,-3.005 a 8.413,8.413 0 0 0 2.14,1.07 6.866,6.866 0 0 0 2.139,0.408 c 1.172,0 1.783,-0.408 1.783,-1.273 0,-0.56 -0.509,-0.968 -1.579,-1.274 a 10.417,10.417 0 0 1 -4.075,-1.987 3.808,3.808 0 0 1 -1.223,-2.9 3.719,3.719 0 0 1 1.477,-3.056 6.681,6.681 0 0 1 4.177,-1.121 10.873,10.873 0 0 1 4.89,0.968 z"
+         transform="translate(-494.3,-179.4)"
+         fill="#ffffff" />
+    </g>
+    <path
+       id="Path_24"
+       data-name="Path 24"
+       d="m 523.722,185.762 h 0.051 l 3.668,-6.062 h 4.483 l -4.483,6.826 4.687,7.437 h -4.483 l -3.872,-6.622 h -0.051 v 6.622 H 519.8 V 179.7 h 3.922 z"
+       transform="translate(-113.573,-4.513)"
+       fill="#ffffff" />
+    <path
+       id="Path_25"
+       data-name="Path 25"
+       d="m 550.651,183.8 h 2.6 l -1.274,-5.3 h -0.051 z m 2.089,-9.781 h -3.107 l 1.936,-3.515 h 4.279 z m -2.8,12.684 -0.662,2.751 H 545.2 l 4.687,-14.263 h 4.126 l 4.687,14.259 h -4.126 l -0.662,-2.751 z"
+       transform="translate(-126.034)"
+       fill="#ffffff" />
+    <g
+       id="Group_14"
+       data-name="Group 14"
+       transform="translate(334.758,194.289)">
+      <path
+         id="Path_26"
+         data-name="Path 26"
+         d="m 389.433,221.173 a 8.828,8.828 0 0 0 -4.024,-0.968 2.5,2.5 0 0 0 -1.375,0.306 1,1 0 0 0 -0.458,0.866 c 0,0.56 0.408,0.917 1.274,1.172 a 11.093,11.093 0 0 1 4.33,1.987 4.146,4.146 0 0 1 -0.2,6.164 7.27,7.27 0 0 1 -4.483,1.121 10.866,10.866 0 0 1 -2.7,-0.408 6.866,6.866 0 0 1 -2.292,-1.07 l 0.866,-3.005 a 8.414,8.414 0 0 0 2.139,1.07 6.867,6.867 0 0 0 2.14,0.408 c 1.172,0 1.783,-0.408 1.783,-1.274 0,-0.56 -0.509,-0.968 -1.579,-1.273 a 10.419,10.419 0 0 1 -4.075,-1.987 3.808,3.808 0 0 1 -1.223,-2.9 3.719,3.719 0 0 1 1.477,-3.056 6.681,6.681 0 0 1 4.177,-1.121 10.874,10.874 0 0 1 4.89,0.968 z"
+         transform="translate(-379.5,-217.2)"
+         fill="#ffffff" />
+    </g>
+    <path
+       id="Path_27"
+       data-name="Path 27"
+       d="m 415.016,217.6 v 3.209 h -3.871 v 11.054 h -3.973 V 220.809 H 403.3 V 217.6 Z"
+       transform="translate(-56.418,-23.107)"
+       fill="#ffffff" />
+    <g
+       id="Group_15"
+       data-name="Group 15"
+       transform="translate(360.686,194.289)">
+      <path
+         id="Path_28"
+         data-name="Path 28"
+         d="m 434.221,223.822 h 1.07 a 2.269,2.269 0 0 0 1.579,-0.509 1.639,1.639 0 0 0 0.56,-1.375 q 0,-1.834 -2.14,-1.834 a 6.36,6.36 0 0 0 -1.07,0.1 z m 0,2.853 v 4.992 H 430.4 v -14.161 a 42.1,42.1 0 0 1 5.094,-0.306 c 3.922,0 5.858,1.477 5.858,4.381 a 3.871,3.871 0 0 1 -0.764,2.292 4.207,4.207 0 0 1 -1.988,1.527 v 0.051 a 2.647,2.647 0 0 1 0.968,0.866 6.5,6.5 0 0 1 0.764,1.477 l 1.426,3.922 h -4.024 L 436.513,228 a 1.949,1.949 0 0 0 -0.56,-0.968 1.2,1.2 0 0 0 -0.866,-0.306 h -0.866 z"
+         transform="translate(-430.4,-217.2)"
+         fill="#ffffff" />
+    </g>
+    <path
+       id="Path_29"
+       data-name="Path 29"
+       d="m 460.051,226.158 h 2.6 l -1.273,-5.3 h -0.051 z m -0.713,2.955 -0.662,2.751 H 454.6 l 4.687,-14.263 h 4.126 l 4.687,14.263 h -4.126 l -0.662,-2.751 z"
+       transform="translate(-81.586,-23.107)"
+       fill="#ffffff" />
+    <path
+       id="Path_30"
+       data-name="Path 30"
+       d="M 492.349,225.394 H 492.4 V 217.6 h 3.821 v 14.263 H 492.4 l -4.279,-7.845 h -0.051 v 7.845 H 484.3 V 217.6 h 3.77 z"
+       transform="translate(-96.157,-23.107)"
+       fill="#ffffff" />
+    <path
+       id="Path_31"
+       data-name="Path 31"
+       d="m 516.151,226.158 h 2.6 l -1.274,-5.3 h -0.051 z m -0.713,2.955 -0.662,2.751 H 510.7 l 4.686,-14.263 h 4.126 l 4.687,14.263 h -4.126 l -0.662,-2.751 z"
+       transform="translate(-109.108,-23.107)"
+       fill="#ffffff" />
+  </g>
+</svg>
diff --git a/shared/static/styleguide234/assets/images/logo-round-black.svg b/shared_legacy/static/styleguide2/images/logo-round-black.svg
similarity index 100%
rename from shared/static/styleguide234/assets/images/logo-round-black.svg
rename to shared_legacy/static/styleguide2/images/logo-round-black.svg
diff --git a/shared/static/styleguide234/assets/images/logo-round-white.svg b/shared_legacy/static/styleguide2/images/logo-round-white.svg
similarity index 100%
rename from shared/static/styleguide234/assets/images/logo-round-white.svg
rename to shared_legacy/static/styleguide2/images/logo-round-white.svg
diff --git a/shared_legacy/static/styleguide2/main.css b/shared_legacy/static/styleguide2/main.css
new file mode 100644
index 0000000000000000000000000000000000000000..d2b305ad901c4b61362ad0b7adc0619c0e63cd38
--- /dev/null
+++ b/shared_legacy/static/styleguide2/main.css
@@ -0,0 +1 @@
+@import"https://gfonts.pirati.cz/css2?family=Bebas+Neue&family=Roboto+Condensed:wght@300;400;700&family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400&display=swap";@font-face{font-family:pirati-ui;src:url(/static/styleguide2/pirati-ui.eot?bna028);src:url(/static/styleguide2/pirati-ui.eot?bna028#iefix) format("embedded-opentype"),url(/static/styleguide2/pirati-ui.ttf?bna028) format("truetype"),url(/static/styleguide2/pirati-ui.woff?bna028) format("woff"),url(/static/styleguide2/pirati-ui.svg?bna028#pirati-ui) format("svg");font-weight:400;font-style:normal;font-display:block}[class^=ico--],[class*=" ico--"]{font-family:pirati-ui!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ico--twitter:before{content:""}.ico--mastodon:before{content:""}.ico--helios:before{content:""}.ico--redmine:before{content:""}.ico--zulip:before{content:""}.ico--forum:before{content:""}.ico--pirati:before{content:""}.ico--jitsi:before{content:""}.ico--open-source:before{content:""}.ico--donation-full:before{content:""}.ico--donation-outline:before{content:""}.ico--strategy:before{content:""}.ico--pig:before{content:""}.ico--thermometer:before{content:""}.ico--menu:before{content:""}.ico--chevron-right:before{content:""}.ico--chevron-left:before{content:""}.ico--chevron-down:before{content:""}.ico--chevron-up:before{content:""}.ico--link-horizontal:before{content:""}.ico--beer:before{content:""}.ico--food:before{content:""}.ico--dots-three-vertical:before{content:""}.ico--dots-three-horizontal:before{content:""}.ico--log-out:before{content:""}.ico--envelope:before{content:""}.ico--pin:before{content:""}.ico--at:before{content:""}.ico--glass:before{content:""}.ico--checkmark:before{content:""}.ico--info:before{content:""}.ico--question:before{content:""}.ico--warning:before{content:""}.ico--code:before{content:""}.ico--checkbox-unchecked:before{content:""}.ico--star-full:before{content:""}.ico--star-empty:before{content:""}.ico--bookmark:before{content:""}.ico--cog:before{content:""}.ico--key:before{content:""}.ico--zoom-in:before{content:""}.ico--zoom-out:before{content:""}.ico--shrink:before{content:""}.ico--printer:before{content:""}.ico--file-openoffice:before{content:""}.ico--user:before{content:""}.ico--file-excel:before{content:""}.ico--file-word:before{content:""}.ico--file-pdf:before{content:""}.ico--file-picture:before{content:""}.ico--file-blank:before{content:""}.ico--folder-upload:before{content:""}.ico--upload:before{content:""}.ico--cloud-upload:before{content:""}.ico--folder-download:before{content:""}.ico--download:before{content:""}.ico--cloud-download:before{content:""}.ico--alarm:before{content:""}.ico--calculator:before{content:""}.ico--facebook-full:before{content:""}.ico--feed:before{content:""}.ico--library:before{content:""}.ico--office:before{content:""}.ico--attachment:before{content:""}.ico--enlarge:before{content:""}.ico--eye-off:before{content:""}.ico--eye:before{content:""}.ico--share:before{content:""}.ico--search:before{content:""}.ico--pencil:before{content:""}.ico--lock-open:before{content:""}.ico--lock:before{content:""}.ico--equalizer:before{content:""}.ico--switch:before{content:""}.ico--loop:before{content:""}.ico--refresh:before{content:""}.ico--bullhorn:before{content:""}.ico--bin:before{content:""}.ico--cross:before{content:""}.ico--checkbox-checked:before{content:""}.ico--globe:before{content:""}.ico--wikipedia:before{content:""}.ico--youtube:before{content:""}.ico--users:before{content:""}.ico--book:before{content:""}.ico--bubbles:before{content:""}.ico--map:before{content:""}.ico--compass:before{content:""}.ico--folder-open:before{content:""}.ico--folder:before{content:""}.ico--drawer:before{content:""}.ico--stop:before{content:""}.ico--github:before{content:""}.ico--clock:before{content:""}.ico--calendar:before{content:""}.ico--flickr:before{content:""}.ico--instagram:before{content:""}.ico--newspaper:before{content:""}.ico--cart:before{content:""}.ico--home:before{content:""}.ico--link:before{content:""}.ico--power:before{content:""}.ico--rocket:before{content:""}.ico--location:before{content:""}.ico--phone:before{content:""}.ico--linkedin:before{content:""}.ico--facebook:before{content:""}.ico--envelop:before{content:""}.ico--file-text2:before{content:""}.ico--price-tag:before{content:""}.ico--price-tags:before{content:""}.ico--stats-dots:before{content:""}.ico--bed:before{content:""}.ico--train:before{content:""}.ico--bus:before{content:""}.ico--wheelchair:before{content:""}.ico--thumbs-down:before{content:""}.ico--thumbs-up:before{content:""}.ico--anchor:before{content:""}.ico--paw:before{content:""}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;text-align:start;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-black{--tw-prose-body: #000000;--tw-prose-headings: #000000;--tw-prose-lead: #000000;--tw-prose-links: #000000;--tw-prose-bold: #000000;--tw-prose-counters: #000000;--tw-prose-bullets: #000000;--tw-prose-hr: #000000;--tw-prose-quotes: #000000;--tw-prose-quote-borders: #000000;--tw-prose-captions: #000000;--tw-prose-code: #000000;--tw-prose-pre-code: #000000;--tw-prose-pre-bg: #ffffff;--tw-prose-th-borders: #000000;--tw-prose-td-borders: #000000;--tw-prose-invert-body: #ffffff;--tw-prose-invert-headings: #ffffff;--tw-prose-invert-lead: #ffffff;--tw-prose-invert-links: #ffffff;--tw-prose-invert-bold: #ffffff;--tw-prose-invert-counters: #ffffff;--tw-prose-invert-bullets: #ffffff;--tw-prose-invert-hr: #ffffff;--tw-prose-invert-quotes: #ffffff;--tw-prose-invert-quote-borders: #ffffff;--tw-prose-invert-captions: #ffffff;--tw-prose-invert-code: #ffffff;--tw-prose-invert-pre-code: #ffffff;--tw-prose-invert-pre-bg: #000000;--tw-prose-invert-th-borders: #ffffff;--tw-prose-invert-td-borders: #ffffff}.btn{display:inline-block;text-align:center;font-weight:400;max-width:20rem;text-decoration:none}.btn[disabled]{opacity:.7;cursor:not-allowed}.btn:hover{text-decoration:none}.btn__body{display:flex;height:100%;align-items:center;justify-content:center;padding:.25em 2em}.btn__body-wrap{min-width:10rem;min-height:2.75rem}.btn__body,.btn__icon,.btn__inline-icon{transition-property:color,background-color,border-color;transition-duration:.2s;color:#fff}.btn__body,.btn__icon{background-color:#000}.btn--icon .btn__body-wrap{display:flex}.btn--condensed .btn__body{padding:.75em 1em}@keyframes btn-loading-spinner{to{transform:rotate(360deg)}}.btn--black .btn__body,.btn--black .btn__icon{background-color:#000;color:#fff}.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#000;color:#fff}.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#262626}.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--black.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-black:hover .btn__body,.btn--to-black.btn--activated .btn__body{background-color:#000!important;color:#fff!important}.btn--hoveractive.btn--to-black:hover .btn__icon,.btn--to-black.btn--activated .btn__icon{border-color:#343434!important;background-color:#000!important}.btn--hoveractive.btn--to-black:hover .btn__inline-icon,.btn--to-black.btn--activated .btn__inline-icon{color:#fff!important}.btn--grey-700 .btn__body,.btn--grey-700 .btn__icon{background-color:#202020;color:#fff}.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#343434;color:#fff}.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#262626}.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-700:hover .btn__body,.btn--to-grey-700.btn--activated .btn__body{background-color:#202020!important;color:#fff!important}.btn--hoveractive.btn--to-grey-700:hover .btn__icon,.btn--to-grey-700.btn--activated .btn__icon{border-color:#303132!important;background-color:#202020!important}.btn--hoveractive.btn--to-grey-700:hover .btn__inline-icon,.btn--to-grey-700.btn--activated .btn__inline-icon{color:#fff!important}.btn--grey-500 .btn__body,.btn--grey-500 .btn__icon{background-color:#303132;color:#fff}.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#4c4c4c;color:#fff}.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#343434}.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-500:hover .btn__body,.btn--to-grey-500.btn--activated .btn__body{background-color:#303132!important;color:#fff!important}.btn--hoveractive.btn--to-grey-500:hover .btn__icon,.btn--to-grey-500.btn--activated .btn__icon{border-color:#4c4c4c!important;background-color:#303132!important}.btn--hoveractive.btn--to-grey-500:hover .btn__inline-icon,.btn--to-grey-500.btn--activated .btn__inline-icon{color:#fff!important}.btn--grey-125 .btn__body,.btn--grey-125 .btn__icon{background-color:#f0f0f0;color:#000}.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:silver;color:#fff}.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#a8a8a8}.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-125.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-125:hover .btn__body,.btn--to-grey-125.btn--activated .btn__body{background-color:#f0f0f0!important;color:#000!important}.btn--hoveractive.btn--to-grey-125:hover .btn__icon,.btn--to-grey-125.btn--activated .btn__icon{border-color:#d8d8d8!important;background-color:#f0f0f0!important}.btn--hoveractive.btn--to-grey-125:hover .btn__inline-icon,.btn--to-grey-125.btn--activated .btn__inline-icon{color:#000!important}.btn--grey-175 .btn__body,.btn--grey-175 .btn__icon{background-color:#d0d0d0;color:#000}.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#a6a6a6;color:#fff}.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#929292}.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--grey-175.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-grey-175:hover .btn__body,.btn--to-grey-175.btn--activated .btn__body{background-color:#d0d0d0!important;color:#000!important}.btn--hoveractive.btn--to-grey-175:hover .btn__icon,.btn--to-grey-175.btn--activated .btn__icon{border-color:#bbb!important;background-color:#d0d0d0!important}.btn--hoveractive.btn--to-grey-175:hover .btn__inline-icon,.btn--to-grey-175.btn--activated .btn__inline-icon{color:#000!important}.btn--white .btn__body,.btn--white .btn__icon{background-color:#fff;color:#000}.btn--white .btn__icon{border-color:#f3f3f3;background-color:#fff}.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#ccc;color:#fff}.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#b3b3b3}.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--white.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-white:hover .btn__body,.btn--to-white.btn--activated .btn__body{background-color:#fff!important;color:#000!important}.btn--hoveractive.btn--to-white:hover .btn__icon,.btn--to-white.btn--activated .btn__icon{border-color:#f3f3f3!important;background-color:#fff!important}.btn--hoveractive.btn--to-white:hover .btn__inline-icon,.btn--to-white.btn--activated .btn__inline-icon{color:#000!important}.btn--blue-300 .btn__body,.btn--blue-300 .btn__icon{background-color:#027da8;color:#fff}.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#026486;color:#fff}.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#015876}.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--blue-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-blue-300:hover .btn__body,.btn--to-blue-300.btn--activated .btn__body{background-color:#027da8!important;color:#fff!important}.btn--hoveractive.btn--to-blue-300:hover .btn__icon,.btn--to-blue-300.btn--activated .btn__icon{border-color:#027197!important;background-color:#027da8!important}.btn--hoveractive.btn--to-blue-300:hover .btn__inline-icon,.btn--to-blue-300.btn--activated .btn__inline-icon{color:#fff!important}.btn--cyan-200 .btn__body,.btn--cyan-200 .btn__icon{background-color:#57b3bd;color:#fff}.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#3e959f;color:#fff}.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#37838b}.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--cyan-200.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-cyan-200:hover .btn__body,.btn--to-cyan-200.btn--activated .btn__body{background-color:#57b3bd!important;color:#fff!important}.btn--hoveractive.btn--to-cyan-200:hover .btn__icon,.btn--to-cyan-200.btn--activated .btn__icon{border-color:#46a8b2!important;background-color:#57b3bd!important}.btn--hoveractive.btn--to-cyan-200:hover .btn__inline-icon,.btn--to-cyan-200.btn--activated .btn__inline-icon{color:#fff!important}.btn--green-300 .btn__body,.btn--green-300 .btn__icon{background-color:#76cc9f;color:#fff}.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#47bb7e;color:#fff}.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#3da46e}.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--green-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-green-300:hover .btn__body,.btn--to-green-300.btn--activated .btn__body{background-color:#76cc9f!important;color:#fff!important}.btn--hoveractive.btn--to-green-300:hover .btn__icon,.btn--to-green-300.btn--activated .btn__icon{border-color:#5fc38f!important;background-color:#76cc9f!important}.btn--hoveractive.btn--to-green-300:hover .btn__inline-icon,.btn--to-green-300.btn--activated .btn__inline-icon{color:#fff!important}.btn--green-400 .btn__body,.btn--green-400 .btn__icon{background-color:#4ca971;color:#fff}.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#3d875a;color:#fff}.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#35764f}.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--green-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-green-400:hover .btn__body,.btn--to-green-400.btn--activated .btn__body{background-color:#4ca971!important;color:#fff!important}.btn--hoveractive.btn--to-green-400:hover .btn__icon,.btn--to-green-400.btn--activated .btn__icon{border-color:#449866!important;background-color:#4ca971!important}.btn--hoveractive.btn--to-green-400:hover .btn__inline-icon,.btn--to-green-400.btn--activated .btn__inline-icon{color:#fff!important}.btn--green-500 .btn__body,.btn--green-500 .btn__icon{background-color:#4fc49f;color:#000}.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#37a582;color:#fff}.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#309072}.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--green-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-green-500:hover .btn__body,.btn--to-green-500.btn--activated .btn__body{background-color:#4fc49f!important;color:#000!important}.btn--hoveractive.btn--to-green-500:hover .btn__icon,.btn--to-green-500.btn--activated .btn__icon{border-color:#3eb992!important;background-color:#4fc49f!important}.btn--hoveractive.btn--to-green-500:hover .btn__inline-icon,.btn--to-green-500.btn--activated .btn__inline-icon{color:#000!important}.btn--yellow-500 .btn__body,.btn--yellow-500 .btn__icon{background-color:#f9ce05;color:#000}.btn--yellow-500 .btn__icon{border-color:#e0b905;background-color:#f9ce05}.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#c7a504;color:#fff}.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#ae9004}.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--yellow-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-yellow-500:hover .btn__body,.btn--to-yellow-500.btn--activated .btn__body{background-color:#f9ce05!important;color:#000!important}.btn--hoveractive.btn--to-yellow-500:hover .btn__icon,.btn--to-yellow-500.btn--activated .btn__icon{border-color:#e0b905!important;background-color:#f9ce05!important}.btn--hoveractive.btn--to-yellow-500:hover .btn__inline-icon,.btn--to-yellow-500.btn--activated .btn__inline-icon{color:#000!important}.btn--yellow-600 .btn__body,.btn--yellow-600 .btn__icon{background-color:#d7b103;color:#000}.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#ac8e02;color:#fff}.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#977c02}.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--yellow-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-yellow-600:hover .btn__body,.btn--to-yellow-600.btn--activated .btn__body{background-color:#d7b103!important;color:#000!important}.btn--hoveractive.btn--to-yellow-600:hover .btn__icon,.btn--to-yellow-600.btn--activated .btn__icon{border-color:#c29f03!important;background-color:#d7b103!important}.btn--hoveractive.btn--to-yellow-600:hover .btn__inline-icon,.btn--to-yellow-600.btn--activated .btn__inline-icon{color:#000!important}.btn--orange-300 .btn__body,.btn--orange-300 .btn__icon{background-color:#ed9654;color:#fff}.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#e7721a;color:#fff}.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#cb6415}.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--orange-300.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-orange-300:hover .btn__body,.btn--to-orange-300.btn--activated .btn__body{background-color:#ed9654!important;color:#fff!important}.btn--hoveractive.btn--to-orange-300:hover .btn__icon,.btn--to-orange-300.btn--activated .btn__icon{border-color:#ea8437!important;background-color:#ed9654!important}.btn--hoveractive.btn--to-orange-300:hover .btn__inline-icon,.btn--to-orange-300.btn--activated .btn__inline-icon{color:#fff!important}.btn--violet-400 .btn__body,.btn--violet-400 .btn__icon{background-color:#840048;color:#fff}.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#6a003a;color:#fff}.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#5c0032}.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--violet-400.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-violet-400:hover .btn__body,.btn--to-violet-400.btn--activated .btn__body{background-color:#840048!important;color:#fff!important}.btn--hoveractive.btn--to-violet-400:hover .btn__icon,.btn--to-violet-400.btn--activated .btn__icon{border-color:#770041!important;background-color:#840048!important}.btn--hoveractive.btn--to-violet-400:hover .btn__inline-icon,.btn--to-violet-400.btn--activated .btn__inline-icon{color:#fff!important}.btn--violet-500 .btn__body,.btn--violet-500 .btn__icon{background-color:#670047;color:#000}.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#520039;color:#fff}.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#480032}.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--violet-500.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-violet-500:hover .btn__body,.btn--to-violet-500.btn--activated .btn__body{background-color:#670047!important;color:#000!important}.btn--hoveractive.btn--to-violet-500:hover .btn__icon,.btn--to-violet-500.btn--activated .btn__icon{border-color:#5d0040!important;background-color:#670047!important}.btn--hoveractive.btn--to-violet-500:hover .btn__inline-icon,.btn--to-violet-500.btn--activated .btn__inline-icon{color:#000!important}.btn--violet-700 .btn__body,.btn--violet-700 .btn__icon{background-color:#7d347d;color:#000}.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#642a64;color:#fff}.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#582458}.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--violet-700.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-violet-700:hover .btn__body,.btn--to-violet-700.btn--activated .btn__body{background-color:#7d347d!important;color:#000!important}.btn--hoveractive.btn--to-violet-700:hover .btn__icon,.btn--to-violet-700.btn--activated .btn__icon{border-color:#712f71!important;background-color:#7d347d!important}.btn--hoveractive.btn--to-violet-700:hover .btn__inline-icon,.btn--to-violet-700.btn--activated .btn__inline-icon{color:#000!important}.btn--red-600 .btn__body,.btn--red-600 .btn__icon{background-color:#d60d53;color:#fff}.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#ab0a42;color:#fff}.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#96093a}.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--red-600.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-red-600:hover .btn__body,.btn--to-red-600.btn--activated .btn__body{background-color:#d60d53!important;color:#fff!important}.btn--hoveractive.btn--to-red-600:hover .btn__icon,.btn--to-red-600.btn--activated .btn__icon{border-color:#c10c4b!important;background-color:#d60d53!important}.btn--hoveractive.btn--to-red-600:hover .btn__inline-icon,.btn--to-red-600.btn--activated .btn__inline-icon{color:#fff!important}.btn--brands-facebook .btn__body,.btn--brands-facebook .btn__icon{background-color:#067ceb;color:#fff}.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__body,.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{background-color:#0563bc;color:#fff}.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon{border-color:#0457a5}.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon svg,.btn--brands-facebook.btn--hoveractive:not([class^=btn--to-]):hover .btn__icon i{color:#fff;fill:#fff}.btn--hoveractive.btn--to-brands-facebook:hover .btn__body,.btn--to-brands-facebook.btn--activated .btn__body{background-color:#067ceb!important;color:#fff!important}.btn--hoveractive.btn--to-brands-facebook:hover .btn__icon,.btn--to-brands-facebook.btn--activated .btn__icon{border-color:#0570d4!important;background-color:#067ceb!important}.btn--hoveractive.btn--to-brands-facebook:hover .btn__inline-icon,.btn--to-brands-facebook.btn--activated .btn__inline-icon{color:#fff!important}.container--default{max-width:1200px}.container--narrow{margin:auto;width:882px}.container--medium{padding-left:1.25rem;padding-right:1.25rem;margin:auto;max-width:1350px}.container--wide{padding-left:1.25rem;padding-right:1.25rem;margin:auto;max-width:1400px}.header-max-width{max-width:1340px!important}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;max-width:1150px}.grid-container{margin-left:1.25rem;margin-right:1.25rem;display:grid;grid-template-columns:1fr;grid-template-areas:"left-side" "content" "right-side";gap:1rem;max-width:1150px}.grid-container.article-section,.grid-container.person-grid-container{max-width:1400px}.grid-container.person-twitter-section{grid-template-columns:minmax(0,1200px)}@media (min-width: 1200px){.grid-container.person-twitter-section{grid-template-columns:minmax(0,240px) minmax(0,1fr) minmax(0,102px)}}.grid-container.no-max{max-width:none}.grid-content{grid-area:content}.grid-full{grid-column:left-side / right-side;grid-row:left-side / right-side}.grid-left-side{grid-area:left-side}.grid-left-side-with-content{grid-column:left-side / content;grid-row:left-side / content}.grid-right-side{grid-area:right-side}.grid-content-with-right-side{grid-column:content / right-side;grid-row:content / right-side}.footer-section{height:450px}.person-box-medium{max-width:485px;width:100%}.person-box-big{max-width:575px;width:100%}@media (min-width: 1200px){.footer-section{height:981px}}.text-input-addon{display:flex;align-items:center;border-width:1px;--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity));padding:.75rem 1rem;font-size:1.125rem;font-weight:400;--tw-text-opacity: 1;color:rgb(76 76 76 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.text-input{border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity));padding:.75rem 1rem;font-size:1.125rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;min-width:0px}.text-input:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.text-input:active:not([disabled]):not([readonly]),.text-input:focus:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.text-input::-moz-placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input::placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input[readonly],.text-input[disabled]{cursor:not-allowed;--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity))}.text-input[readonly]::-moz-placeholder,.text-input[disabled]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input[readonly]::placeholder,.text-input[disabled]::placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input-addon--l{border-right-width:0px}.text-input-addon--r{border-left-width:0px}.text-input:hover:not([disabled]):not([readonly])~.text-input-addon{--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.text-input:focus:not([disabled]):not([readonly])~.text-input-addon,.text-input:active:not([disabled]):not([readonly])~.text-input-addon{--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.text-input[readonly]~.text-input-addon,.text-input[disabled]~.text-input-addon{--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-input--has-addon-l.text-input{border-left-width:0px}.text-input--has-addon-r.text-input{border-right-width:0px}.select{position:relative;display:flex;width:100%;align-items:center;padding-top:.5rem;padding-bottom:.5rem}@media (min-width: 1200px){.select{padding-top:1rem;padding-bottom:1rem}}.select:after{position:absolute;right:0;padding-right:.75rem;font-size:1.3rem;font-weight:700;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;font-family:pirati-ui;content:""}.select__control{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;border-width:1px;--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity));padding:.75rem 2rem .75rem 1rem;font-size:1.125rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}@media (min-width: 1200px){.select__control{padding-top:1.25rem;padding-bottom:1.25rem}}.select__control{min-width:0px}.select__control:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.select__control:active:not([disabled]):not([readonly]),.select__control:focus:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.select__control::-moz-placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.select__control::placeholder{font-weight:400;--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.select__control[readonly],.select__control[disabled]{cursor:not-allowed;--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity))}.select__control[readonly]::-moz-placeholder,.select__control[disabled]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.select__control[readonly]::placeholder,.select__control[disabled]::placeholder{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.checkbox{position:relative;display:flex}.checkbox input{margin-right:.5rem;height:1.25rem;width:1.25rem;flex-shrink:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-width:1px;--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.checkbox input:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(254 201 0 / var(--tw-border-opacity))}.checkbox input:checked{border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity))}.checkbox input[disabled]{cursor:not-allowed}.checkbox label{line-height:1.25}.checkbox:after{pointer-events:none;position:absolute;display:inline;content:"";height:5px;width:12px;top:6px;left:4px;border-left:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(-45deg)}.radio{position:relative}.radio input{margin-right:.5rem;height:1.25rem;width:1.25rem;flex-shrink:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:9999px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(173 173 173 / var(--tw-bg-opacity));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.radio input:hover:not([disabled]):not([readonly]){--tw-border-opacity: 1;border-color:rgb(76 76 76 / var(--tw-border-opacity))}.radio input:active,.radio input:focus{--tw-border-opacity: 1;border-color:rgb(2 125 168 / var(--tw-border-opacity))}.radio input:checked{border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(2 125 168 / var(--tw-bg-opacity))}.radio input[disabled]{cursor:not-allowed}.radio label{display:flex;align-items:center;line-height:1.25}.radio:after{pointer-events:none;position:absolute;display:inline;height:.5rem;width:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));content:"";border-radius:50%;top:.375rem;left:.375rem}.form-field--error .text-input,.form-field--error .select__control,.form-field--error .text-input~.text-input-addon{--tw-border-opacity: 1;border-color:rgb(214 13 83 / var(--tw-border-opacity))}.h-default{font-weight:500;line-height:1.25}.h-alt{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-weight:400;line-height:.96}.h-allcaps{font-weight:400;text-transform:uppercase;line-height:1.25}.head-xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;text-transform:uppercase;line-height:1}@media (min-width: 992px){.head-xl{font-size:1.3rem}}.head-2xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.6rem;font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:-.01em}.head-3xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;text-transform:uppercase;line-height:1}.head-4xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-4xl{font-size:2.45rem;line-height:1}}@media (min-width: 1200px){.head-4xl{font-size:2.45rem}}.head-6xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:2.45rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-6xl{font-size:3rem;line-height:1}}@media (min-width: 1200px){.head-6xl{font-size:4rem}}.head-7xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:2.45rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-7xl{font-size:3rem;line-height:1}}@media (min-width: 1200px){.head-7xl{font-size:5.3rem}}.head-8xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-8xl{font-size:5.3rem;line-height:1}}@media (min-width: 1200px){.head-8xl{font-size:6.25rem}}.head-9xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;font-weight:500;text-transform:uppercase}@media (min-width: 768px){.head-9xl{font-size:6.25rem;line-height:1}}@media (min-width: 1200px){.head-9xl{font-size:6.25rem}}.head-10xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;font-weight:500;text-transform:uppercase;letter-spacing:-.025em}@media (min-width: 768px){.head-10xl{font-size:7.5rem;line-height:1}}@media (min-width: 1200px){.head-10xl{font-size:7.5rem}}.head-14xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:5.3rem;font-weight:500;text-transform:uppercase;line-height:4.75rem}@media (min-width: 1200px){.head-14xl{font-size:10.6rem;line-height:9.8rem}}.head-14xl.head-short{font-size:6.25rem;line-height:9.8rem}@media (min-width: 1200px){.head-14xl.head-short{font-size:10.6rem}}.head-14xl.head-compact{line-height:4rem}@media (min-width: 1200px){.head-14xl.head-compact{line-height:8.9rem}}.prose :where(.head-6xl):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(.head-7xl):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(.head-8xl):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(.head-9xl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.25em}p{font-size:.875rem;line-height:1.5rem}@media (min-width: 992px){p{font-size:1rem}}.vertical-time-line{border-left:1px solid green}.program-perex .content-block p{font-size:1.3rem;line-height:1.75rem}.content-block h2{margin-bottom:1.25rem;font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;font-weight:500;text-transform:uppercase;line-height:1.75rem}@media (min-width: 992px){.content-block h2{line-height:2.5rem}}@media (min-width: 1200px){.content-block h2{font-size:2.45rem}}.content-block h3{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.125rem;font-weight:500;text-transform:uppercase;line-height:1rem}@media (min-width: 1200px){.content-block h3{font-size:1.875rem;line-height:2rem}}.content-block h4{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-weight:500;text-transform:uppercase;line-height:2rem}@media (min-width: 1200px){.content-block h4{font-size:1.6rem}}.content-block h4{letter-spacing:-.01em}.content-block a{--tw-text-opacity: 1;color:rgb(2 125 168 / var(--tw-text-opacity));text-decoration-line:underline}:root{--fc-button-bg-color: #000;--fc-button-border-color: #000;--fc-button-hover-bg-color: #fec900;--fc-button-hover-border-color: #fec900;--fc-button-active-bg-color: #fec900;--fc-button-active-border-color: #fec900;--fc-event-bg-color: #fec900;--fc-event-border-color: #fec900;--fc-event-text-color: #000;--fc-border-color: #000;--fc-today-bg-color: #000;--fc-event-dot-color: #000}.fc-col-header{width:100%!important}.fc .fc-col-header-cell-cushion:not([href]):hover,.fc .fc-daygrid-day-number:not([href]):hover{text-decoration-line:none}.fc .fc-col-header-cell{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:.75rem;font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.3rem;text-transform:capitalize;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.fc .fc-button{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:.5rem 1.25rem;text-align:center;font-size:1.125rem;font-weight:600;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.fc .fc-button:hover{text-decoration-line:none}.fc .fc-button:hover:not(:disabled),.fc .fc-button:active:not(:disabled){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.fc .fc-event{cursor:pointer;border-radius:0;border-style:none;padding:.375rem;font-size:1rem;background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);color:var(--fc-event-text-color)}.fc-header-toolbar{align-items:flex-start!important}@media (min-width: 1200px){.fc-header-toolbar{align-items:center!important}}.fc .fc-toolbar-title,.fc .fc-today-button{font-family:Roboto Condensed,Helvetica,Arial,sans-serif;text-transform:capitalize}.fc-toolbar-chunk{display:flex;flex-wrap:wrap-reverse;justify-content:flex-end;gap:.5rem}.fc .fc-daygrid-day-number{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}@media (min-width: 1200px){.fc .fc-daygrid-day-number{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem}}.fc-daygrid-body,.fc-scrollgrid-sync-table{width:100%!important}@media (min-width: 1200px){.fc-daygrid-body,.fc-scrollgrid-sync-table{width:unset}}.fc .fc-day-today .fc-daygrid-day-number{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-dot-color)}.fc .fc-scroller-harness{overflow:visible}.article-box.dark-theme{background-color:#4c4c4c;color:#fff}.quote-icon{font-size:7rem;height:1rem}@media (min-width: 1200px){.quote-icon{font-size:15rem}}.header-carousel{display:block;margin:0 auto;position:relative}.header-carousel .header-carousel--text-wrapper,.header-carousel .elections--header-carousel--text-wrapper,.header-carousel .onboarding--header-carousel-text-wrapper{position:absolute;width:98vw;font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:3rem;text-transform:uppercase}@media (min-width: 992px){.header-carousel .header-carousel--text-wrapper,.header-carousel .elections--header-carousel--text-wrapper{font-size:5.3rem}.header-carousel .onboarding--header-carousel-text-wrapper{font-size:4rem}}.header-carousel .header-carousel--text-wrapper{bottom:37%;height:85%}@media (min-width: 1200px){.header-carousel .header-carousel--text-wrapper{bottom:33%}}.header-carousel .elections--header-carousel--text-wrapper{bottom:45%;height:85%}@media (min-width: 1200px){.header-carousel .elections--header-carousel--text-wrapper{bottom:10%}}.header-carousel .header-carousel--image{inset:0;position:absolute;height:100%;width:100vw;-o-object-fit:cover;object-fit:cover}@media (min-width: 1200px){.header-carousel .header-carousel--image{height:458px}}@media (min-width: 768px){.header-carousel .header-carousel--image{height:100%}}@keyframes right_to_left{0%{margin-left:20%}to{margin-left:10%}}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:Bebas Neue,Helvetica,Arial,sans-serif;line-height:2.25rem}.switch{margin-left:auto;margin-right:auto;padding-top:1.25rem;padding-bottom:1.25rem}.switch__item,.switch__item--elections{margin-bottom:.5rem;cursor:pointer;white-space:nowrap;padding:.5rem 1.25rem;text-align:center;font-weight:400;transition-duration:.2s}.switch__item:not(:last-child),.switch__item--elections:not(:last-child){margin-right:.5rem}.switch__item{--tw-bg-opacity: 1;background-color:rgb(249 206 5 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.switch__item:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity));text-decoration-line:none}.switch__item.switch__item--active,.switch__item.switch__item--active:hover{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity))}.switch__item--elections{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.switch__item--elections:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));text-decoration-line:none}.switch__item--elections.switch__item--active,.switch__item--elections.switch__item--active:hover{--tw-bg-opacity: 1;background-color:rgb(79 79 79 / var(--tw-bg-opacity))}.horizontal-scrolling{display:block;margin-left:-15px;margin-right:-15px;max-width:calc(100vw - 50px);overflow-x:scroll;overflow-y:hidden;text-align:center;white-space:nowrap}@media (min-width: 1200px){.horizontal-scrolling{max-width:calc(100% + 30px)}}.horizontal-scrolling.draggable{cursor:grab}.horizontal-scrolling.draggable.active,.horizontal-scrolling.draggable.active a{cursor:grabbing}.no-scrollbars{-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:none}.no-scrollbars::-webkit-scrollbar{display:none}.background-hover-zoom{background-position:center;background-size:100%;transition:background-size .3s ease-in}.background-hover-zoom:hover{background-size:110%}.popout__toggle-wrapper{display:flex;cursor:pointer;align-items:center;justify-content:space-between;padding-left:1.25rem;padding-right:1.25rem;font-size:1.125rem;transition-duration:.15s}.popout__toggle-wrapper:hover{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity))}.popout__toggle-wrapper.popout__toggle-wrapper--active{--tw-bg-opacity: 1;background-color:rgb(249 206 5 / var(--tw-bg-opacity))}.popout__toggle-name{padding-top:1rem;padding-bottom:1rem}.popout__content-wrapper{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem}.popout__toggle-arrow{font-size:2.45rem}.candidate-secondary-box:not(:last-child){border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(208 208 208 / var(--tw-border-opacity))}.candidate-primary-box:nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity))}.candidate-primary-box:nth-child(odd) .candidate-primary-box--content{flex-direction:column-reverse}@media (min-width: 992px){.candidate-primary-box:nth-child(odd) .candidate-primary-box--content{flex-direction:row}.candidate-primary-box:nth-child(odd) .candidate-primary-box--text-column{align-items:flex-end}}.candidate-primary-box:nth-child(odd) .candidate-primary-box--text-column__hidden{--tw-translate-x: -100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.candidate-primary-box:nth-child(odd) .candidate-primary-box--image-column__hidden{--tw-translate-x: 100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.candidate-primary-box:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(238 238 238 / var(--tw-bg-opacity))}.candidate-primary-box:nth-child(2n) .candidate-primary-box--content{flex-direction:column-reverse}@media (min-width: 992px){.candidate-primary-box:nth-child(2n) .candidate-primary-box--content{flex-direction:row-reverse}}.candidate-primary-box:nth-child(2n) .candidate-primary-box--text-column{align-items:flex-start}.candidate-primary-box:nth-child(2n) .candidate-primary-box--text-column__hidden{--tw-translate-x: 100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.candidate-primary-box:nth-child(2n) .candidate-primary-box--image-column__hidden{--tw-translate-x: -100vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flip-card .prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75rem;margin-bottom:.75rem}.flip-card .prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.25rem;margin-bottom:.25rem}.flip-card{height:33rem;width:auto;cursor:pointer;perspective:1000px}.flip-card-inner{position:relative;width:100%;height:100%;transition:transform .8s;transform-style:preserve-3d}.flip-card:hover .flip-card-inner,.flip-card:focus .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden}.flip-card-back{transform:rotateY(180deg)}.article-timeline-grid{display:grid;gap:.5rem;margin-top:-20px;grid-template-areas:"left-article" "right-article"}@media (min-width: 1200px){.article-timeline-grid{grid-template-columns:minmax(0,570px) 1px minmax(0,570px);grid-template-areas:"left-article timeline right-article"}}.article-timeline-grid__left-article{grid-area:left-article}.article-timeline-grid__right-article{grid-area:right-article}.article-timeline-grid__timeline{grid-area:timeline}.article-timeline-grid__timeline:before{content:"";background:linear-gradient(180deg,#02002400,#fff);position:absolute;bottom:-1px;height:20px;z-index:10;width:2px;left:-1px}.article-timeline-grid__timeline .article-timeline--month{transform:translate(-50%);top:-1rem;z-index:100}.footer-collapsible__toggle{display:flex;cursor:pointer;align-items:center}.footer-collapsible__toggle:after{content:"";font-family:pirati-ui;margin-left:auto;font-size:3rem;font-weight:300;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.footer-collapsible__toggle.footer-collapsible__toggle--open:after{transform:rotate(-180deg)}@media (min-width: 768px){.footer-collapsible__toggle:after{display:none;cursor:auto}}.navbar{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.navbar .navbar__logo--white{--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity))!important}.navbar .navbar__logo--white:not(.navbar__district__logo){display:inline}.navbar .navbar__logo--white.navbar__district__logo{display:flex}.navbar .navbar__logo--black{display:none;--tw-text-opacity: 1 !important;color:rgb(0 0 0 / var(--tw-text-opacity))!important}.navbar .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.navbar .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity))}.navbar .navbar__menu-item--selected{text-decoration-line:underline}.navbar .navbar__menu-item--selected:hover{text-decoration-line:none}.navbar.navbar--onboarding{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.navbar.navbar--onboarding.navbar--transparent{background-color:transparent}.navbar.navbar--onboarding.navbar--transparent .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(254 201 0 / var(--tw-text-opacity))}.navbar.navbar--onboarding.navbar--transparent .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.navbar.navbar--elections{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.navbar.navbar--elections .navbar__logo--white{display:none}.navbar.navbar--elections .navbar__logo--black{display:inline}.navbar.navbar--elections .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(254 201 0 / var(--tw-text-opacity))}.navbar.navbar--elections .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.navbar.navbar--elections .bar1,.navbar.navbar--elections .bar2,.navbar.navbar--elections .bar3{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.navbar.navbar--elections.navbar--elections-transparent{background-color:transparent}.navbar.navbar--elections.navbar--elections-transparent .navbar__border-button{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.navbar.navbar--elections.navbar--elections-transparent .navbar__border-button:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity))}.navbar.navbar--transparent{background-color:transparent}@media (min-width: 1200px){.navbar.navbar--transparent{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}}.navbar.navbar--transparent .navbar__logo--white{display:none}.navbar.navbar--transparent .navbar__logo--black:not(.navbar__district__logo){display:inline}.navbar.navbar--transparent .navbar__logo--black.navbar__district__logo{display:flex}.navbar.navbar--transparent .bar1,.navbar.navbar--transparent .bar2,.navbar.navbar--transparent .bar3{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}@media (min-width: 1200px){.navbar.navbar--transparent.navbar--on-dark-bg{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}.navbar.navbar--transparent.navbar--on-dark-bg .navbar__logo--white:not(.navbar__district__logo){display:inline}.navbar.navbar--transparent.navbar--on-dark-bg .navbar__logo--white.navbar__district__logo{display:flex}.navbar.navbar--transparent.navbar--on-dark-bg .navbar__logo--black{display:none}.navbar.navbar--transparent.navbar--on-dark-bg .bar1,.navbar.navbar--transparent.navbar--on-dark-bg .bar2,.navbar.navbar--transparent.navbar--on-dark-bg .bar3{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bar1,.bar2,.bar3{background-color:#fff;display:block;height:2px;margin:6px 0;transition:.4s;width:35px}.navbar__mobile-menu__toggle:checked+label .bar1{transform:rotate(-45deg) translate(-3px,4px);--tw-bg-opacity: 1 !important;background-color:rgb(0 0 0 / var(--tw-bg-opacity))!important}.navbar__mobile-menu__toggle:checked+label .bar2{opacity:0}.navbar__mobile-menu__toggle:checked+label .bar3{transform:rotate(45deg) translate(-8px,-8px);--tw-bg-opacity: 1 !important;background-color:rgb(0 0 0 / var(--tw-bg-opacity))!important}.navbar__mobile-menu{pointer-events:none;visibility:hidden;z-index:0;opacity:0;transition:visibility .1s,opacity .1s linear}.navbar__mobile-menu__toggle:checked~.navbar__mobile-menu{pointer-events:auto;visibility:visible;z-index:20;opacity:1}@media (min-width: 1200px){.navbar__mobile-menu__toggle:checked~.navbar__mobile-menu{pointer-events:none;visibility:hidden;z-index:0;opacity:0}}.newsletter-section{background-size:cover;background-repeat:no-repeat;background-position:-400px}@media (min-width: 768px){.newsletter-section{background-position:left top}}.region-map__list{-moz-columns:2;columns:2}.region-map__region{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;transition:all .3s ease-out;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.region-map__region:after{content:"";width:10px;position:absolute;height:10px;background:#fec900;z-index:10}.region-map__region--current{fill:#fec900}@media (min-width: 992px){.faq-answer:nth-child(4n) .faq-answer--content{flex-direction:row-reverse}.faq-answer:nth-child(4n) .faq-answer--person{flex-direction:row-reverse}.faq-answer:nth-child(4n) .faq-answer--person--text{margin-left:-5rem}}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-4{bottom:1rem}.left-0{left:0}.left-10{left:2.5rem}.right-4{right:1rem}.top-0{top:0}.top-10{top:2.5rem}.top-\[-1px\]{top:-1px}.top-\[2\.75rem\]{top:2.75rem}.z-20{z-index:20}.z-30{z-index:30}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-8{grid-column:span 8 / span 8}.float-right{float:right}.float-left{float:left}.m-10{margin:2.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-20{margin-top:5rem;margin-bottom:5rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.\!mb-0{margin-bottom:0!important}.\!mb-16{margin-bottom:4rem!important}.\!ml-0{margin-left:0!important}.\!ml-\[unset\]{margin-left:unset!important}.\!mr-\[unset\]{margin-right:unset!important}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[0\.03rem\]{margin-bottom:.03rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-\[-5\.5rem\]{margin-left:-5.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mr-\[-2rem\]{margin-right:-2rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[-0\.5rem\]{margin-top:-.5rem}.mt-\[-5px\]{margin-top:-5px}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.\!h-0{height:0px!important}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-36{height:9rem}.h-64{height:16rem}.h-\[17rem\]{height:17rem}.h-\[27rem\]{height:27rem}.h-\[33rem\]{height:33rem}.h-\[700px\]{height:700px}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:0px}.min-h-\[600px\]{min-height:600px}.w-0{width:0px}.w-1\/2{width:50%}.w-10\/12{width:83.333333%}.w-12{width:3rem}.w-24{width:6rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-36{width:9rem}.w-4\/6{width:66.666667%}.w-48{width:12rem}.w-5\/6{width:83.333333%}.w-56{width:14rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[100px\]{width:100px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[220px\]{width:220px}.w-\[calc\(100vw_-_3rem\)\]{width:calc(100vw - 3rem)}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[9rem\]{min-width:9rem}.min-w-\[calc\(100vw_-_2\.5rem\)\]{min-width:calc(100vw - 2.5rem)}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-72{max-width:18rem}.max-w-\[350px\]{max-width:350px}.max-w-\[400px\]{max-width:400px}.max-w-\[550px\]{max-width:550px}.max-w-\[60\%\]{max-width:60%}.max-w-\[650px\]{max-width:650px}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}.max-w-none{max-width:none}.max-w-screen-lg{max-width:992px}.max-w-xl{max-width:36rem}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-scale-x-100{--tw-scale-x: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.content-stretch{align-content:stretch}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-y-4{row-gap:1rem}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-4{border-width:4px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l-0{border-left-width:0px}.border-r-\[27rem\]{border-right-width:27rem}.border-t-\[33rem\]{border-top-width:33rem}.border-none{border-style:none}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.border-grey-180{--tw-border-opacity: 1;border-color:rgb(238 238 238 / var(--tw-border-opacity))}.border-grey-200{--tw-border-opacity: 1;border-color:rgb(173 173 173 / var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(249 206 5 / var(--tw-border-opacity))}.border-r-\[transparent\]{border-right-color:transparent}.\!bg-grey-100{--tw-bg-opacity: 1 !important;background-color:rgb(243 243 243 / var(--tw-bg-opacity))!important}.\!bg-grey-180{--tw-bg-opacity: 1 !important;background-color:rgb(238 238 238 / var(--tw-bg-opacity))!important}.bg-\[\#00000088\]{background-color:#0008}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity: 1;background-color:rgb(2 125 168 / var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(76 169 113 / var(--tw-bg-opacity))}.bg-grey-100{--tw-bg-opacity: 1;background-color:rgb(243 243 243 / var(--tw-bg-opacity))}.bg-grey-150{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity))}.bg-grey-180{--tw-bg-opacity: 1;background-color:rgb(238 238 238 / var(--tw-bg-opacity))}.bg-grey-185{--tw-bg-opacity: 1;background-color:rgb(189 189 189 / var(--tw-bg-opacity))}.bg-grey-200{--tw-bg-opacity: 1;background-color:rgb(173 173 173 / var(--tw-bg-opacity))}.bg-orange-300{--tw-bg-opacity: 1;background-color:rgb(237 150 84 / var(--tw-bg-opacity))}.bg-pirati-yellow{--tw-bg-opacity: 1;background-color:rgb(254 201 0 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(214 13 83 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity: 1;background-color:rgb(255 234 90 / var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(249 206 5 / var(--tw-bg-opacity))}.bg-cover{background-size:cover}.bg-\[top_right_-7rem\]{background-position:top right -7rem}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-0{padding:0}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.\!pl-\[unset\]{padding-left:unset!important}.\!pr-\[unset\]{padding-right:unset!important}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-12{padding-top:3rem}.pt-14{padding-top:3.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-96{padding-top:24rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-alt{font-family:Bebas Neue,Helvetica,Arial,sans-serif}.font-condensed{font-family:Roboto Condensed,Helvetica,Arial,sans-serif}.text-2xl{font-size:1.6rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.45rem}.text-5xl{font-size:3rem}.text-6xl{font-size:4rem}.text-7xl{font-size:5.3rem}.text-8xl{font-size:6.25rem}.text-9xl{font-size:7.5rem}.text-\[3\.25rem\]{font-size:3.25rem}.text-\[3\.5rem\]{font-size:3.5rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-sm{font-size:.875rem}.text-xl{font-size:1.3rem}.text-xs{font-size:.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-10{line-height:2.5rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-\[10\.5rem\]{line-height:10.5rem}.leading-none{line-height:1}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:.025em}.\!text-black{--tw-text-opacity: 1 !important;color:rgb(0 0 0 / var(--tw-text-opacity))!important}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-grey-185{--tw-text-opacity: 1;color:rgb(189 189 189 / var(--tw-text-opacity))}.text-grey-200{--tw-text-opacity: 1;color:rgb(173 173 173 / var(--tw-text-opacity))}.text-grey-250{--tw-text-opacity: 1;color:rgb(136 136 136 / var(--tw-text-opacity))}.text-grey-300{--tw-text-opacity: 1;color:rgb(76 76 76 / var(--tw-text-opacity))}.text-grey-350{--tw-text-opacity: 1;color:rgb(79 79 79 / var(--tw-text-opacity))}.text-grey-600{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity))}.text-orange-300{--tw-text-opacity: 1;color:rgb(237 150 84 / var(--tw-text-opacity))}.text-pirati-yellow{--tw-text-opacity: 1;color:rgb(254 201 0 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(214 13 83 / var(--tw-text-opacity))}.text-turquoise-500{--tw-text-opacity: 1;color:rgb(37 165 185 / var(--tw-text-opacity))}.text-violet-300{--tw-text-opacity: 1;color:rgb(141 65 95 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!no-underline{text-decoration-line:none!important}.decoration-1{text-decoration-thickness:1px}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.bg-blend-darken{background-blend-mode:darken}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-100{transition-delay:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.btn.btn--fullwidth,.btn.btn--fullwidth .btn__body-wrap{width:100%;max-width:100%}.btn.btn--fullwidth .btn__body{flex:1}.btn.btn--autowidth{width:auto}@media (min-width: 1200px){.grid-container{grid-template-columns:240px 1fr 102px;grid-template-areas:"left-side content right-side";margin-left:10vw}}@media (min-width: 2060px){.grid-container{margin-left:20vw}}@media (min-width: 1200px){.grid-container.person-grid-container{grid-template-columns:240px 1fr 339px}}.head-alt-xl,.content-block .head-alt-xl{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:5.3rem;font-weight:400;line-height:.96}.head-alt-lg,.content-block .head-alt-lg{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:4rem;font-weight:400;line-height:.96}.head-alt-md,.content-block .head-alt-md{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:2.45rem;font-weight:400;line-height:.96}.head-alt-base,.content-block .head-alt-base{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.875rem;font-weight:400;line-height:.96}.head-alt-sm,.content-block .head-alt-sm{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.6rem;font-weight:400;line-height:.96}.head-alt-xs,.content-block .head-alt-xs{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.3rem;font-weight:400;line-height:.96}.head-alt-2xs,.content-block .head-alt-2xs{font-family:Bebas Neue,Helvetica,Arial,sans-serif;font-size:1.125rem;font-weight:400;line-height:.96}.head-base,.content-block .head-base{font-size:1.875rem;font-weight:500;line-height:1.25}.head-sm,.content-block .head-sm{font-size:1.6rem;font-weight:500;line-height:1.25}.head-xs,.content-block .head-xs{font-size:1.3rem;font-weight:500;line-height:1.25}.head-2xs,.content-block .head-2xs{font-size:1.125rem;font-weight:500;line-height:1.25}.head-heavy-base,.content-block .head-heavy-base{font-size:1.875rem;font-weight:700;line-height:1.25}.head-heavy-sm,.content-block .head-heavy-sm{font-size:1.6rem;font-weight:700;line-height:1.25}.head-heavy-xs,.content-block .head-heavy-xs{font-size:1.3rem;font-weight:700;line-height:1.25}.head-heavy-2xs,.content-block .head-heavy-2xs{font-size:1.125rem;font-weight:700;line-height:1.25}.head-allcaps-2xs,.content-block .head-allcaps-2xs{font-size:1.125rem;font-weight:400;text-transform:uppercase;line-height:1.25}.head-allcaps-3xs,.content-block .head-allcaps-3xs{font-size:1rem;font-weight:400;text-transform:uppercase;line-height:1.25}.head-allcaps-4xs,.content-block .head-allcaps-4xs{font-size:.875rem;font-weight:400;text-transform:uppercase;line-height:1.25}.head-allcaps-heavy-2xs,.content-block .head-allcaps-heavy-2xs{font-size:1.125rem;font-weight:700;text-transform:uppercase;line-height:1.25}.head-allcaps-heavy-3xs,.content-block .head-allcaps-heavy-3xs{font-size:1rem;font-weight:700;text-transform:uppercase;line-height:1.25}.head-allcaps-heavy-4xs,.content-block .head-allcaps-heavy-4xs{font-size:.875rem;font-weight:700;text-transform:uppercase;line-height:1.25}@media (min-width: 1200px){.switch__item{padding:.5rem 1.25rem}}.faq-answer .faq-answer--person{flex-direction:row-reverse}@media (min-width: 992px){.faq-answer:not(:nth-child(4n)) .faq-answer--person{flex-direction:row}}.slick-track[data-v-e4caeaf8]{position:relative;top:0;left:0;display:block;transform:translateZ(0)}.slick-track.slick-center[data-v-e4caeaf8]{margin-left:auto;margin-right:auto}.slick-track[data-v-e4caeaf8]:after,.slick-track[data-v-e4caeaf8]:before{display:table;content:""}.slick-track[data-v-e4caeaf8]:after{clear:both}.slick-loading .slick-track[data-v-e4caeaf8]{visibility:hidden}.slick-slide[data-v-e4caeaf8]{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide[data-v-e4caeaf8]{float:right}.slick-slide img[data-v-e4caeaf8]{display:block}.slick-slide.slick-loading img[data-v-e4caeaf8]{display:none}.slick-slide.dragging img[data-v-e4caeaf8]{pointer-events:none}.slick-initialized .slick-slide[data-v-e4caeaf8]{display:block}.slick-loading .slick-slide[data-v-e4caeaf8]{visibility:hidden}.slick-vertical .slick-slide[data-v-e4caeaf8]{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden[data-v-21137603]{display:none}.slick-slider[data-v-3d1a4f76]{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list[data-v-3d1a4f76]{position:relative;display:block;overflow:hidden;margin:0;padding:0;transform:translateZ(0)}.slick-list[data-v-3d1a4f76]:focus{outline:none}.slick-list.dragging[data-v-3d1a4f76]{cursor:pointer;cursor:hand}::-moz-selection{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));background:#f9ce05}::selection{background:#f9ce05}:root{font-size:16px}html{scroll-behavior:smooth}body{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem}a:hover{text-decoration-line:underline}a.icon-link:hover{text-decoration-line:none}a.icon-link:hover span{text-decoration-line:underline}[v-cloak]{display:none}.copyleft{transform:scaleX(-1)!important}.inline-block-nogap{font-size:0}.iframe-container{position:relative;padding-bottom:56.25%;height:0}.iframe-container iframe{position:absolute;top:0;left:0;height:100%;width:100%}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{background:transparent;width:0px}.universal-content-container{margin-top:10rem!important;margin-bottom:2rem!important;padding-left:1.25rem;padding-right:1.25rem;margin:auto;max-width:1400px}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-black:hover{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.hover\:bg-grey-600:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.hover\:bg-yellow-600:hover{--tw-bg-opacity: 1;background-color:rgb(215 177 3 / var(--tw-bg-opacity))}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:no-underline:hover{text-decoration-line:none}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .group-hover\:-translate-x-2{--tw-translate-x: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-yellow-600{--tw-border-opacity: 1;border-color:rgb(215 177 3 / var(--tw-border-opacity))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width: 576px){.sm\:w-5\/12{width:41.666667%}.sm\:w-6\/12{width:50%}.sm\:text-4xl{font-size:2.45rem}.sm\:btn--autowidth.btn{width:auto}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-2{grid-column:span 2 / span 2}.md\:mb-16{margin-bottom:4rem}.md\:mb-6{margin-bottom:1.5rem}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:w-96{width:24rem}.md\:shrink-0{flex-shrink:0}.md\:auto-rows-auto{grid-auto-rows:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-8{gap:2rem}.md\:gap-x-14{-moz-column-gap:3.5rem;column-gap:3.5rem}.md\:gap-y-5{row-gap:1.25rem}.md\:pr-0{padding-right:0}.md\:text-2xl{font-size:1.6rem}.md\:text-4xl{font-size:2.45rem}.md\:text-base{font-size:1rem}}@media (min-width: 992px){.lg\:float-right{float:right}.lg\:float-left{float:left}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:mb-12{margin-bottom:3rem}.lg\:mb-16{margin-bottom:4rem}.lg\:mb-3{margin-bottom:.75rem}.lg\:ml-0{margin-left:0}.lg\:mt-0{margin-top:0}.lg\:mt-\[-1rem\]{margin-top:-1rem}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:h-96{height:24rem}.lg\:w-1\/2{width:50%}.lg\:w-2\/5{width:40%}.lg\:w-3\/5{width:60%}.lg\:w-5\/12{width:41.666667%}.lg\:w-\[180px\]{width:180px}.lg\:w-\[190px\]{width:190px}.lg\:w-\[280px\]{width:280px}.lg\:w-\[unset\]{width:unset}.lg\:w-min{width:-moz-min-content;width:min-content}.lg\:min-w-\[15rem\]{min-width:15rem}.lg\:min-w-\[24rem\]{min-width:24rem}.lg\:max-w-screen-lg{max-width:992px}.lg\:grow-0{flex-grow:0}.lg\:basis-1\/3{flex-basis:33.333333%}.lg\:basis-2\/3{flex-basis:66.666667%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:items-center{align-items:center}.lg\:gap-2{gap:.5rem}.lg\:gap-4{gap:1rem}.lg\:gap-8{gap:2rem}.lg\:overflow-x-visible{overflow-x:visible}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:text-justify{text-align:justify}.lg\:text-6xl{font-size:4rem}.lg\:text-\[5\.5rem\]{font-size:5.5rem}.lg\:text-base{font-size:1rem}}@media (min-width: 1200px){.xl\:absolute{position:absolute}.xl\:col-span-1{grid-column:span 1 / span 1}.xl\:col-span-3{grid-column:span 3 / span 3}.xl\:m-0{margin:0}.xl\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xl\:mb-0{margin-bottom:0}.xl\:mb-12{margin-bottom:3rem}.xl\:mb-20{margin-bottom:5rem}.xl\:mb-24{margin-bottom:6rem}.xl\:mb-32{margin-bottom:8rem}.xl\:mb-6{margin-bottom:1.5rem}.xl\:mb-8{margin-bottom:2rem}.xl\:mr-12{margin-right:3rem}.xl\:mr-2{margin-right:.5rem}.xl\:mt-2{margin-top:.5rem}.xl\:mt-\[-0\.7rem\]{margin-top:-.7rem}.xl\:mt-\[-1rem\]{margin-top:-1rem}.xl\:block{display:block}.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:h-14{height:3.5rem}.xl\:h-\[600px\]{height:600px}.xl\:h-\[696px\]{height:696px}.xl\:h-screen{height:100vh}.xl\:w-1\/2{width:50%}.xl\:w-14{width:3.5rem}.xl\:w-60{width:15rem}.xl\:w-auto{width:auto}.xl\:shrink-0{flex-shrink:0}.xl\:grow-0{flex-grow:0}.xl\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:flex-row{flex-direction:row}.xl\:flex-col{flex-direction:column}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:justify-start{justify-content:flex-start}.xl\:justify-between{justify-content:space-between}.xl\:gap-0{gap:0px}.xl\:gap-12{gap:3rem}.xl\:gap-16{gap:4rem}.xl\:gap-4{gap:1rem}.xl\:gap-6{gap:1.5rem}.xl\:gap-8{gap:2rem}.xl\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.xl\:justify-self-end{justify-self:end}.xl\:bg-transparent{background-color:transparent}.xl\:bg-center{background-position:center}.xl\:p-12{padding:3rem}.xl\:px-0{padding-left:0;padding-right:0}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xl\:py-0{padding-top:0;padding-bottom:0}.xl\:py-24{padding-top:6rem;padding-bottom:6rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xl\:py-52{padding-top:13rem;padding-bottom:13rem}.xl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xl\:py-8{padding-top:2rem;padding-bottom:2rem}.xl\:pb-16{padding-bottom:4rem}.xl\:pb-24{padding-bottom:6rem}.xl\:pl-32{padding-left:8rem}.xl\:pl-8{padding-left:2rem}.xl\:pr-0{padding-right:0}.xl\:pr-3{padding-right:.75rem}.xl\:pr-4{padding-right:1rem}.xl\:pr-40{padding-right:10rem}.xl\:pt-1{padding-top:.25rem}.xl\:pt-16{padding-top:4rem}.xl\:pt-32{padding-top:8rem}.xl\:pt-48{padding-top:12rem}.xl\:pt-6{padding-top:1.5rem}.xl\:pt-8{padding-top:2rem}.xl\:text-14xl{font-size:10.6rem}.xl\:text-3xl{font-size:1.875rem}.xl\:text-4xl{font-size:2.45rem}.xl\:text-7xl{font-size:5.3rem}.xl\:text-9xl{font-size:7.5rem}.xl\:text-lg{font-size:1.125rem}.xl\:text-xl{font-size:1.3rem}.xl\:leading-\[10\.5rem\]{line-height:10.5rem}.xl\:\[flex-flow\:column_wrap\]{flex-flow:column wrap}.xl\:\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}}@media (min-width: 1366px){.\32xl\:h-\[550px\]{height:550px}.\32xl\:h-\[646px\]{height:646px}.\32xl\:text-\[6\.5rem\]{font-size:6.5rem}}@media (min-width: 1600px){.\32\.5xl\:ml-\[-10rem\]{margin-left:-10rem}}@media (min-width: 2060px){.\33xl\:text-lg{font-size:1.125rem}}.\[\&\>div\.content-block\>p\:first-child\]\:mt-0>div.content-block>p:first-child{margin-top:0}.\[\&_\*\]\:\!gap-0 *{gap:0px!important}.\[\&_\*\]\:\!p-0 *{padding:0!important}.\[\&_\*\]\:\!text-\[0rem\] *{font-size:0rem!important}.\[\&_\*\]\:\!leading-\[0px\] *{line-height:0px!important}.\[\&_\*\]\:\!delay-0 *{transition-delay:0s!important}.\[\&_\*\]\:\!duration-0 *{transition-duration:0s!important}.\[\&_\.content-block\]\:flex .content-block{display:flex}.\[\&_\.content-block\]\:flex-col .content-block{flex-direction:column}.\[\&_\.content-block\]\:gap-4 .content-block{gap:1rem}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_p\]\:\!text-lg p{font-size:1.125rem!important}.\[\&_p\]\:text-lg p{font-size:1.125rem}.\[\&_p\]\:leading-7 p{line-height:1.75rem}.\[\&_p\]\:text-black p{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.\[\&_p\]\:delay-300 p{transition-delay:.3s}.\[\&_p\]\:duration-150 p{transition-duration:.15s}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
diff --git a/shared_legacy/static/styleguide2/main.js b/shared_legacy/static/styleguide2/main.js
new file mode 100644
index 0000000000000000000000000000000000000000..ce40e3a501d4e5ddb88c2d781b991d9ce4998cdc
--- /dev/null
+++ b/shared_legacy/static/styleguide2/main.js
@@ -0,0 +1,45 @@
+var Ms=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function fh(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Vu={exports:{}};(function(t,e){var n={};/*!
+ * Vue.js v2.7.16
+ * (c) 2014-2023 Evan You
+ * Released under the MIT License.
+ *//*!
+ * Vue.js v2.7.16
+ * (c) 2014-2023 Evan You
+ * Released under the MIT License.
+ */(function(i,s){t.exports=s()})(Ms,function(){var i=Object.freeze({}),s=Array.isArray;function l(r){return r==null}function u(r){return r!=null}function p(r){return r===!0}function h(r){return typeof r=="string"||typeof r=="number"||typeof r=="symbol"||typeof r=="boolean"}function y(r){return typeof r=="function"}function g(r){return r!==null&&typeof r=="object"}var S=Object.prototype.toString;function A(r){return S.call(r)==="[object Object]"}function w(r){var a=parseFloat(String(r));return a>=0&&Math.floor(a)===a&&isFinite(r)}function O(r){return u(r)&&typeof r.then=="function"&&typeof r.catch=="function"}function B(r){return r==null?"":Array.isArray(r)||A(r)&&r.toString===S?JSON.stringify(r,$,2):String(r)}function $(r,a){return a&&a.__v_isRef?a.value:a}function H(r){var a=parseFloat(r);return isNaN(a)?r:a}function V(r,a){for(var o=Object.create(null),c=r.split(","),f=0;f<c.length;f++)o[c[f]]=!0;return a?function(d){return o[d.toLowerCase()]}:function(d){return o[d]}}var Q=V("slot,component",!0),E=V("key,ref,slot,slot-scope,is");function X(r,a){var o=r.length;if(o){if(a===r[o-1])return void(r.length=o-1);var c=r.indexOf(a);if(c>-1)return r.splice(c,1)}}var z=Object.prototype.hasOwnProperty;function q(r,a){return z.call(r,a)}function Y(r){var a=Object.create(null);return function(o){return a[o]||(a[o]=r(o))}}var _e=/-(\w)/g,oe=Y(function(r){return r.replace(_e,function(a,o){return o?o.toUpperCase():""})}),ke=Y(function(r){return r.charAt(0).toUpperCase()+r.slice(1)}),Ce=/\B([A-Z])/g,pe=Y(function(r){return r.replace(Ce,"-$1").toLowerCase()}),Ge=Function.prototype.bind?function(r,a){return r.bind(a)}:function(r,a){function o(c){var f=arguments.length;return f?f>1?r.apply(a,arguments):r.call(a,c):r.call(a)}return o._length=r.length,o};function Ve(r,a){a=a||0;for(var o=r.length-a,c=new Array(o);o--;)c[o]=r[o+a];return c}function te(r,a){for(var o in a)r[o]=a[o];return r}function Pe(r){for(var a={},o=0;o<r.length;o++)r[o]&&te(a,r[o]);return a}function re(r,a,o){}var Re=function(r,a,o){return!1},st=function(r){return r};function Qe(r,a){if(r===a)return!0;var o=g(r),c=g(a);if(!o||!c)return!o&&!c&&String(r)===String(a);try{var f=Array.isArray(r),d=Array.isArray(a);if(f&&d)return r.length===a.length&&r.every(function(m,L){return Qe(m,a[L])});if(r instanceof Date&&a instanceof Date)return r.getTime()===a.getTime();if(f||d)return!1;var v=Object.keys(r),b=Object.keys(a);return v.length===b.length&&v.every(function(m){return Qe(r[m],a[m])})}catch(m){return!1}}function ot(r,a){for(var o=0;o<r.length;o++)if(Qe(r[o],a))return o;return-1}function ht(r){var a=!1;return function(){a||(a=!0,r.apply(this,arguments))}}function lt(r,a){return r===a?r===0&&1/r!=1/a:r==r||a==a}var Je="data-server-rendered",Ke=["component","directive","filter"],Vt=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch","renderTracked","renderTriggered"],Fe={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Re,isReservedAttr:Re,isUnknownElement:Re,getTagNamespace:re,parsePlatformTagName:st,mustUseProp:Re,async:!0,_lifecycleHooks:Vt},Ft=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function At(r){var a=(r+"").charCodeAt(0);return a===36||a===95}function be(r,a,o,c){Object.defineProperty(r,a,{value:o,enumerable:!!c,writable:!0,configurable:!0})}var Jn=new RegExp("[^".concat(Ft.source,".$_\\d]")),An="__proto__"in{},Me=typeof window!="undefined",Ue=Me&&window.navigator.userAgent.toLowerCase(),Xe=Ue&&/msie|trident/.test(Ue),vt=Ue&&Ue.indexOf("msie 9.0")>0,Cn=Ue&&Ue.indexOf("edge/")>0;Ue&&Ue.indexOf("android");var Kn=Ue&&/iphone|ipad|ipod|ios/.test(Ue),ct,Ct=Ue&&Ue.match(/firefox\/(\d+)/),Ut={}.watch,Dt=!1;if(Me)try{var on={};Object.defineProperty(on,"passive",{get:function(){Dt=!0}}),window.addEventListener("test-passive",null,on)}catch(r){}var et=function(){return ct===void 0&&(ct=!Me&&typeof Ms!="undefined"&&Ms.process&&n.VUE_ENV==="server"),ct},En=Me&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function Et(r){return typeof r=="function"&&/native code/.test(r.toString())}var zt,Sn=typeof Symbol!="undefined"&&Et(Symbol)&&typeof Reflect!="undefined"&&Et(Reflect.ownKeys);zt=typeof Set!="undefined"&&Et(Set)?Set:function(){function r(){this.set=Object.create(null)}return r.prototype.has=function(a){return this.set[a]===!0},r.prototype.add=function(a){this.set[a]=!0},r.prototype.clear=function(){this.set=Object.create(null)},r}();var Se=null;function Tt(r){r===void 0&&(r=null),r||Se&&Se._scope.off(),Se=r,r&&r._scope.on()}var tt=function(){function r(a,o,c,f,d,v,b,m){this.tag=a,this.data=o,this.children=c,this.text=f,this.elm=d,this.ns=void 0,this.context=v,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=o&&o.key,this.componentOptions=b,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=m,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(r.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),r}(),Wt=function(r){r===void 0&&(r="");var a=new tt;return a.text=r,a.isComment=!0,a};function N(r){return new tt(void 0,void 0,void 0,String(r))}function Z(r){var a=new tt(r.tag,r.data,r.children&&r.children.slice(),r.text,r.elm,r.context,r.componentOptions,r.asyncFactory);return a.ns=r.ns,a.isStatic=r.isStatic,a.key=r.key,a.isComment=r.isComment,a.fnContext=r.fnContext,a.fnOptions=r.fnOptions,a.fnScopeId=r.fnScopeId,a.asyncMeta=r.asyncMeta,a.isCloned=!0,a}typeof SuppressedError=="function"&&SuppressedError;var ne=0,ce=[],le=function(){for(var r=0;r<ce.length;r++){var a=ce[r];a.subs=a.subs.filter(function(o){return o}),a._pending=!1}ce.length=0},Le=function(){function r(){this._pending=!1,this.id=ne++,this.subs=[]}return r.prototype.addSub=function(a){this.subs.push(a)},r.prototype.removeSub=function(a){this.subs[this.subs.indexOf(a)]=null,this._pending||(this._pending=!0,ce.push(this))},r.prototype.depend=function(a){r.target&&r.target.addDep(this)},r.prototype.notify=function(a){for(var o=this.subs.filter(function(d){return d}),c=0,f=o.length;c<f;c++)o[c].update()},r}();Le.target=null;var ze=[];function ut(r){ze.push(r),Le.target=r}function Gt(){ze.pop(),Le.target=ze[ze.length-1]}var kt=Array.prototype,ln=Object.create(kt);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(r){var a=kt[r];be(ln,r,function(){for(var o=[],c=0;c<arguments.length;c++)o[c]=arguments[c];var f,d=a.apply(this,o),v=this.__ob__;switch(r){case"push":case"unshift":f=o;break;case"splice":f=o.slice(2)}return f&&v.observeArray(f),v.dep.notify(),d})});var xn=Object.getOwnPropertyNames(ln),Zt={},wr=!0;function gt(r){wr=r}var Xn={notify:re,depend:re,addSub:re,removeSub:re},jo=function(){function r(a,o,c){if(o===void 0&&(o=!1),c===void 0&&(c=!1),this.value=a,this.shallow=o,this.mock=c,this.dep=c?Xn:new Le,this.vmCount=0,be(a,"__ob__",this),s(a)){if(!c)if(An)a.__proto__=ln;else for(var f=0,d=xn.length;f<d;f++)be(a,b=xn[f],ln[b]);o||this.observeArray(a)}else{var v=Object.keys(a);for(f=0;f<v.length;f++){var b;cn(a,b=v[f],Zt,void 0,o,c)}}}return r.prototype.observeArray=function(a){for(var o=0,c=a.length;o<c;o++)Yt(a[o],!1,this.mock)},r}();function Yt(r,a,o){return r&&q(r,"__ob__")&&r.__ob__ instanceof jo?r.__ob__:!wr||!o&&et()||!s(r)&&!A(r)||!Object.isExtensible(r)||r.__v_skip||We(r)||r instanceof tt?void 0:new jo(r,a,o)}function cn(r,a,o,c,f,d,v){v===void 0&&(v=!1);var b=new Le,m=Object.getOwnPropertyDescriptor(r,a);if(!m||m.configurable!==!1){var L=m&&m.get,C=m&&m.set;L&&!C||o!==Zt&&arguments.length!==2||(o=r[a]);var _=f?o&&o.__ob__:Yt(o,!1,d);return Object.defineProperty(r,a,{enumerable:!0,configurable:!0,get:function(){var x=L?L.call(r):o;return Le.target&&(b.depend(),_&&(_.dep.depend(),s(x)&&Bo(x))),We(x)&&!f?x.value:x},set:function(x){var T=L?L.call(r):o;if(lt(T,x)){if(C)C.call(r,x);else{if(L)return;if(!f&&We(T)&&!We(x))return void(T.value=x);o=x}_=f?x&&x.__ob__:Yt(x,!1,d),b.notify()}}}),b}}function ri(r,a,o){if(!Tn(r)){var c=r.__ob__;return s(r)&&w(a)?(r.length=Math.max(r.length,a),r.splice(a,1,o),c&&!c.shallow&&c.mock&&Yt(o,!1,!0),o):a in r&&!(a in Object.prototype)?(r[a]=o,o):r._isVue||c&&c.vmCount?o:c?(cn(c.value,a,o,void 0,c.shallow,c.mock),c.dep.notify(),o):(r[a]=o,o)}}function ga(r,a){if(s(r)&&w(a))r.splice(a,1);else{var o=r.__ob__;r._isVue||o&&o.vmCount||Tn(r)||q(r,a)&&(delete r[a],o&&o.dep.notify())}}function Bo(r){for(var a=void 0,o=0,c=r.length;o<c;o++)(a=r[o])&&a.__ob__&&a.__ob__.dep.depend(),s(a)&&Bo(a)}function ma(r){return Vo(r,!0),be(r,"__v_isShallow",!0),r}function Vo(r,a){Tn(r)||Yt(r,a,et())}function Dn(r){return Tn(r)?Dn(r.__v_raw):!(!r||!r.__ob__)}function ii(r){return!(!r||!r.__v_isShallow)}function Tn(r){return!(!r||!r.__v_isReadonly)}var Lr="__v_isRef";function We(r){return!(!r||r.__v_isRef!==!0)}function Fo(r,a){if(We(r))return r;var o={};return be(o,Lr,!0),be(o,"__v_isShallow",a),be(o,"dep",cn(o,"value",r,null,a,et())),o}function ai(r,a,o){Object.defineProperty(r,o,{enumerable:!0,configurable:!0,get:function(){var c=a[o];if(We(c))return c.value;var f=c&&c.__ob__;return f&&f.dep.depend(),c},set:function(c){var f=a[o];We(f)&&!We(c)?f.value=c:a[o]=c}})}function Uo(r,a,o){var c=r[a];if(We(c))return c;var f={get value(){var d=r[a];return d===void 0?o:d},set value(d){r[a]=d}};return be(f,Lr,!0),f}var Mf="__v_rawToReadonly",If="__v_rawToShallowReadonly";function zo(r){return Wo(r,!1)}function Wo(r,a){if(!A(r)||Tn(r))return r;var o=a?If:Mf,c=r[o];if(c)return c;var f=Object.create(Object.getPrototypeOf(r));be(r,o,f),be(f,"__v_isReadonly",!0),be(f,"__v_raw",r),We(r)&&be(f,Lr,!0),(a||ii(r))&&be(f,"__v_isShallow",!0);for(var d=Object.keys(r),v=0;v<d.length;v++)Nf(f,r,d[v],a);return f}function Nf(r,a,o,c){Object.defineProperty(r,o,{enumerable:!0,configurable:!0,get:function(){var f=a[o];return c||!A(f)?f:zo(f)},set:function(){}})}var Go=Y(function(r){var a=r.charAt(0)==="&",o=(r=a?r.slice(1):r).charAt(0)==="~",c=(r=o?r.slice(1):r).charAt(0)==="!";return{name:r=c?r.slice(1):r,once:o,capture:c,passive:a}});function ya(r,a){function o(){var c=o.fns;if(!s(c))return qt(c,null,arguments,a,"v-on handler");for(var f=c.slice(),d=0;d<f.length;d++)qt(f[d],null,arguments,a,"v-on handler")}return o.fns=r,o}function Zo(r,a,o,c,f,d){var v,b,m,L;for(v in r)b=r[v],m=a[v],L=Go(v),l(b)||(l(m)?(l(b.fns)&&(b=r[v]=ya(b,d)),p(L.once)&&(b=r[v]=f(L.name,b,L.capture)),o(L.name,b,L.capture,L.passive,L.params)):b!==m&&(m.fns=b,r[v]=m));for(v in a)l(r[v])&&c((L=Go(v)).name,a[v],L.capture)}function un(r,a,o){var c;r instanceof tt&&(r=r.data.hook||(r.data.hook={}));var f=r[a];function d(){o.apply(this,arguments),X(c.fns,d)}l(f)?c=ya([d]):u(f.fns)&&p(f.merged)?(c=f).fns.push(d):c=ya([f,d]),c.merged=!0,r[a]=c}function Yo(r,a,o,c,f){if(u(a)){if(q(a,o))return r[o]=a[o],f||delete a[o],!0;if(q(a,c))return r[o]=a[c],f||delete a[c],!0}return!1}function ba(r){return h(r)?[N(r)]:s(r)?Qo(r):void 0}function Ar(r){return u(r)&&u(r.text)&&r.isComment===!1}function Qo(r,a){var o,c,f,d,v=[];for(o=0;o<r.length;o++)l(c=r[o])||typeof c=="boolean"||(d=v[f=v.length-1],s(c)?c.length>0&&(Ar((c=Qo(c,"".concat(a||"","_").concat(o)))[0])&&Ar(d)&&(v[f]=N(d.text+c[0].text),c.shift()),v.push.apply(v,c)):h(c)?Ar(d)?v[f]=N(d.text+c):c!==""&&v.push(N(c)):Ar(c)&&Ar(d)?v[f]=N(d.text+c.text):(p(r._isVList)&&u(c.tag)&&l(c.key)&&u(a)&&(c.key="__vlist".concat(a,"_").concat(o,"__")),v.push(c)));return v}var $f=1,qo=2;function Cr(r,a,o,c,f,d){return(s(o)||h(o))&&(f=c,c=o,o=void 0),p(d)&&(f=qo),function(v,b,m,L,C){if(u(m)&&u(m.__ob__)||(u(m)&&u(m.is)&&(b=m.is),!b))return Wt();s(L)&&y(L[0])&&((m=m||{}).scopedSlots={default:L[0]},L.length=0),C===qo?L=ba(L):C===$f&&(L=function(k){for(var j=0;j<k.length;j++)if(s(k[j]))return Array.prototype.concat.apply([],k);return k}(L));var _,x;if(typeof b=="string"){var T=void 0;x=v.$vnode&&v.$vnode.ns||Fe.getTagNamespace(b),_=m&&m.pre||!u(T=mi(v.$options,"components",b))?new tt(b,m,L,void 0,void 0,v):Dl(T,m,v,L,b)}else _=Dl(b,m,v,L);return s(_)?_:u(_)?(u(x)&&Jo(_,x),u(m)&&function(k){g(k.style)&&tr(k.style),g(k.class)&&tr(k.class)}(m),_):Wt()}(r,a,o,c,f)}function Jo(r,a,o){if(r.ns=a,r.tag==="foreignObject"&&(a=void 0,o=!0),u(r.children))for(var c=0,f=r.children.length;c<f;c++){var d=r.children[c];u(d.tag)&&(l(d.ns)||p(o)&&d.tag!=="svg")&&Jo(d,a,o)}}function Pf(r,a){var o,c,f,d,v=null;if(s(r)||typeof r=="string")for(v=new Array(r.length),o=0,c=r.length;o<c;o++)v[o]=a(r[o],o);else if(typeof r=="number")for(v=new Array(r),o=0;o<r;o++)v[o]=a(o+1,o);else if(g(r))if(Sn&&r[Symbol.iterator]){v=[];for(var b=r[Symbol.iterator](),m=b.next();!m.done;)v.push(a(m.value,v.length)),m=b.next()}else for(f=Object.keys(r),v=new Array(f.length),o=0,c=f.length;o<c;o++)d=f[o],v[o]=a(r[d],d,o);return u(v)||(v=[]),v._isVList=!0,v}function Hf(r,a,o,c){var f,d=this.$scopedSlots[r];d?(o=o||{},c&&(o=te(te({},c),o)),f=d(o)||(y(a)?a():a)):f=this.$slots[r]||(y(a)?a():a);var v=o&&o.slot;return v?this.$createElement("template",{slot:v},f):f}function jf(r){return mi(this.$options,"filters",r)||st}function Ko(r,a){return s(r)?r.indexOf(a)===-1:r!==a}function Bf(r,a,o,c,f){var d=Fe.keyCodes[a]||o;return f&&c&&!Fe.keyCodes[a]?Ko(f,c):d?Ko(d,r):c?pe(c)!==a:r===void 0}function Vf(r,a,o,c,f){if(o&&g(o)){s(o)&&(o=Pe(o));var d=void 0,v=function(m){if(m==="class"||m==="style"||E(m))d=r;else{var L=r.attrs&&r.attrs.type;d=c||Fe.mustUseProp(a,L,m)?r.domProps||(r.domProps={}):r.attrs||(r.attrs={})}var C=oe(m),_=pe(m);C in d||_ in d||(d[m]=o[m],f&&((r.on||(r.on={}))["update:".concat(m)]=function(x){o[m]=x}))};for(var b in o)v(b)}return r}function Ff(r,a){var o=this._staticTrees||(this._staticTrees=[]),c=o[r];return c&&!a||Xo(c=o[r]=this.$options.staticRenderFns[r].call(this._renderProxy,this._c,this),"__static__".concat(r),!1),c}function Uf(r,a,o){return Xo(r,"__once__".concat(a).concat(o?"_".concat(o):""),!0),r}function Xo(r,a,o){if(s(r))for(var c=0;c<r.length;c++)r[c]&&typeof r[c]!="string"&&el(r[c],"".concat(a,"_").concat(c),o);else el(r,a,o)}function el(r,a,o){r.isStatic=!0,r.key=a,r.isOnce=o}function zf(r,a){if(a&&A(a)){var o=r.on=r.on?te({},r.on):{};for(var c in a){var f=o[c],d=a[c];o[c]=f?[].concat(f,d):d}}return r}function tl(r,a,o,c){a=a||{$stable:!o};for(var f=0;f<r.length;f++){var d=r[f];s(d)?tl(d,a,o):d&&(d.proxy&&(d.fn.proxy=!0),a[d.key]=d.fn)}return c&&(a.$key=c),a}function Wf(r,a){for(var o=0;o<a.length;o+=2){var c=a[o];typeof c=="string"&&c&&(r[a[o]]=a[o+1])}return r}function Gf(r,a){return typeof r=="string"?a+r:r}function nl(r){r._o=Uf,r._n=H,r._s=B,r._l=Pf,r._t=Hf,r._q=Qe,r._i=ot,r._m=Ff,r._f=jf,r._k=Bf,r._b=Vf,r._v=N,r._e=Wt,r._u=tl,r._g=zf,r._d=Wf,r._p=Gf}function _a(r,a){if(!r||!r.length)return{};for(var o={},c=0,f=r.length;c<f;c++){var d=r[c],v=d.data;if(v&&v.attrs&&v.attrs.slot&&delete v.attrs.slot,d.context!==a&&d.fnContext!==a||!v||v.slot==null)(o.default||(o.default=[])).push(d);else{var b=v.slot,m=o[b]||(o[b]=[]);d.tag==="template"?m.push.apply(m,d.children||[]):m.push(d)}}for(var L in o)o[L].every(Zf)&&delete o[L];return o}function Zf(r){return r.isComment&&!r.asyncFactory||r.text===" "}function Er(r){return r.isComment&&r.asyncFactory}function Sr(r,a,o,c){var f,d=Object.keys(o).length>0,v=a?!!a.$stable:!d,b=a&&a.$key;if(a){if(a._normalized)return a._normalized;if(v&&c&&c!==i&&b===c.$key&&!d&&!c.$hasNormal)return c;for(var m in f={},a)a[m]&&m[0]!=="$"&&(f[m]=Yf(r,o,m,a[m]))}else f={};for(var L in o)L in f||(f[L]=Qf(o,L));return a&&Object.isExtensible(a)&&(a._normalized=f),be(f,"$stable",v),be(f,"$key",b),be(f,"$hasNormal",d),f}function Yf(r,a,o,c){var f=function(){var d=Se;Tt(r);var v=arguments.length?c.apply(null,arguments):c({}),b=(v=v&&typeof v=="object"&&!s(v)?[v]:ba(v))&&v[0];return Tt(d),v&&(!b||v.length===1&&b.isComment&&!Er(b))?void 0:v};return c.proxy&&Object.defineProperty(a,o,{get:f,enumerable:!0,configurable:!0}),f}function Qf(r,a){return function(){return r[a]}}function rl(r){return{get attrs(){if(!r._attrsProxy){var a=r._attrsProxy={};be(a,"_v_attr_proxy",!0),si(a,r.$attrs,i,r,"$attrs")}return r._attrsProxy},get listeners(){return r._listenersProxy||si(r._listenersProxy={},r.$listeners,i,r,"$listeners"),r._listenersProxy},get slots(){return function(a){return a._slotsProxy||il(a._slotsProxy={},a.$scopedSlots),a._slotsProxy}(r)},emit:Ge(r.$emit,r),expose:function(a){a&&Object.keys(a).forEach(function(o){return ai(r,a,o)})}}}function si(r,a,o,c,f){var d=!1;for(var v in a)v in r?a[v]!==o[v]&&(d=!0):(d=!0,qf(r,v,c,f));for(var v in r)v in a||(d=!0,delete r[v]);return d}function qf(r,a,o,c){Object.defineProperty(r,a,{enumerable:!0,configurable:!0,get:function(){return o[c][a]}})}function il(r,a){for(var o in a)r[o]=a[o];for(var o in r)o in a||delete r[o]}function wa(){var r=Se;return r._setupContext||(r._setupContext=rl(r))}var xr,Ze,oi=null;function La(r,a){return(r.__esModule||Sn&&r[Symbol.toStringTag]==="Module")&&(r=r.default),g(r)?a.extend(r):r}function al(r){if(s(r))for(var a=0;a<r.length;a++){var o=r[a];if(u(o)&&(u(o.componentOptions)||Er(o)))return o}}function Jf(r,a){xr.$on(r,a)}function Kf(r,a){xr.$off(r,a)}function Xf(r,a){var o=xr;return function c(){a.apply(null,arguments)!==null&&o.$off(r,c)}}function sl(r,a,o){xr=r,Zo(a,o||{},Jf,Kf,Xf,r),xr=void 0}var Aa=function(){function r(a){a===void 0&&(a=!1),this.detached=a,this.active=!0,this.effects=[],this.cleanups=[],this.parent=Ze,!a&&Ze&&(this.index=(Ze.scopes||(Ze.scopes=[])).push(this)-1)}return r.prototype.run=function(a){if(this.active){var o=Ze;try{return Ze=this,a()}finally{Ze=o}}},r.prototype.on=function(){Ze=this},r.prototype.off=function(){Ze=this.parent},r.prototype.stop=function(a){if(this.active){var o=void 0,c=void 0;for(o=0,c=this.effects.length;o<c;o++)this.effects[o].teardown();for(o=0,c=this.cleanups.length;o<c;o++)this.cleanups[o]();if(this.scopes)for(o=0,c=this.scopes.length;o<c;o++)this.scopes[o].stop(!0);if(!this.detached&&this.parent&&!a){var f=this.parent.scopes.pop();f&&f!==this&&(this.parent.scopes[this.index]=f,f.index=this.index)}this.parent=void 0,this.active=!1}},r}();function ol(){return Ze}var kn=null;function ll(r){var a=kn;return kn=r,function(){kn=a}}function cl(r){for(;r&&(r=r.$parent);)if(r._inactive)return!0;return!1}function Ca(r,a){if(a){if(r._directInactive=!1,cl(r))return}else if(r._directInactive)return;if(r._inactive||r._inactive===null){r._inactive=!1;for(var o=0;o<r.$children.length;o++)Ca(r.$children[o]);St(r,"activated")}}function ul(r,a){if(!(a&&(r._directInactive=!0,cl(r))||r._inactive)){r._inactive=!0;for(var o=0;o<r.$children.length;o++)ul(r.$children[o]);St(r,"deactivated")}}function St(r,a,o,c){c===void 0&&(c=!0),ut();var f=Se,d=ol();c&&Tt(r);var v=r.$options[a],b="".concat(a," hook");if(v)for(var m=0,L=v.length;m<L;m++)qt(v[m],r,o||null,r,b);r._hasHookEvent&&r.$emit("hook:"+a),c&&(Tt(f),d&&d.on()),Gt()}var Qt=[],Ea=[],li={},Sa=!1,xa=!1,er=0,dl=0,Da=Date.now;if(Me&&!Xe){var Ta=window.performance;Ta&&typeof Ta.now=="function"&&Da()>document.createEvent("Event").timeStamp&&(Da=function(){return Ta.now()})}var e9=function(r,a){if(r.post){if(!a.post)return 1}else if(a.post)return-1;return r.id-a.id};function t9(){var r,a;for(dl=Da(),xa=!0,Qt.sort(e9),er=0;er<Qt.length;er++)(r=Qt[er]).before&&r.before(),a=r.id,li[a]=null,r.run();var o=Ea.slice(),c=Qt.slice();er=Qt.length=Ea.length=0,li={},Sa=xa=!1,function(f){for(var d=0;d<f.length;d++)f[d]._inactive=!0,Ca(f[d],!0)}(o),function(f){for(var d=f.length;d--;){var v=f[d],b=v.vm;b&&b._watcher===v&&b._isMounted&&!b._isDestroyed&&St(b,"updated")}}(c),le(),En&&Fe.devtools&&En.emit("flush")}function ka(r){var a=r.id;if(li[a]==null&&(r!==Le.target||!r.noRecurse)){if(li[a]=!0,xa){for(var o=Qt.length-1;o>er&&Qt[o].id>r.id;)o--;Qt.splice(o+1,0,r)}else Qt.push(r);Sa||(Sa=!0,hi(t9))}}var ci="watcher",fl="".concat(ci," callback"),pl="".concat(ci," getter"),n9="".concat(ci," cleanup");function hl(r,a){return ui(r,null,{flush:"post"})}var vl={};function ui(r,a,o){var c=o===void 0?i:o,f=c.immediate,d=c.deep,v=c.flush,b=v===void 0?"pre":v;c.onTrack,c.onTrigger;var m,L,C=Se,_=function(F,se,ee){ee===void 0&&(ee=null);var J=qt(F,null,ee,C,se);return d&&J&&J.__ob__&&J.__ob__.dep.depend(),J},x=!1,T=!1;if(We(r)?(m=function(){return r.value},x=ii(r)):Dn(r)?(m=function(){return r.__ob__.dep.depend(),r},d=!0):s(r)?(T=!0,x=r.some(function(F){return Dn(F)||ii(F)}),m=function(){return r.map(function(F){return We(F)?F.value:Dn(F)?(F.__ob__.dep.depend(),tr(F)):y(F)?_(F,pl):void 0})}):m=y(r)?a?function(){return _(r,pl)}:function(){if(!C||!C._isDestroyed)return L&&L(),_(r,ci,[j])}:re,a&&d){var k=m;m=function(){return tr(k())}}var j=function(F){L=P.onStop=function(){_(F,n9)}};if(et())return j=re,a?f&&_(a,fl,[m(),T?[]:void 0,j]):m(),re;var P=new nr(Se,m,re,{lazy:!0});P.noRecurse=!a;var W=T?[]:vl;return P.run=function(){if(P.active)if(a){var F=P.get();(d||x||(T?F.some(function(se,ee){return lt(se,W[ee])}):lt(F,W)))&&(L&&L(),_(a,fl,[F,W===vl?void 0:W,j]),W=F)}else P.get()},b==="sync"?P.update=P.run:b==="post"?(P.post=!0,P.update=function(){return ka(P)}):P.update=function(){if(C&&C===Se&&!C._isMounted){var F=C._preWatchers||(C._preWatchers=[]);F.indexOf(P)<0&&F.push(P)}else ka(P)},a?f?P.run():W=P.get():b==="post"&&C?C.$once("hook:mounted",function(){return P.get()}):P.get(),function(){P.teardown()}}function gl(r){var a=r._provided,o=r.$parent&&r.$parent._provided;return o===a?r._provided=Object.create(o):a}function Rn(r,a,o){ut();try{if(a)for(var c=a;c=c.$parent;){var f=c.$options.errorCaptured;if(f)for(var d=0;d<f.length;d++)try{if(f[d].call(c,r,a,o)===!1)return}catch(v){ml(v,c,"errorCaptured hook")}}ml(r,a,o)}finally{Gt()}}function qt(r,a,o,c,f){var d;try{(d=o?r.apply(a,o):r.call(a))&&!d._isVue&&O(d)&&!d._handled&&(d.catch(function(v){return Rn(v,c,f+" (Promise/async)")}),d._handled=!0)}catch(v){Rn(v,c,f)}return d}function ml(r,a,o){r9(r)}function r9(r,a,o){if(!Me||typeof console=="undefined")throw r;console.error(r)}var di,Ra=!1,Oa=[],Ma=!1;function fi(){Ma=!1;var r=Oa.slice(0);Oa.length=0;for(var a=0;a<r.length;a++)r[a]()}if(typeof Promise!="undefined"&&Et(Promise)){var i9=Promise.resolve();di=function(){i9.then(fi),Kn&&setTimeout(re)},Ra=!0}else if(Xe||typeof MutationObserver=="undefined"||!Et(MutationObserver)&&MutationObserver.toString()!=="[object MutationObserverConstructor]")di=typeof setImmediate!="undefined"&&Et(setImmediate)?function(){setImmediate(fi)}:function(){setTimeout(fi,0)};else{var pi=1,a9=new MutationObserver(fi),yl=document.createTextNode(String(pi));a9.observe(yl,{characterData:!0}),di=function(){pi=(pi+1)%2,yl.data=String(pi)},Ra=!0}function hi(r,a){var o;if(Oa.push(function(){if(r)try{r.call(a)}catch(c){Rn(c,a,"nextTick")}else o&&o(a)}),Ma||(Ma=!0,di()),!r&&typeof Promise!="undefined")return new Promise(function(c){o=c})}function mt(r){return function(a,o){if(o===void 0&&(o=Se),o)return function(c,f,d){var v=c.$options;v[f]=kl(v[f],d)}(o,r,a)}}var s9=mt("beforeMount"),o9=mt("mounted"),l9=mt("beforeUpdate"),c9=mt("updated"),u9=mt("beforeDestroy"),d9=mt("destroyed"),f9=mt("activated"),p9=mt("deactivated"),h9=mt("serverPrefetch"),v9=mt("renderTracked"),g9=mt("renderTriggered"),m9=mt("errorCaptured"),bl="2.7.16",y9=Object.freeze({__proto__:null,version:bl,defineComponent:function(r){return r},ref:function(r){return Fo(r,!1)},shallowRef:function(r){return Fo(r,!0)},isRef:We,toRef:Uo,toRefs:function(r){var a=s(r)?new Array(r.length):{};for(var o in r)a[o]=Uo(r,o);return a},unref:function(r){return We(r)?r.value:r},proxyRefs:function(r){if(Dn(r))return r;for(var a={},o=Object.keys(r),c=0;c<o.length;c++)ai(a,r,o[c]);return a},customRef:function(r){var a=new Le,o=r(function(){a.depend()},function(){a.notify()}),c=o.get,f=o.set,d={get value(){return c()},set value(v){f(v)}};return be(d,Lr,!0),d},triggerRef:function(r){r.dep&&r.dep.notify()},reactive:function(r){return Vo(r,!1),r},isReactive:Dn,isReadonly:Tn,isShallow:ii,isProxy:function(r){return Dn(r)||Tn(r)},shallowReactive:ma,markRaw:function(r){return Object.isExtensible(r)&&be(r,"__v_skip",!0),r},toRaw:function r(a){var o=a&&a.__v_raw;return o?r(o):a},readonly:zo,shallowReadonly:function(r){return Wo(r,!0)},computed:function(r,a){var o,c,f=y(r);f?(o=r,c=re):(o=r.get,c=r.set);var d=et()?null:new nr(Se,o,re,{lazy:!0}),v={effect:d,get value(){return d?(d.dirty&&d.evaluate(),Le.target&&d.depend(),d.value):o()},set value(b){c(b)}};return be(v,Lr,!0),be(v,"__v_isReadonly",f),v},watch:function(r,a,o){return ui(r,a,o)},watchEffect:function(r,a){return ui(r,null,a)},watchPostEffect:hl,watchSyncEffect:function(r,a){return ui(r,null,{flush:"sync"})},EffectScope:Aa,effectScope:function(r){return new Aa(r)},onScopeDispose:function(r){Ze&&Ze.cleanups.push(r)},getCurrentScope:ol,provide:function(r,a){Se&&(gl(Se)[r]=a)},inject:function(r,a,o){o===void 0&&(o=!1);var c=Se;if(c){var f=c.$parent&&c.$parent._provided;if(f&&r in f)return f[r];if(arguments.length>1)return o&&y(a)?a.call(c):a}},h:function(r,a,o){return Cr(Se,r,a,o,2,!0)},getCurrentInstance:function(){return Se&&{proxy:Se}},useSlots:function(){return wa().slots},useAttrs:function(){return wa().attrs},useListeners:function(){return wa().listeners},mergeDefaults:function(r,a){var o=s(r)?r.reduce(function(d,v){return d[v]={},d},{}):r;for(var c in a){var f=o[c];f?s(f)||y(f)?o[c]={type:f,default:a[c]}:f.default=a[c]:f===null&&(o[c]={default:a[c]})}return o},nextTick:hi,set:ri,del:ga,useCssModule:function(r){return i},useCssVars:function(r){if(Me){var a=Se;a&&hl(function(){var o=a.$el,c=r(a,a._setupProxy);if(o&&o.nodeType===1){var f=o.style;for(var d in c)f.setProperty("--".concat(d),c[d])}})}},defineAsyncComponent:function(r){y(r)&&(r={loader:r});var a=r.loader,o=r.loadingComponent,c=r.errorComponent,f=r.delay,d=f===void 0?200:f,v=r.timeout;r.suspensible;var b=r.onError,m=null,L=0,C=function(){var _;return m||(_=m=a().catch(function(x){if(x=x instanceof Error?x:new Error(String(x)),b)return new Promise(function(T,k){b(x,function(){return T((L++,m=null,C()))},function(){return k(x)},L+1)});throw x}).then(function(x){return _!==m&&m?m:(x&&(x.__esModule||x[Symbol.toStringTag]==="Module")&&(x=x.default),x)}))};return function(){return{component:C(),delay:d,timeout:v,error:c,loading:o}}},onBeforeMount:s9,onMounted:o9,onBeforeUpdate:l9,onUpdated:c9,onBeforeUnmount:u9,onUnmounted:d9,onActivated:f9,onDeactivated:p9,onServerPrefetch:h9,onRenderTracked:v9,onRenderTriggered:g9,onErrorCaptured:function(r,a){a===void 0&&(a=Se),m9(r,a)}}),_l=new zt;function tr(r){return vi(r,_l),_l.clear(),r}function vi(r,a){var o,c,f=s(r);if(!(!f&&!g(r)||r.__v_skip||Object.isFrozen(r)||r instanceof tt)){if(r.__ob__){var d=r.__ob__.dep.id;if(a.has(d))return;a.add(d)}if(f)for(o=r.length;o--;)vi(r[o],a);else if(We(r))vi(r.value,a);else for(o=(c=Object.keys(r)).length;o--;)vi(r[c[o]],a)}}var b9=0,nr=function(){function r(a,o,c,f,d){(function(v,b){b===void 0&&(b=Ze),b&&b.active&&b.effects.push(v)})(this,Ze&&!Ze._vm?Ze:a?a._scope:void 0),(this.vm=a)&&d&&(a._watcher=this),f?(this.deep=!!f.deep,this.user=!!f.user,this.lazy=!!f.lazy,this.sync=!!f.sync,this.before=f.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=c,this.id=++b9,this.active=!0,this.post=!1,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new zt,this.newDepIds=new zt,this.expression="",y(o)?this.getter=o:(this.getter=function(v){if(!Jn.test(v)){var b=v.split(".");return function(m){for(var L=0;L<b.length;L++){if(!m)return;m=m[b[L]]}return m}}}(o),this.getter||(this.getter=re)),this.value=this.lazy?void 0:this.get()}return r.prototype.get=function(){var a;ut(this);var o=this.vm;try{a=this.getter.call(o,o)}catch(c){if(!this.user)throw c;Rn(c,o,'getter for watcher "'.concat(this.expression,'"'))}finally{this.deep&&tr(a),Gt(),this.cleanupDeps()}return a},r.prototype.addDep=function(a){var o=a.id;this.newDepIds.has(o)||(this.newDepIds.add(o),this.newDeps.push(a),this.depIds.has(o)||a.addSub(this))},r.prototype.cleanupDeps=function(){for(var a=this.deps.length;a--;){var o=this.deps[a];this.newDepIds.has(o.id)||o.removeSub(this)}var c=this.depIds;this.depIds=this.newDepIds,this.newDepIds=c,this.newDepIds.clear(),c=this.deps,this.deps=this.newDeps,this.newDeps=c,this.newDeps.length=0},r.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():ka(this)},r.prototype.run=function(){if(this.active){var a=this.get();if(a!==this.value||g(a)||this.deep){var o=this.value;if(this.value=a,this.user){var c='callback for watcher "'.concat(this.expression,'"');qt(this.cb,this.vm,[a,o],this.vm,c)}else this.cb.call(this.vm,a,o)}}},r.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},r.prototype.depend=function(){for(var a=this.deps.length;a--;)this.deps[a].depend()},r.prototype.teardown=function(){if(this.vm&&!this.vm._isBeingDestroyed&&X(this.vm._scope.effects,this),this.active){for(var a=this.deps.length;a--;)this.deps[a].removeSub(this);this.active=!1,this.onStop&&this.onStop()}},r}(),dn={enumerable:!0,configurable:!0,get:re,set:re};function Ia(r,a,o){dn.get=function(){return this[a][o]},dn.set=function(c){this[a][o]=c},Object.defineProperty(r,o,dn)}function _9(r){var a=r.$options;if(a.props&&function(c,f){var d=c.$options.propsData||{},v=c._props=ma({}),b=c.$options._propKeys=[],m=!c.$parent;m||gt(!1);var L=function(_){b.push(_);var x=ja(_,f,d,c);cn(v,_,x,void 0,!0),_ in c||Ia(c,"_props",_)};for(var C in f)L(C);gt(!0)}(r,a.props),function(c){var f=c.$options,d=f.setup;if(d){var v=c._setupContext=rl(c);Tt(c),ut();var b=qt(d,null,[c._props||ma({}),v],c,"setup");if(Gt(),Tt(),y(b))f.render=b;else if(g(b))if(c._setupState=b,b.__sfc){var m=c._setupProxy={};for(var L in b)L!=="__sfc"&&ai(m,b,L)}else for(var L in b)At(L)||ai(c,b,L)}}(r),a.methods&&function(c,f){for(var d in c.$options.props,f)c[d]=typeof f[d]!="function"?re:Ge(f[d],c)}(r,a.methods),a.data)(function(c){var f=c.$options.data;f=c._data=y(f)?function(C,_){ut();try{return C.call(_,_)}catch(x){return Rn(x,_,"data()"),{}}finally{Gt()}}(f,c):f||{},A(f)||(f={});var d=Object.keys(f),v=c.$options.props;c.$options.methods;for(var b=d.length;b--;){var m=d[b];v&&q(v,m)||At(m)||Ia(c,"_data",m)}var L=Yt(f);L&&L.vmCount++})(r);else{var o=Yt(r._data={});o&&o.vmCount++}a.computed&&function(c,f){var d=c._computedWatchers=Object.create(null),v=et();for(var b in f){var m=f[b],L=y(m)?m:m.get;v||(d[b]=new nr(c,L||re,re,w9)),b in c||wl(c,b,m)}}(r,a.computed),a.watch&&a.watch!==Ut&&function(c,f){for(var d in f){var v=f[d];if(s(v))for(var b=0;b<v.length;b++)Na(c,d,v[b]);else Na(c,d,v)}}(r,a.watch)}var w9={lazy:!0};function wl(r,a,o){var c=!et();y(o)?(dn.get=c?Ll(a):Al(o),dn.set=re):(dn.get=o.get?c&&o.cache!==!1?Ll(a):Al(o.get):re,dn.set=o.set||re),Object.defineProperty(r,a,dn)}function Ll(r){return function(){var a=this._computedWatchers&&this._computedWatchers[r];if(a)return a.dirty&&a.evaluate(),Le.target&&a.depend(),a.value}}function Al(r){return function(){return r.call(this,this)}}function Na(r,a,o,c){return A(o)&&(c=o,o=o.handler),typeof o=="string"&&(o=r[o]),r.$watch(a,o,c)}function Cl(r,a){if(r){for(var o=Object.create(null),c=Sn?Reflect.ownKeys(r):Object.keys(r),f=0;f<c.length;f++){var d=c[f];if(d!=="__ob__"){var v=r[d].from;if(v in a._provided)o[d]=a._provided[v];else if("default"in r[d]){var b=r[d].default;o[d]=y(b)?b.call(a):b}}}return o}}var L9=0;function $a(r){var a=r.options;if(r.super){var o=$a(r.super);if(o!==r.superOptions){r.superOptions=o;var c=function(f){var d,v=f.options,b=f.sealedOptions;for(var m in v)v[m]!==b[m]&&(d||(d={}),d[m]=v[m]);return d}(r);c&&te(r.extendOptions,c),(a=r.options=On(o,r.extendOptions)).name&&(a.components[a.name]=r)}}return a}function Pa(r,a,o,c,f){var d,v=this,b=f.options;q(c,"_uid")?(d=Object.create(c))._original=c:(d=c,c=c._original);var m=p(b._compiled),L=!m;this.data=r,this.props=a,this.children=o,this.parent=c,this.listeners=r.on||i,this.injections=Cl(b.inject,c),this.slots=function(){return v.$slots||Sr(c,r.scopedSlots,v.$slots=_a(o,c)),v.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return Sr(c,r.scopedSlots,this.slots())}}),m&&(this.$options=b,this.$slots=this.slots(),this.$scopedSlots=Sr(c,r.scopedSlots,this.$slots)),b._scopeId?this._c=function(C,_,x,T){var k=Cr(d,C,_,x,T,L);return k&&!s(k)&&(k.fnScopeId=b._scopeId,k.fnContext=c),k}:this._c=function(C,_,x,T){return Cr(d,C,_,x,T,L)}}function El(r,a,o,c,f){var d=Z(r);return d.fnContext=o,d.fnOptions=c,a.slot&&((d.data||(d.data={})).slot=a.slot),d}function Sl(r,a){for(var o in a)r[oe(o)]=a[o]}function gi(r){return r.name||r.__name||r._componentTag}nl(Pa.prototype);var Ha={init:function(r,a){if(r.componentInstance&&!r.componentInstance._isDestroyed&&r.data.keepAlive){var o=r;Ha.prepatch(o,o)}else(r.componentInstance=function(c,f){var d={_isComponent:!0,_parentVnode:c,parent:f},v=c.data.inlineTemplate;return u(v)&&(d.render=v.render,d.staticRenderFns=v.staticRenderFns),new c.componentOptions.Ctor(d)}(r,kn)).$mount(a?r.elm:void 0,a)},prepatch:function(r,a){var o=a.componentOptions;(function(c,f,d,v,b){var m=v.data.scopedSlots,L=c.$scopedSlots,C=!!(m&&!m.$stable||L!==i&&!L.$stable||m&&c.$scopedSlots.$key!==m.$key||!m&&c.$scopedSlots.$key),_=!!(b||c.$options._renderChildren||C),x=c.$vnode;c.$options._parentVnode=v,c.$vnode=v,c._vnode&&(c._vnode.parent=v),c.$options._renderChildren=b;var T=v.data.attrs||i;c._attrsProxy&&si(c._attrsProxy,T,x.data&&x.data.attrs||i,c,"$attrs")&&(_=!0),c.$attrs=T,d=d||i;var k=c.$options._parentListeners;if(c._listenersProxy&&si(c._listenersProxy,d,k||i,c,"$listeners"),c.$listeners=c.$options._parentListeners=d,sl(c,d,k),f&&c.$options.props){gt(!1);for(var j=c._props,P=c.$options._propKeys||[],W=0;W<P.length;W++){var F=P[W],se=c.$options.props;j[F]=ja(F,se,f,c)}gt(!0),c.$options.propsData=f}_&&(c.$slots=_a(b,v.context),c.$forceUpdate())})(a.componentInstance=r.componentInstance,o.propsData,o.listeners,a,o.children)},insert:function(r){var a,o=r.context,c=r.componentInstance;c._isMounted||(c._isMounted=!0,St(c,"mounted")),r.data.keepAlive&&(o._isMounted?((a=c)._inactive=!1,Ea.push(a)):Ca(c,!0))},destroy:function(r){var a=r.componentInstance;a._isDestroyed||(r.data.keepAlive?ul(a,!0):a.$destroy())}},xl=Object.keys(Ha);function Dl(r,a,o,c,f){if(!l(r)){var d=o.$options._base;if(g(r)&&(r=d.extend(r)),typeof r=="function"){var v;if(l(r.cid)&&(r=function(_,x){if(p(_.error)&&u(_.errorComp))return _.errorComp;if(u(_.resolved))return _.resolved;var T=oi;if(T&&u(_.owners)&&_.owners.indexOf(T)===-1&&_.owners.push(T),p(_.loading)&&u(_.loadingComp))return _.loadingComp;if(T&&!u(_.owners)){var k=_.owners=[T],j=!0,P=null,W=null;T.$on("hook:destroyed",function(){return X(k,T)});var F=function(ae){for(var D=0,R=k.length;D<R;D++)k[D].$forceUpdate();ae&&(k.length=0,P!==null&&(clearTimeout(P),P=null),W!==null&&(clearTimeout(W),W=null))},se=ht(function(ae){_.resolved=La(ae,x),j?k.length=0:F(!0)}),ee=ht(function(ae){u(_.errorComp)&&(_.error=!0,F(!0))}),J=_(se,ee);return g(J)&&(O(J)?l(_.resolved)&&J.then(se,ee):O(J.component)&&(J.component.then(se,ee),u(J.error)&&(_.errorComp=La(J.error,x)),u(J.loading)&&(_.loadingComp=La(J.loading,x),J.delay===0?_.loading=!0:P=setTimeout(function(){P=null,l(_.resolved)&&l(_.error)&&(_.loading=!0,F(!1))},J.delay||200)),u(J.timeout)&&(W=setTimeout(function(){W=null,l(_.resolved)&&ee(null)},J.timeout)))),j=!1,_.loading?_.loadingComp:_.resolved}}(v=r,d),r===void 0))return function(_,x,T,k,j){var P=Wt();return P.asyncFactory=_,P.asyncMeta={data:x,context:T,children:k,tag:j},P}(v,a,o,c,f);a=a||{},$a(r),u(a.model)&&function(_,x){var T=_.model&&_.model.prop||"value",k=_.model&&_.model.event||"input";(x.attrs||(x.attrs={}))[T]=x.model.value;var j=x.on||(x.on={}),P=j[k],W=x.model.callback;u(P)?(s(P)?P.indexOf(W)===-1:P!==W)&&(j[k]=[W].concat(P)):j[k]=W}(r.options,a);var b=function(_,x,T){var k=x.options.props;if(!l(k)){var j={},P=_.attrs,W=_.props;if(u(P)||u(W))for(var F in k){var se=pe(F);Yo(j,W,F,se,!0)||Yo(j,P,F,se,!1)}return j}}(a,r);if(p(r.options.functional))return function(_,x,T,k,j){var P=_.options,W={},F=P.props;if(u(F))for(var se in F)W[se]=ja(se,F,x||i);else u(T.attrs)&&Sl(W,T.attrs),u(T.props)&&Sl(W,T.props);var ee=new Pa(T,W,j,k,_),J=P.render.call(null,ee._c,ee);if(J instanceof tt)return El(J,T,ee.parent,P);if(s(J)){for(var ae=ba(J)||[],D=new Array(ae.length),R=0;R<ae.length;R++)D[R]=El(ae[R],T,ee.parent,P);return D}}(r,b,a,o,c);var m=a.on;if(a.on=a.nativeOn,p(r.options.abstract)){var L=a.slot;a={},L&&(a.slot=L)}(function(_){for(var x=_.hook||(_.hook={}),T=0;T<xl.length;T++){var k=xl[T],j=x[k],P=Ha[k];j===P||j&&j._merged||(x[k]=j?A9(P,j):P)}})(a);var C=gi(r.options)||f;return new tt("vue-component-".concat(r.cid).concat(C?"-".concat(C):""),a,void 0,void 0,void 0,o,{Ctor:r,propsData:b,listeners:m,tag:f,children:c},v)}}}function A9(r,a){var o=function(c,f){r(c,f),a(c,f)};return o._merged=!0,o}var C9=re,Rt=Fe.optionMergeStrategies;function Dr(r,a,o){if(o===void 0&&(o=!0),!a)return r;for(var c,f,d,v=Sn?Reflect.ownKeys(a):Object.keys(a),b=0;b<v.length;b++)(c=v[b])!=="__ob__"&&(f=r[c],d=a[c],o&&q(r,c)?f!==d&&A(f)&&A(d)&&Dr(f,d):ri(r,c,d));return r}function Tl(r,a,o){return o?function(){var c=y(a)?a.call(o,o):a,f=y(r)?r.call(o,o):r;return c?Dr(c,f):f}:a?r?function(){return Dr(y(a)?a.call(this,this):a,y(r)?r.call(this,this):r)}:a:r}function kl(r,a){var o=a?r?r.concat(a):s(a)?a:[a]:r;return o&&function(c){for(var f=[],d=0;d<c.length;d++)f.indexOf(c[d])===-1&&f.push(c[d]);return f}(o)}function E9(r,a,o,c){var f=Object.create(r||null);return a?te(f,a):f}Rt.data=function(r,a,o){return o?Tl(r,a,o):a&&typeof a!="function"?r:Tl(r,a)},Vt.forEach(function(r){Rt[r]=kl}),Ke.forEach(function(r){Rt[r+"s"]=E9}),Rt.watch=function(r,a,o,c){if(r===Ut&&(r=void 0),a===Ut&&(a=void 0),!a)return Object.create(r||null);if(!r)return a;var f={};for(var d in te(f,r),a){var v=f[d],b=a[d];v&&!s(v)&&(v=[v]),f[d]=v?v.concat(b):s(b)?b:[b]}return f},Rt.props=Rt.methods=Rt.inject=Rt.computed=function(r,a,o,c){if(!r)return a;var f=Object.create(null);return te(f,r),a&&te(f,a),f},Rt.provide=function(r,a){return r?function(){var o=Object.create(null);return Dr(o,y(r)?r.call(this):r),a&&Dr(o,y(a)?a.call(this):a,!1),o}:a};var S9=function(r,a){return a===void 0?r:a};function On(r,a,o){if(y(a)&&(a=a.options),function(m,L){var C=m.props;if(C){var _,x,T={};if(s(C))for(_=C.length;_--;)typeof(x=C[_])=="string"&&(T[oe(x)]={type:null});else if(A(C))for(var k in C)x=C[k],T[oe(k)]=A(x)?x:{type:x};m.props=T}}(a),function(m,L){var C=m.inject;if(C){var _=m.inject={};if(s(C))for(var x=0;x<C.length;x++)_[C[x]]={from:C[x]};else if(A(C))for(var T in C){var k=C[T];_[T]=A(k)?te({from:T},k):{from:k}}}}(a),function(m){var L=m.directives;if(L)for(var C in L){var _=L[C];y(_)&&(L[C]={bind:_,update:_})}}(a),!a._base&&(a.extends&&(r=On(r,a.extends,o)),a.mixins))for(var c=0,f=a.mixins.length;c<f;c++)r=On(r,a.mixins[c],o);var d,v={};for(d in r)b(d);for(d in a)q(r,d)||b(d);function b(m){var L=Rt[m]||S9;v[m]=L(r[m],a[m],o,m)}return v}function mi(r,a,o,c){if(typeof o=="string"){var f=r[a];if(q(f,o))return f[o];var d=oe(o);if(q(f,d))return f[d];var v=ke(d);return q(f,v)?f[v]:f[o]||f[d]||f[v]}}function ja(r,a,o,c){var f=a[r],d=!q(o,r),v=o[r],b=Ol(Boolean,f.type);if(b>-1){if(d&&!q(f,"default"))v=!1;else if(v===""||v===pe(r)){var m=Ol(String,f.type);(m<0||b<m)&&(v=!0)}}if(v===void 0){v=function(C,_,x){if(q(_,"default")){var T=_.default;return C&&C.$options.propsData&&C.$options.propsData[x]===void 0&&C._props[x]!==void 0?C._props[x]:y(T)&&Ba(_.type)!=="Function"?T.call(C):T}}(c,f,r);var L=wr;gt(!0),Yt(v),gt(L)}return v}var x9=/^\s*function (\w+)/;function Ba(r){var a=r&&r.toString().match(x9);return a?a[1]:""}function Rl(r,a){return Ba(r)===Ba(a)}function Ol(r,a){if(!s(a))return Rl(a,r)?0:-1;for(var o=0,c=a.length;o<c;o++)if(Rl(a[o],r))return o;return-1}function Ae(r){this._init(r)}function D9(r){r.cid=0;var a=1;r.extend=function(o){o=o||{};var c=this,f=c.cid,d=o._Ctor||(o._Ctor={});if(d[f])return d[f];var v=gi(o)||gi(c.options),b=function(m){this._init(m)};return(b.prototype=Object.create(c.prototype)).constructor=b,b.cid=a++,b.options=On(c.options,o),b.super=c,b.options.props&&function(m){var L=m.options.props;for(var C in L)Ia(m.prototype,"_props",C)}(b),b.options.computed&&function(m){var L=m.options.computed;for(var C in L)wl(m.prototype,C,L[C])}(b),b.extend=c.extend,b.mixin=c.mixin,b.use=c.use,Ke.forEach(function(m){b[m]=c[m]}),v&&(b.options.components[v]=b),b.superOptions=c.options,b.extendOptions=o,b.sealedOptions=te({},b.options),d[f]=b,b}}function Ml(r){return r&&(gi(r.Ctor.options)||r.tag)}function yi(r,a){return s(r)?r.indexOf(a)>-1:typeof r=="string"?r.split(",").indexOf(a)>-1:(o=r,S.call(o)==="[object RegExp]"&&r.test(a));var o}function Il(r,a){var o=r.cache,c=r.keys,f=r._vnode,d=r.$vnode;for(var v in o){var b=o[v];if(b){var m=b.name;m&&!a(m)&&Va(o,v,c,f)}}d.componentOptions.children=void 0}function Va(r,a,o,c){var f=r[a];!f||c&&f.tag===c.tag||f.componentInstance.$destroy(),r[a]=null,X(o,a)}(function(r){r.prototype._init=function(a){var o=this;o._uid=L9++,o._isVue=!0,o.__v_skip=!0,o._scope=new Aa(!0),o._scope.parent=void 0,o._scope._vm=!0,a&&a._isComponent?function(c,f){var d=c.$options=Object.create(c.constructor.options),v=f._parentVnode;d.parent=f.parent,d._parentVnode=v;var b=v.componentOptions;d.propsData=b.propsData,d._parentListeners=b.listeners,d._renderChildren=b.children,d._componentTag=b.tag,f.render&&(d.render=f.render,d.staticRenderFns=f.staticRenderFns)}(o,a):o.$options=On($a(o.constructor),a||{},o),o._renderProxy=o,o._self=o,function(c){var f=c.$options,d=f.parent;if(d&&!f.abstract){for(;d.$options.abstract&&d.$parent;)d=d.$parent;d.$children.push(c)}c.$parent=d,c.$root=d?d.$root:c,c.$children=[],c.$refs={},c._provided=d?d._provided:Object.create(null),c._watcher=null,c._inactive=null,c._directInactive=!1,c._isMounted=!1,c._isDestroyed=!1,c._isBeingDestroyed=!1}(o),function(c){c._events=Object.create(null),c._hasHookEvent=!1;var f=c.$options._parentListeners;f&&sl(c,f)}(o),function(c){c._vnode=null,c._staticTrees=null;var f=c.$options,d=c.$vnode=f._parentVnode,v=d&&d.context;c.$slots=_a(f._renderChildren,v),c.$scopedSlots=d?Sr(c.$parent,d.data.scopedSlots,c.$slots):i,c._c=function(m,L,C,_){return Cr(c,m,L,C,_,!1)},c.$createElement=function(m,L,C,_){return Cr(c,m,L,C,_,!0)};var b=d&&d.data;cn(c,"$attrs",b&&b.attrs||i,null,!0),cn(c,"$listeners",f._parentListeners||i,null,!0)}(o),St(o,"beforeCreate",void 0,!1),function(c){var f=Cl(c.$options.inject,c);f&&(gt(!1),Object.keys(f).forEach(function(d){cn(c,d,f[d])}),gt(!0))}(o),_9(o),function(c){var f=c.$options.provide;if(f){var d=y(f)?f.call(c):f;if(!g(d))return;for(var v=gl(c),b=Sn?Reflect.ownKeys(d):Object.keys(d),m=0;m<b.length;m++){var L=b[m];Object.defineProperty(v,L,Object.getOwnPropertyDescriptor(d,L))}}}(o),St(o,"created"),o.$options.el&&o.$mount(o.$options.el)}})(Ae),function(r){var a={get:function(){return this._data}},o={get:function(){return this._props}};Object.defineProperty(r.prototype,"$data",a),Object.defineProperty(r.prototype,"$props",o),r.prototype.$set=ri,r.prototype.$delete=ga,r.prototype.$watch=function(c,f,d){var v=this;if(A(f))return Na(v,c,f,d);(d=d||{}).user=!0;var b=new nr(v,c,f,d);if(d.immediate){var m='callback for immediate watcher "'.concat(b.expression,'"');ut(),qt(f,v,[b.value],v,m),Gt()}return function(){b.teardown()}}}(Ae),function(r){var a=/^hook:/;r.prototype.$on=function(o,c){var f=this;if(s(o))for(var d=0,v=o.length;d<v;d++)f.$on(o[d],c);else(f._events[o]||(f._events[o]=[])).push(c),a.test(o)&&(f._hasHookEvent=!0);return f},r.prototype.$once=function(o,c){var f=this;function d(){f.$off(o,d),c.apply(f,arguments)}return d.fn=c,f.$on(o,d),f},r.prototype.$off=function(o,c){var f=this;if(!arguments.length)return f._events=Object.create(null),f;if(s(o)){for(var d=0,v=o.length;d<v;d++)f.$off(o[d],c);return f}var b,m=f._events[o];if(!m)return f;if(!c)return f._events[o]=null,f;for(var L=m.length;L--;)if((b=m[L])===c||b.fn===c){m.splice(L,1);break}return f},r.prototype.$emit=function(o){var c=this,f=c._events[o];if(f){f=f.length>1?Ve(f):f;for(var d=Ve(arguments,1),v='event handler for "'.concat(o,'"'),b=0,m=f.length;b<m;b++)qt(f[b],c,d,c,v)}return c}}(Ae),function(r){r.prototype._update=function(a,o){var c=this,f=c.$el,d=c._vnode,v=ll(c);c._vnode=a,c.$el=d?c.__patch__(d,a):c.__patch__(c.$el,a,o,!1),v(),f&&(f.__vue__=null),c.$el&&(c.$el.__vue__=c);for(var b=c;b&&b.$vnode&&b.$parent&&b.$vnode===b.$parent._vnode;)b.$parent.$el=b.$el,b=b.$parent},r.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},r.prototype.$destroy=function(){var a=this;if(!a._isBeingDestroyed){St(a,"beforeDestroy"),a._isBeingDestroyed=!0;var o=a.$parent;!o||o._isBeingDestroyed||a.$options.abstract||X(o.$children,a),a._scope.stop(),a._data.__ob__&&a._data.__ob__.vmCount--,a._isDestroyed=!0,a.__patch__(a._vnode,null),St(a,"destroyed"),a.$off(),a.$el&&(a.$el.__vue__=null),a.$vnode&&(a.$vnode.parent=null)}}}(Ae),function(r){nl(r.prototype),r.prototype.$nextTick=function(a){return hi(a,this)},r.prototype._render=function(){var a=this,o=a.$options,c=o.render,f=o._parentVnode;f&&a._isMounted&&(a.$scopedSlots=Sr(a.$parent,f.data.scopedSlots,a.$slots,a.$scopedSlots),a._slotsProxy&&il(a._slotsProxy,a.$scopedSlots)),a.$vnode=f;var d,v=Se,b=oi;try{Tt(a),oi=a,d=c.call(a._renderProxy,a.$createElement)}catch(m){Rn(m,a,"render"),d=a._vnode}finally{oi=b,Tt(v)}return s(d)&&d.length===1&&(d=d[0]),d instanceof tt||(d=Wt()),d.parent=f,d}}(Ae);var Nl=[String,RegExp,Array],T9={name:"keep-alive",abstract:!0,props:{include:Nl,exclude:Nl,max:[String,Number]},methods:{cacheVNode:function(){var r=this,a=r.cache,o=r.keys,c=r.vnodeToCache,f=r.keyToCache;if(c){var d=c.tag,v=c.componentInstance,b=c.componentOptions;a[f]={name:Ml(b),tag:d,componentInstance:v},o.push(f),this.max&&o.length>parseInt(this.max)&&Va(a,o[0],o,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var r in this.cache)Va(this.cache,r,this.keys)},mounted:function(){var r=this;this.cacheVNode(),this.$watch("include",function(a){Il(r,function(o){return yi(a,o)})}),this.$watch("exclude",function(a){Il(r,function(o){return!yi(a,o)})})},updated:function(){this.cacheVNode()},render:function(){var r=this.$slots.default,a=al(r),o=a&&a.componentOptions;if(o){var c=Ml(o),f=this.include,d=this.exclude;if(f&&(!c||!yi(f,c))||d&&c&&yi(d,c))return a;var v=this.cache,b=this.keys,m=a.key==null?o.Ctor.cid+(o.tag?"::".concat(o.tag):""):a.key;v[m]?(a.componentInstance=v[m].componentInstance,X(b,m),b.push(m)):(this.vnodeToCache=a,this.keyToCache=m),a.data.keepAlive=!0}return a||r&&r[0]}},k9={KeepAlive:T9};(function(r){var a={get:function(){return Fe}};Object.defineProperty(r,"config",a),r.util={warn:C9,extend:te,mergeOptions:On,defineReactive:cn},r.set=ri,r.delete=ga,r.nextTick=hi,r.observable=function(o){return Yt(o),o},r.options=Object.create(null),Ke.forEach(function(o){r.options[o+"s"]=Object.create(null)}),r.options._base=r,te(r.options.components,k9),function(o){o.use=function(c){var f=this._installedPlugins||(this._installedPlugins=[]);if(f.indexOf(c)>-1)return this;var d=Ve(arguments,1);return d.unshift(this),y(c.install)?c.install.apply(c,d):y(c)&&c.apply(null,d),f.push(c),this}}(r),function(o){o.mixin=function(c){return this.options=On(this.options,c),this}}(r),D9(r),function(o){Ke.forEach(function(c){o[c]=function(f,d){return d?(c==="component"&&A(d)&&(d.name=d.name||f,d=this.options._base.extend(d)),c==="directive"&&y(d)&&(d={bind:d,update:d}),this.options[c+"s"][f]=d,d):this.options[c+"s"][f]}})}(r)})(Ae),Object.defineProperty(Ae.prototype,"$isServer",{get:et}),Object.defineProperty(Ae.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Ae,"FunctionalRenderContext",{value:Pa}),Ae.version=bl;var R9=V("style,class"),O9=V("input,textarea,option,select,progress"),$l=function(r,a,o){return o==="value"&&O9(r)&&a!=="button"||o==="selected"&&r==="option"||o==="checked"&&r==="input"||o==="muted"&&r==="video"},Pl=V("contenteditable,draggable,spellcheck"),M9=V("events,caret,typing,plaintext-only"),I9=function(r,a){return bi(a)||a==="false"?"false":r==="contenteditable"&&M9(a)?a:"true"},N9=V("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Fa="http://www.w3.org/1999/xlink",Ua=function(r){return r.charAt(5)===":"&&r.slice(0,5)==="xlink"},Hl=function(r){return Ua(r)?r.slice(6,r.length):""},bi=function(r){return r==null||r===!1};function $9(r){for(var a=r.data,o=r,c=r;u(c.componentInstance);)(c=c.componentInstance._vnode)&&c.data&&(a=jl(c.data,a));for(;u(o=o.parent);)o&&o.data&&(a=jl(a,o.data));return function(f,d){return u(f)||u(d)?za(f,Wa(d)):""}(a.staticClass,a.class)}function jl(r,a){return{staticClass:za(r.staticClass,a.staticClass),class:u(r.class)?[r.class,a.class]:a.class}}function za(r,a){return r?a?r+" "+a:r:a||""}function Wa(r){return Array.isArray(r)?function(a){for(var o,c="",f=0,d=a.length;f<d;f++)u(o=Wa(a[f]))&&o!==""&&(c&&(c+=" "),c+=o);return c}(r):g(r)?function(a){var o="";for(var c in a)a[c]&&(o&&(o+=" "),o+=c);return o}(r):typeof r=="string"?r:""}var P9={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},H9=V("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Ga=V("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Za=function(r){return H9(r)||Ga(r)};function Bl(r){return Ga(r)?"svg":r==="math"?"math":void 0}var _i=Object.create(null),Ya=V("text,number,password,search,email,tel,url");function Qa(r){if(typeof r=="string"){var a=document.querySelector(r);return a||document.createElement("div")}return r}var j9=Object.freeze({__proto__:null,createElement:function(r,a){var o=document.createElement(r);return r!=="select"||a.data&&a.data.attrs&&a.data.attrs.multiple!==void 0&&o.setAttribute("multiple","multiple"),o},createElementNS:function(r,a){return document.createElementNS(P9[r],a)},createTextNode:function(r){return document.createTextNode(r)},createComment:function(r){return document.createComment(r)},insertBefore:function(r,a,o){r.insertBefore(a,o)},removeChild:function(r,a){r.removeChild(a)},appendChild:function(r,a){r.appendChild(a)},parentNode:function(r){return r.parentNode},nextSibling:function(r){return r.nextSibling},tagName:function(r){return r.tagName},setTextContent:function(r,a){r.textContent=a},setStyleScope:function(r,a){r.setAttribute(a,"")}}),B9={create:function(r,a){rr(a)},update:function(r,a){r.data.ref!==a.data.ref&&(rr(r,!0),rr(a))},destroy:function(r){rr(r,!0)}};function rr(r,a){var o=r.data.ref;if(u(o)){var c=r.context,f=r.componentInstance||r.elm,d=a?null:f,v=a?void 0:f;if(y(o))qt(o,c,[d],c,"template ref function");else{var b=r.data.refInFor,m=typeof o=="string"||typeof o=="number",L=We(o),C=c.$refs;if(m||L){if(b){var _=m?C[o]:o.value;a?s(_)&&X(_,f):s(_)?_.includes(f)||_.push(f):m?(C[o]=[f],Vl(c,o,C[o])):o.value=[f]}else if(m){if(a&&C[o]!==f)return;C[o]=v,Vl(c,o,d)}else if(L){if(a&&o.value!==f)return;o.value=d}}}}}function Vl(r,a,o){var c=r._setupState;c&&q(c,a)&&(We(c[a])?c[a].value=o:c[a]=o)}var fn=new tt("",{},[]),Tr=["create","activate","update","remove","destroy"];function Mn(r,a){return r.key===a.key&&r.asyncFactory===a.asyncFactory&&(r.tag===a.tag&&r.isComment===a.isComment&&u(r.data)===u(a.data)&&function(o,c){if(o.tag!=="input")return!0;var f,d=u(f=o.data)&&u(f=f.attrs)&&f.type,v=u(f=c.data)&&u(f=f.attrs)&&f.type;return d===v||Ya(d)&&Ya(v)}(r,a)||p(r.isAsyncPlaceholder)&&l(a.asyncFactory.error))}function V9(r,a,o){var c,f,d={};for(c=a;c<=o;++c)u(f=r[c].key)&&(d[f]=c);return d}var F9={create:qa,update:qa,destroy:function(r){qa(r,fn)}};function qa(r,a){(r.data.directives||a.data.directives)&&function(o,c){var f,d,v,b=o===fn,m=c===fn,L=Fl(o.data.directives,o.context),C=Fl(c.data.directives,c.context),_=[],x=[];for(f in C)d=L[f],v=C[f],d?(v.oldValue=d.value,v.oldArg=d.arg,kr(v,"update",c,o),v.def&&v.def.componentUpdated&&x.push(v)):(kr(v,"bind",c,o),v.def&&v.def.inserted&&_.push(v));if(_.length){var T=function(){for(var k=0;k<_.length;k++)kr(_[k],"inserted",c,o)};b?un(c,"insert",T):T()}if(x.length&&un(c,"postpatch",function(){for(var k=0;k<x.length;k++)kr(x[k],"componentUpdated",c,o)}),!b)for(f in L)C[f]||kr(L[f],"unbind",o,o,m)}(r,a)}var U9=Object.create(null);function Fl(r,a){var o,c,f=Object.create(null);if(!r)return f;for(o=0;o<r.length;o++){if((c=r[o]).modifiers||(c.modifiers=U9),f[z9(c)]=c,a._setupState&&a._setupState.__sfc){var d=c.def||mi(a,"_setupState","v-"+c.name);c.def=typeof d=="function"?{bind:d,update:d}:d}c.def=c.def||mi(a.$options,"directives",c.name)}return f}function z9(r){return r.rawName||"".concat(r.name,".").concat(Object.keys(r.modifiers||{}).join("."))}function kr(r,a,o,c,f){var d=r.def&&r.def[a];if(d)try{d(o.elm,r,o,c,f)}catch(v){Rn(v,o.context,"directive ".concat(r.name," ").concat(a," hook"))}}var W9=[B9,F9];function Ul(r,a){var o=a.componentOptions;if(!(u(o)&&o.Ctor.options.inheritAttrs===!1||l(r.data.attrs)&&l(a.data.attrs))){var c,f,d=a.elm,v=r.data.attrs||{},b=a.data.attrs||{};for(c in(u(b.__ob__)||p(b._v_attr_proxy))&&(b=a.data.attrs=te({},b)),b)f=b[c],v[c]!==f&&zl(d,c,f,a.data.pre);for(c in(Xe||Cn)&&b.value!==v.value&&zl(d,"value",b.value),v)l(b[c])&&(Ua(c)?d.removeAttributeNS(Fa,Hl(c)):Pl(c)||d.removeAttribute(c))}}function zl(r,a,o,c){c||r.tagName.indexOf("-")>-1?Wl(r,a,o):N9(a)?bi(o)?r.removeAttribute(a):(o=a==="allowfullscreen"&&r.tagName==="EMBED"?"true":a,r.setAttribute(a,o)):Pl(a)?r.setAttribute(a,I9(a,o)):Ua(a)?bi(o)?r.removeAttributeNS(Fa,Hl(a)):r.setAttributeNS(Fa,a,o):Wl(r,a,o)}function Wl(r,a,o){if(bi(o))r.removeAttribute(a);else{if(Xe&&!vt&&r.tagName==="TEXTAREA"&&a==="placeholder"&&o!==""&&!r.__ieph){var c=function(f){f.stopImmediatePropagation(),r.removeEventListener("input",c)};r.addEventListener("input",c),r.__ieph=!0}r.setAttribute(a,o)}}var G9={create:Ul,update:Ul};function Gl(r,a){var o=a.elm,c=a.data,f=r.data;if(!(l(c.staticClass)&&l(c.class)&&(l(f)||l(f.staticClass)&&l(f.class)))){var d=$9(a),v=o._transitionClasses;u(v)&&(d=za(d,Wa(v))),d!==o._prevClass&&(o.setAttribute("class",d),o._prevClass=d)}}var Ja,Zl,wi,pn,Li,Ka,Z9={create:Gl,update:Gl},Y9=/[\w).+\-_$\]]/;function Xa(r){var a,o,c,f,d,v=!1,b=!1,m=!1,L=!1,C=0,_=0,x=0,T=0;for(c=0;c<r.length;c++)if(o=a,a=r.charCodeAt(c),v)a===39&&o!==92&&(v=!1);else if(b)a===34&&o!==92&&(b=!1);else if(m)a===96&&o!==92&&(m=!1);else if(L)a===47&&o!==92&&(L=!1);else if(a!==124||r.charCodeAt(c+1)===124||r.charCodeAt(c-1)===124||C||_||x){switch(a){case 34:b=!0;break;case 39:v=!0;break;case 96:m=!0;break;case 40:x++;break;case 41:x--;break;case 91:_++;break;case 93:_--;break;case 123:C++;break;case 125:C--}if(a===47){for(var k=c-1,j=void 0;k>=0&&(j=r.charAt(k))===" ";k--);j&&Y9.test(j)||(L=!0)}}else f===void 0?(T=c+1,f=r.slice(0,c).trim()):P();function P(){(d||(d=[])).push(r.slice(T,c).trim()),T=c+1}if(f===void 0?f=r.slice(0,c).trim():T!==0&&P(),d)for(c=0;c<d.length;c++)f=Q9(f,d[c]);return f}function Q9(r,a){var o=a.indexOf("(");if(o<0)return'_f("'.concat(a,'")(').concat(r,")");var c=a.slice(0,o),f=a.slice(o+1);return'_f("'.concat(c,'")(').concat(r).concat(f!==")"?","+f:f)}function Yl(r,a){console.error("[Vue compiler]: ".concat(r))}function Rr(r,a){return r?r.map(function(o){return o[a]}).filter(function(o){return o}):[]}function In(r,a,o,c,f){(r.props||(r.props=[])).push(Or({name:a,value:o,dynamic:f},c)),r.plain=!1}function es(r,a,o,c,f){(f?r.dynamicAttrs||(r.dynamicAttrs=[]):r.attrs||(r.attrs=[])).push(Or({name:a,value:o,dynamic:f},c)),r.plain=!1}function ts(r,a,o,c){r.attrsMap[a]=o,r.attrsList.push(Or({name:a,value:o},c))}function q9(r,a,o,c,f,d,v,b){(r.directives||(r.directives=[])).push(Or({name:a,rawName:o,value:c,arg:f,isDynamicArg:d,modifiers:v},b)),r.plain=!1}function ns(r,a,o){return o?"_p(".concat(a,',"').concat(r,'")'):r+a}function Jt(r,a,o,c,f,d,v,b){var m;(c=c||i).right?b?a="(".concat(a,")==='click'?'contextmenu':(").concat(a,")"):a==="click"&&(a="contextmenu",delete c.right):c.middle&&(b?a="(".concat(a,")==='click'?'mouseup':(").concat(a,")"):a==="click"&&(a="mouseup")),c.capture&&(delete c.capture,a=ns("!",a,b)),c.once&&(delete c.once,a=ns("~",a,b)),c.passive&&(delete c.passive,a=ns("&",a,b)),c.native?(delete c.native,m=r.nativeEvents||(r.nativeEvents={})):m=r.events||(r.events={});var L=Or({value:o.trim(),dynamic:b},v);c!==i&&(L.modifiers=c);var C=m[a];Array.isArray(C)?f?C.unshift(L):C.push(L):m[a]=C?f?[L,C]:[C,L]:L,r.plain=!1}function yt(r,a,o){var c=$e(r,":"+a)||$e(r,"v-bind:"+a);if(c!=null)return Xa(c);if(o!==!1){var f=$e(r,a);if(f!=null)return JSON.stringify(f)}}function $e(r,a,o){var c;if((c=r.attrsMap[a])!=null){for(var f=r.attrsList,d=0,v=f.length;d<v;d++)if(f[d].name===a){f.splice(d,1);break}}return o&&delete r.attrsMap[a],c}function Ql(r,a){for(var o=r.attrsList,c=0,f=o.length;c<f;c++){var d=o[c];if(a.test(d.name))return o.splice(c,1),d}}function Or(r,a){return a&&(a.start!=null&&(r.start=a.start),a.end!=null&&(r.end=a.end)),r}function ql(r,a,o){var c=o||{},f=c.number,d="$$v",v=d;c.trim&&(v="(typeof ".concat(d," === 'string'")+"? ".concat(d,".trim()")+": ".concat(d,")")),f&&(v="_n(".concat(v,")"));var b=hn(a,v);r.model={value:"(".concat(a,")"),expression:JSON.stringify(a),callback:"function (".concat(d,") {").concat(b,"}")}}function hn(r,a){var o=function(c){if(c=c.trim(),Ja=c.length,c.indexOf("[")<0||c.lastIndexOf("]")<Ja-1)return(pn=c.lastIndexOf("."))>-1?{exp:c.slice(0,pn),key:'"'+c.slice(pn+1)+'"'}:{exp:c,key:null};for(Zl=c,pn=Li=Ka=0;!is();)Jl(wi=rs())?Kl(wi):wi===91&&J9(wi);return{exp:c.slice(0,Li),key:c.slice(Li+1,Ka)}}(r);return o.key===null?"".concat(r,"=").concat(a):"$set(".concat(o.exp,", ").concat(o.key,", ").concat(a,")")}function rs(){return Zl.charCodeAt(++pn)}function is(){return pn>=Ja}function Jl(r){return r===34||r===39}function J9(r){var a=1;for(Li=pn;!is();)if(Jl(r=rs()))Kl(r);else if(r===91&&a++,r===93&&a--,a===0){Ka=pn;break}}function Kl(r){for(var a=r;!is()&&(r=rs())!==a;);}var Mr,Ai="__r",as="__c";function K9(r,a,o){var c=Mr;return function f(){a.apply(null,arguments)!==null&&Xl(r,f,o,c)}}var X9=Ra&&!(Ct&&Number(Ct[1])<=53);function ep(r,a,o,c){if(X9){var f=dl,d=a;a=d._wrapper=function(v){if(v.target===v.currentTarget||v.timeStamp>=f||v.timeStamp<=0||v.target.ownerDocument!==document)return d.apply(this,arguments)}}Mr.addEventListener(r,a,Dt?{capture:o,passive:c}:o)}function Xl(r,a,o,c){(c||Mr).removeEventListener(r,a._wrapper||a,o)}function ss(r,a){if(!l(r.data.on)||!l(a.data.on)){var o=a.data.on||{},c=r.data.on||{};Mr=a.elm||r.elm,function(f){if(u(f[Ai])){var d=Xe?"change":"input";f[d]=[].concat(f[Ai],f[d]||[]),delete f[Ai]}u(f[as])&&(f.change=[].concat(f[as],f.change||[]),delete f[as])}(o),Zo(o,c,ep,Xl,K9,a.context),Mr=void 0}}var os,tp={create:ss,update:ss,destroy:function(r){return ss(r,fn)}};function e0(r,a){if(!l(r.data.domProps)||!l(a.data.domProps)){var o,c,f=a.elm,d=r.data.domProps||{},v=a.data.domProps||{};for(o in(u(v.__ob__)||p(v._v_attr_proxy))&&(v=a.data.domProps=te({},v)),d)o in v||(f[o]="");for(o in v){if(c=v[o],o==="textContent"||o==="innerHTML"){if(a.children&&(a.children.length=0),c===d[o])continue;f.childNodes.length===1&&f.removeChild(f.childNodes[0])}if(o==="value"&&f.tagName!=="PROGRESS"){f._value=c;var b=l(c)?"":String(c);np(f,b)&&(f.value=b)}else if(o==="innerHTML"&&Ga(f.tagName)&&l(f.innerHTML)){(os=os||document.createElement("div")).innerHTML="<svg>".concat(c,"</svg>");for(var m=os.firstChild;f.firstChild;)f.removeChild(f.firstChild);for(;m.firstChild;)f.appendChild(m.firstChild)}else if(c!==d[o])try{f[o]=c}catch(L){}}}}function np(r,a){return!r.composing&&(r.tagName==="OPTION"||function(o,c){var f=!0;try{f=document.activeElement!==o}catch(d){}return f&&o.value!==c}(r,a)||function(o,c){var f=o.value,d=o._vModifiers;if(u(d)){if(d.number)return H(f)!==H(c);if(d.trim)return f.trim()!==c.trim()}return f!==c}(r,a))}var rp={create:e0,update:e0},t0=Y(function(r){var a={},o=/:(.+)/;return r.split(/;(?![^(]*\))/g).forEach(function(c){if(c){var f=c.split(o);f.length>1&&(a[f[0].trim()]=f[1].trim())}}),a});function ls(r){var a=n0(r.style);return r.staticStyle?te(r.staticStyle,a):a}function n0(r){return Array.isArray(r)?Pe(r):typeof r=="string"?t0(r):r}var Ci,ip=/^--/,r0=/\s*!important$/,i0=function(r,a,o){if(ip.test(a))r.style.setProperty(a,o);else if(r0.test(o))r.style.setProperty(pe(a),o.replace(r0,""),"important");else{var c=ap(a);if(Array.isArray(o))for(var f=0,d=o.length;f<d;f++)r.style[c]=o[f];else r.style[c]=o}},a0=["Webkit","Moz","ms"],ap=Y(function(r){if(Ci=Ci||document.createElement("div").style,(r=oe(r))!=="filter"&&r in Ci)return r;for(var a=r.charAt(0).toUpperCase()+r.slice(1),o=0;o<a0.length;o++){var c=a0[o]+a;if(c in Ci)return c}});function s0(r,a){var o=a.data,c=r.data;if(!(l(o.staticStyle)&&l(o.style)&&l(c.staticStyle)&&l(c.style))){var f,d,v=a.elm,b=c.staticStyle,m=c.normalizedStyle||c.style||{},L=b||m,C=n0(a.data.style)||{};a.data.normalizedStyle=u(C.__ob__)?te({},C):C;var _=function(x,T){var k,j={};if(T)for(var P=x;P.componentInstance;)(P=P.componentInstance._vnode)&&P.data&&(k=ls(P.data))&&te(j,k);(k=ls(x.data))&&te(j,k);for(var W=x;W=W.parent;)W.data&&(k=ls(W.data))&&te(j,k);return j}(a,!0);for(d in L)l(_[d])&&i0(v,d,"");for(d in _)f=_[d],i0(v,d,f==null?"":f)}}var sp={create:s0,update:s0},o0=/\s+/;function l0(r,a){if(a&&(a=a.trim()))if(r.classList)a.indexOf(" ")>-1?a.split(o0).forEach(function(c){return r.classList.add(c)}):r.classList.add(a);else{var o=" ".concat(r.getAttribute("class")||""," ");o.indexOf(" "+a+" ")<0&&r.setAttribute("class",(o+a).trim())}}function c0(r,a){if(a&&(a=a.trim()))if(r.classList)a.indexOf(" ")>-1?a.split(o0).forEach(function(f){return r.classList.remove(f)}):r.classList.remove(a),r.classList.length||r.removeAttribute("class");else{for(var o=" ".concat(r.getAttribute("class")||""," "),c=" "+a+" ";o.indexOf(c)>=0;)o=o.replace(c," ");(o=o.trim())?r.setAttribute("class",o):r.removeAttribute("class")}}function u0(r){if(r){if(typeof r=="object"){var a={};return r.css!==!1&&te(a,d0(r.name||"v")),te(a,r),a}return typeof r=="string"?d0(r):void 0}}var d0=Y(function(r){return{enterClass:"".concat(r,"-enter"),enterToClass:"".concat(r,"-enter-to"),enterActiveClass:"".concat(r,"-enter-active"),leaveClass:"".concat(r,"-leave"),leaveToClass:"".concat(r,"-leave-to"),leaveActiveClass:"".concat(r,"-leave-active")}}),f0=Me&&!vt,ir="transition",cs="animation",Ei="transition",Si="transitionend",us="animation",p0="animationend";f0&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(Ei="WebkitTransition",Si="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(us="WebkitAnimation",p0="webkitAnimationEnd"));var h0=Me?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(r){return r()};function v0(r){h0(function(){h0(r)})}function Nn(r,a){var o=r._transitionClasses||(r._transitionClasses=[]);o.indexOf(a)<0&&(o.push(a),l0(r,a))}function Kt(r,a){r._transitionClasses&&X(r._transitionClasses,a),c0(r,a)}function g0(r,a,o){var c=m0(r,a),f=c.type,d=c.timeout,v=c.propCount;if(!f)return o();var b=f===ir?Si:p0,m=0,L=function(){r.removeEventListener(b,C),o()},C=function(_){_.target===r&&++m>=v&&L()};setTimeout(function(){m<v&&L()},d+1),r.addEventListener(b,C)}var op=/\b(transform|all)(,|$)/;function m0(r,a){var o,c=window.getComputedStyle(r),f=(c[Ei+"Delay"]||"").split(", "),d=(c[Ei+"Duration"]||"").split(", "),v=y0(f,d),b=(c[us+"Delay"]||"").split(", "),m=(c[us+"Duration"]||"").split(", "),L=y0(b,m),C=0,_=0;return a===ir?v>0&&(o=ir,C=v,_=d.length):a===cs?L>0&&(o=cs,C=L,_=m.length):_=(o=(C=Math.max(v,L))>0?v>L?ir:cs:null)?o===ir?d.length:m.length:0,{type:o,timeout:C,propCount:_,hasTransform:o===ir&&op.test(c[Ei+"Property"])}}function y0(r,a){for(;r.length<a.length;)r=r.concat(r);return Math.max.apply(null,a.map(function(o,c){return b0(o)+b0(r[c])}))}function b0(r){return 1e3*Number(r.slice(0,-1).replace(",","."))}function ds(r,a){var o=r.elm;u(o._leaveCb)&&(o._leaveCb.cancelled=!0,o._leaveCb());var c=u0(r.data.transition);if(!l(c)&&!u(o._enterCb)&&o.nodeType===1){for(var f=c.css,d=c.type,v=c.enterClass,b=c.enterToClass,m=c.enterActiveClass,L=c.appearClass,C=c.appearToClass,_=c.appearActiveClass,x=c.beforeEnter,T=c.enter,k=c.afterEnter,j=c.enterCancelled,P=c.beforeAppear,W=c.appear,F=c.afterAppear,se=c.appearCancelled,ee=c.duration,J=kn,ae=kn.$vnode;ae&&ae.parent;)J=ae.context,ae=ae.parent;var D=!J._isMounted||!r.isRootInsert;if(!D||W||W===""){var R=D&&L?L:v,U=D&&_?_:m,G=D&&C?C:b,ie=D&&P||x,he=D&&y(W)?W:T,ue=D&&F||k,de=D&&se||j,xe=H(g(ee)?ee.enter:ee),ge=f!==!1&&!vt,fe=fs(he),Ee=o._enterCb=ht(function(){ge&&(Kt(o,G),Kt(o,U)),Ee.cancelled?(ge&&Kt(o,R),de&&de(o)):ue&&ue(o),o._enterCb=null});r.data.show||un(r,"insert",function(){var we=o.parentNode,me=we&&we._pending&&we._pending[r.key];me&&me.tag===r.tag&&me.elm._leaveCb&&me.elm._leaveCb(),he&&he(o,Ee)}),ie&&ie(o),ge&&(Nn(o,R),Nn(o,U),v0(function(){Kt(o,R),Ee.cancelled||(Nn(o,G),fe||(w0(xe)?setTimeout(Ee,xe):g0(o,d,Ee)))})),r.data.show&&(a&&a(),he&&he(o,Ee)),ge||fe||Ee()}}}function _0(r,a){var o=r.elm;u(o._enterCb)&&(o._enterCb.cancelled=!0,o._enterCb());var c=u0(r.data.transition);if(l(c)||o.nodeType!==1)return a();if(!u(o._leaveCb)){var f=c.css,d=c.type,v=c.leaveClass,b=c.leaveToClass,m=c.leaveActiveClass,L=c.beforeLeave,C=c.leave,_=c.afterLeave,x=c.leaveCancelled,T=c.delayLeave,k=c.duration,j=f!==!1&&!vt,P=fs(C),W=H(g(k)?k.leave:k),F=o._leaveCb=ht(function(){o.parentNode&&o.parentNode._pending&&(o.parentNode._pending[r.key]=null),j&&(Kt(o,b),Kt(o,m)),F.cancelled?(j&&Kt(o,v),x&&x(o)):(a(),_&&_(o)),o._leaveCb=null});T?T(se):se()}function se(){F.cancelled||(!r.data.show&&o.parentNode&&((o.parentNode._pending||(o.parentNode._pending={}))[r.key]=r),L&&L(o),j&&(Nn(o,v),Nn(o,m),v0(function(){Kt(o,v),F.cancelled||(Nn(o,b),P||(w0(W)?setTimeout(F,W):g0(o,d,F)))})),C&&C(o,F),j||P||F())}}function w0(r){return typeof r=="number"&&!isNaN(r)}function fs(r){if(l(r))return!1;var a=r.fns;return u(a)?fs(Array.isArray(a)?a[0]:a):(r._length||r.length)>1}function L0(r,a){a.data.show!==!0&&ds(a)}var lp=function(r){var a,o,c={},f=r.modules,d=r.nodeOps;for(a=0;a<Tr.length;++a)for(c[Tr[a]]=[],o=0;o<f.length;++o)u(f[o][Tr[a]])&&c[Tr[a]].push(f[o][Tr[a]]);function v(D){var R=d.parentNode(D);u(R)&&d.removeChild(R,D)}function b(D,R,U,G,ie,he,ue){if(u(D.elm)&&u(he)&&(D=he[ue]=Z(D)),D.isRootInsert=!ie,!function(fe,Ee,we,me){var He=fe.data;if(u(He)){var or=u(fe.componentInstance)&&He.keepAlive;if(u(He=He.hook)&&u(He=He.init)&&He(fe,!1),u(fe.componentInstance))return m(fe,Ee),L(we,fe.elm,me),p(or)&&function(Ot,Ir,Nr,Mt){for(var je,qe=Ot;qe.componentInstance;)if(u(je=(qe=qe.componentInstance._vnode).data)&&u(je=je.transition)){for(je=0;je<c.activate.length;++je)c.activate[je](fn,qe);Ir.push(qe);break}L(Nr,Ot.elm,Mt)}(fe,Ee,we,me),!0}}(D,R,U,G)){var de=D.data,xe=D.children,ge=D.tag;u(ge)?(D.elm=D.ns?d.createElementNS(D.ns,ge):d.createElement(ge,D),T(D),C(D,xe,R),u(de)&&x(D,R),L(U,D.elm,G)):p(D.isComment)?(D.elm=d.createComment(D.text),L(U,D.elm,G)):(D.elm=d.createTextNode(D.text),L(U,D.elm,G))}}function m(D,R){u(D.data.pendingInsert)&&(R.push.apply(R,D.data.pendingInsert),D.data.pendingInsert=null),D.elm=D.componentInstance.$el,_(D)?(x(D,R),T(D)):(rr(D),R.push(D))}function L(D,R,U){u(D)&&(u(U)?d.parentNode(U)===D&&d.insertBefore(D,R,U):d.appendChild(D,R))}function C(D,R,U){if(s(R))for(var G=0;G<R.length;++G)b(R[G],U,D.elm,null,!0,R,G);else h(D.text)&&d.appendChild(D.elm,d.createTextNode(String(D.text)))}function _(D){for(;D.componentInstance;)D=D.componentInstance._vnode;return u(D.tag)}function x(D,R){for(var U=0;U<c.create.length;++U)c.create[U](fn,D);u(a=D.data.hook)&&(u(a.create)&&a.create(fn,D),u(a.insert)&&R.push(D))}function T(D){var R;if(u(R=D.fnScopeId))d.setStyleScope(D.elm,R);else for(var U=D;U;)u(R=U.context)&&u(R=R.$options._scopeId)&&d.setStyleScope(D.elm,R),U=U.parent;u(R=kn)&&R!==D.context&&R!==D.fnContext&&u(R=R.$options._scopeId)&&d.setStyleScope(D.elm,R)}function k(D,R,U,G,ie,he){for(;G<=ie;++G)b(U[G],he,D,R,!1,U,G)}function j(D){var R,U,G=D.data;if(u(G))for(u(R=G.hook)&&u(R=R.destroy)&&R(D),R=0;R<c.destroy.length;++R)c.destroy[R](D);if(u(R=D.children))for(U=0;U<D.children.length;++U)j(D.children[U])}function P(D,R,U){for(;R<=U;++R){var G=D[R];u(G)&&(u(G.tag)?(W(G),j(G)):v(G.elm))}}function W(D,R){if(u(R)||u(D.data)){var U,G=c.remove.length+1;for(u(R)?R.listeners+=G:R=function(ie,he){function ue(){--ue.listeners==0&&v(ie)}return ue.listeners=he,ue}(D.elm,G),u(U=D.componentInstance)&&u(U=U._vnode)&&u(U.data)&&W(U,R),U=0;U<c.remove.length;++U)c.remove[U](D,R);u(U=D.data.hook)&&u(U=U.remove)?U(D,R):R()}else v(D.elm)}function F(D,R,U,G){for(var ie=U;ie<G;ie++){var he=R[ie];if(u(he)&&Mn(D,he))return ie}}function se(D,R,U,G,ie,he){if(D!==R){u(R.elm)&&u(G)&&(R=G[ie]=Z(R));var ue=R.elm=D.elm;if(p(D.isAsyncPlaceholder))u(R.asyncFactory.resolved)?ae(D.elm,R,U):R.isAsyncPlaceholder=!0;else if(p(R.isStatic)&&p(D.isStatic)&&R.key===D.key&&(p(R.isCloned)||p(R.isOnce)))R.componentInstance=D.componentInstance;else{var de,xe=R.data;u(xe)&&u(de=xe.hook)&&u(de=de.prepatch)&&de(D,R);var ge=D.children,fe=R.children;if(u(xe)&&_(R)){for(de=0;de<c.update.length;++de)c.update[de](D,R);u(de=xe.hook)&&u(de=de.update)&&de(D,R)}l(R.text)?u(ge)&&u(fe)?ge!==fe&&function(Ee,we,me,He,or){for(var Ot,Ir,Nr,Mt=0,je=0,qe=we.length-1,dt=we[0],It=we[qe],Nt=me.length-1,nt=me[0],lr=me[Nt],Os=!or;Mt<=qe&&je<=Nt;)l(dt)?dt=we[++Mt]:l(It)?It=we[--qe]:Mn(dt,nt)?(se(dt,nt,He,me,je),dt=we[++Mt],nt=me[++je]):Mn(It,lr)?(se(It,lr,He,me,Nt),It=we[--qe],lr=me[--Nt]):Mn(dt,lr)?(se(dt,lr,He,me,Nt),Os&&d.insertBefore(Ee,dt.elm,d.nextSibling(It.elm)),dt=we[++Mt],lr=me[--Nt]):Mn(It,nt)?(se(It,nt,He,me,je),Os&&d.insertBefore(Ee,It.elm,dt.elm),It=we[--qe],nt=me[++je]):(l(Ot)&&(Ot=V9(we,Mt,qe)),l(Ir=u(nt.key)?Ot[nt.key]:F(nt,we,Mt,qe))?b(nt,He,Ee,dt.elm,!1,me,je):Mn(Nr=we[Ir],nt)?(se(Nr,nt,He,me,je),we[Ir]=void 0,Os&&d.insertBefore(Ee,Nr.elm,dt.elm)):b(nt,He,Ee,dt.elm,!1,me,je),nt=me[++je]);Mt>qe?k(Ee,l(me[Nt+1])?null:me[Nt+1].elm,me,je,Nt,He):je>Nt&&P(we,Mt,qe)}(ue,ge,fe,U,he):u(fe)?(u(D.text)&&d.setTextContent(ue,""),k(ue,null,fe,0,fe.length-1,U)):u(ge)?P(ge,0,ge.length-1):u(D.text)&&d.setTextContent(ue,""):D.text!==R.text&&d.setTextContent(ue,R.text),u(xe)&&u(de=xe.hook)&&u(de=de.postpatch)&&de(D,R)}}}function ee(D,R,U){if(p(U)&&u(D.parent))D.parent.data.pendingInsert=R;else for(var G=0;G<R.length;++G)R[G].data.hook.insert(R[G])}var J=V("attrs,class,staticClass,staticStyle,key");function ae(D,R,U,G){var ie,he=R.tag,ue=R.data,de=R.children;if(G=G||ue&&ue.pre,R.elm=D,p(R.isComment)&&u(R.asyncFactory))return R.isAsyncPlaceholder=!0,!0;if(u(ue)&&(u(ie=ue.hook)&&u(ie=ie.init)&&ie(R,!0),u(ie=R.componentInstance)))return m(R,U),!0;if(u(he)){if(u(de))if(D.hasChildNodes())if(u(ie=ue)&&u(ie=ie.domProps)&&u(ie=ie.innerHTML)){if(ie!==D.innerHTML)return!1}else{for(var xe=!0,ge=D.firstChild,fe=0;fe<de.length;fe++){if(!ge||!ae(ge,de[fe],U,G)){xe=!1;break}ge=ge.nextSibling}if(!xe||ge)return!1}else C(R,de,U);if(u(ue)){var Ee=!1;for(var we in ue)if(!J(we)){Ee=!0,x(R,U);break}!Ee&&ue.class&&tr(ue.class)}}else D.data!==R.text&&(D.data=R.text);return!0}return function(D,R,U,G){if(!l(R)){var ie,he=!1,ue=[];if(l(D))he=!0,b(R,ue);else{var de=u(D.nodeType);if(!de&&Mn(D,R))se(D,R,ue,null,null,G);else{if(de){if(D.nodeType===1&&D.hasAttribute(Je)&&(D.removeAttribute(Je),U=!0),p(U)&&ae(D,R,ue))return ee(R,ue,!0),D;ie=D,D=new tt(d.tagName(ie).toLowerCase(),{},[],void 0,ie)}var xe=D.elm,ge=d.parentNode(xe);if(b(R,ue,xe._leaveCb?null:ge,d.nextSibling(xe)),u(R.parent))for(var fe=R.parent,Ee=_(R);fe;){for(var we=0;we<c.destroy.length;++we)c.destroy[we](fe);if(fe.elm=R.elm,Ee){for(var me=0;me<c.create.length;++me)c.create[me](fn,fe);var He=fe.data.hook.insert;if(He.merged)for(var or=He.fns.slice(1),Ot=0;Ot<or.length;Ot++)or[Ot]()}else rr(fe);fe=fe.parent}u(ge)?P([D],0,0):u(D.tag)&&j(D)}}return ee(R,ue,he),R.elm}u(D)&&j(D)}}({nodeOps:j9,modules:[G9,Z9,tp,rp,sp,Me?{create:L0,activate:L0,remove:function(r,a){r.data.show!==!0?_0(r,a):a()}}:{}].concat(W9)});vt&&document.addEventListener("selectionchange",function(){var r=document.activeElement;r&&r.vmodel&&ps(r,"input")});var A0={inserted:function(r,a,o,c){o.tag==="select"?(c.elm&&!c.elm._vOptions?un(o,"postpatch",function(){A0.componentUpdated(r,a,o)}):C0(r,a,o.context),r._vOptions=[].map.call(r.options,xi)):(o.tag==="textarea"||Ya(r.type))&&(r._vModifiers=a.modifiers,a.modifiers.lazy||(r.addEventListener("compositionstart",cp),r.addEventListener("compositionend",x0),r.addEventListener("change",x0),vt&&(r.vmodel=!0)))},componentUpdated:function(r,a,o){if(o.tag==="select"){C0(r,a,o.context);var c=r._vOptions,f=r._vOptions=[].map.call(r.options,xi);f.some(function(d,v){return!Qe(d,c[v])})&&(r.multiple?a.value.some(function(d){return S0(d,f)}):a.value!==a.oldValue&&S0(a.value,f))&&ps(r,"change")}}};function C0(r,a,o){E0(r,a),(Xe||Cn)&&setTimeout(function(){E0(r,a)},0)}function E0(r,a,o){var c=a.value,f=r.multiple;if(!f||Array.isArray(c)){for(var d,v,b=0,m=r.options.length;b<m;b++)if(v=r.options[b],f)d=ot(c,xi(v))>-1,v.selected!==d&&(v.selected=d);else if(Qe(xi(v),c))return void(r.selectedIndex!==b&&(r.selectedIndex=b));f||(r.selectedIndex=-1)}}function S0(r,a){return a.every(function(o){return!Qe(o,r)})}function xi(r){return"_value"in r?r._value:r.value}function cp(r){r.target.composing=!0}function x0(r){r.target.composing&&(r.target.composing=!1,ps(r.target,"input"))}function ps(r,a){var o=document.createEvent("HTMLEvents");o.initEvent(a,!0,!0),r.dispatchEvent(o)}function hs(r){return!r.componentInstance||r.data&&r.data.transition?r:hs(r.componentInstance._vnode)}var up={bind:function(r,a,o){var c=a.value,f=(o=hs(o)).data&&o.data.transition,d=r.__vOriginalDisplay=r.style.display==="none"?"":r.style.display;c&&f?(o.data.show=!0,ds(o,function(){r.style.display=d})):r.style.display=c?d:"none"},update:function(r,a,o){var c=a.value;!c!=!a.oldValue&&((o=hs(o)).data&&o.data.transition?(o.data.show=!0,c?ds(o,function(){r.style.display=r.__vOriginalDisplay}):_0(o,function(){r.style.display="none"})):r.style.display=c?r.__vOriginalDisplay:"none")},unbind:function(r,a,o,c,f){f||(r.style.display=r.__vOriginalDisplay)}},dp={model:A0,show:up},D0={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function vs(r){var a=r&&r.componentOptions;return a&&a.Ctor.options.abstract?vs(al(a.children)):r}function T0(r){var a={},o=r.$options;for(var c in o.propsData)a[c]=r[c];var f=o._parentListeners;for(var c in f)a[oe(c)]=f[c];return a}function k0(r,a){if(/\d-keep-alive$/.test(a.tag))return r("keep-alive",{props:a.componentOptions.propsData})}var fp=function(r){return r.tag||Er(r)},pp=function(r){return r.name==="show"},hp={name:"transition",props:D0,abstract:!0,render:function(r){var a=this,o=this.$slots.default;if(o&&(o=o.filter(fp)).length){var c=this.mode,f=o[0];if(function(T){for(;T=T.parent;)if(T.data.transition)return!0}(this.$vnode))return f;var d=vs(f);if(!d)return f;if(this._leaving)return k0(r,f);var v="__transition-".concat(this._uid,"-");d.key=d.key==null?d.isComment?v+"comment":v+d.tag:h(d.key)?String(d.key).indexOf(v)===0?d.key:v+d.key:d.key;var b=(d.data||(d.data={})).transition=T0(this),m=this._vnode,L=vs(m);if(d.data.directives&&d.data.directives.some(pp)&&(d.data.show=!0),L&&L.data&&!function(T,k){return k.key===T.key&&k.tag===T.tag}(d,L)&&!Er(L)&&(!L.componentInstance||!L.componentInstance._vnode.isComment)){var C=L.data.transition=te({},b);if(c==="out-in")return this._leaving=!0,un(C,"afterLeave",function(){a._leaving=!1,a.$forceUpdate()}),k0(r,f);if(c==="in-out"){if(Er(d))return m;var _,x=function(){_()};un(b,"afterEnter",x),un(b,"enterCancelled",x),un(C,"delayLeave",function(T){_=T})}}return f}}},R0=te({tag:String,moveClass:String},D0);delete R0.mode;var vp={props:R0,beforeMount:function(){var r=this,a=this._update;this._update=function(o,c){var f=ll(r);r.__patch__(r._vnode,r.kept,!1,!0),r._vnode=r.kept,f(),a.call(r,o,c)}},render:function(r){for(var a=this.tag||this.$vnode.data.tag||"span",o=Object.create(null),c=this.prevChildren=this.children,f=this.$slots.default||[],d=this.children=[],v=T0(this),b=0;b<f.length;b++)(C=f[b]).tag&&C.key!=null&&String(C.key).indexOf("__vlist")!==0&&(d.push(C),o[C.key]=C,(C.data||(C.data={})).transition=v);if(c){var m=[],L=[];for(b=0;b<c.length;b++){var C;(C=c[b]).data.transition=v,C.data.pos=C.elm.getBoundingClientRect(),o[C.key]?m.push(C):L.push(C)}this.kept=r(a,null,m),this.removed=L}return r(a,null,d)},updated:function(){var r=this.prevChildren,a=this.moveClass||(this.name||"v")+"-move";r.length&&this.hasMove(r[0].elm,a)&&(r.forEach(gp),r.forEach(mp),r.forEach(yp),this._reflow=document.body.offsetHeight,r.forEach(function(o){if(o.data.moved){var c=o.elm,f=c.style;Nn(c,a),f.transform=f.WebkitTransform=f.transitionDuration="",c.addEventListener(Si,c._moveCb=function d(v){v&&v.target!==c||v&&!/transform$/.test(v.propertyName)||(c.removeEventListener(Si,d),c._moveCb=null,Kt(c,a))})}}))},methods:{hasMove:function(r,a){if(!f0)return!1;if(this._hasMove)return this._hasMove;var o=r.cloneNode();r._transitionClasses&&r._transitionClasses.forEach(function(f){c0(o,f)}),l0(o,a),o.style.display="none",this.$el.appendChild(o);var c=m0(o);return this.$el.removeChild(o),this._hasMove=c.hasTransform}}};function gp(r){r.elm._moveCb&&r.elm._moveCb(),r.elm._enterCb&&r.elm._enterCb()}function mp(r){r.data.newPos=r.elm.getBoundingClientRect()}function yp(r){var a=r.data.pos,o=r.data.newPos,c=a.left-o.left,f=a.top-o.top;if(c||f){r.data.moved=!0;var d=r.elm.style;d.transform=d.WebkitTransform="translate(".concat(c,"px,").concat(f,"px)"),d.transitionDuration="0s"}}var bp={Transition:hp,TransitionGroup:vp};Ae.config.mustUseProp=$l,Ae.config.isReservedTag=Za,Ae.config.isReservedAttr=R9,Ae.config.getTagNamespace=Bl,Ae.config.isUnknownElement=function(r){if(!Me)return!0;if(Za(r))return!1;if(r=r.toLowerCase(),_i[r]!=null)return _i[r];var a=document.createElement(r);return r.indexOf("-")>-1?_i[r]=a.constructor===window.HTMLUnknownElement||a.constructor===window.HTMLElement:_i[r]=/HTMLUnknownElement/.test(a.toString())},te(Ae.options.directives,dp),te(Ae.options.components,bp),Ae.prototype.__patch__=Me?lp:re,Ae.prototype.$mount=function(r,a){return function(o,c,f){var d;o.$el=c,o.$options.render||(o.$options.render=Wt),St(o,"beforeMount"),d=function(){o._update(o._render(),f)},new nr(o,d,re,{before:function(){o._isMounted&&!o._isDestroyed&&St(o,"beforeUpdate")}},!0),f=!1;var v=o._preWatchers;if(v)for(var b=0;b<v.length;b++)v[b].run();return o.$vnode==null&&(o._isMounted=!0,St(o,"mounted")),o}(this,r=r&&Me?Qa(r):void 0,a)},Me&&setTimeout(function(){},0);var _p=/\{\{((?:.|\r?\n)+?)\}\}/g,O0=/[-.*+?^${}()|[\]\/\\]/g,wp=Y(function(r){var a=r[0].replace(O0,"\\$&"),o=r[1].replace(O0,"\\$&");return new RegExp(a+"((?:.|\\n)+?)"+o,"g")}),Lp={staticKeys:["staticClass"],transformNode:function(r,a){a.warn;var o=$e(r,"class");o&&(r.staticClass=JSON.stringify(o.replace(/\s+/g," ").trim()));var c=yt(r,"class",!1);c&&(r.classBinding=c)},genData:function(r){var a="";return r.staticClass&&(a+="staticClass:".concat(r.staticClass,",")),r.classBinding&&(a+="class:".concat(r.classBinding,",")),a}},gs,Ap={staticKeys:["staticStyle"],transformNode:function(r,a){a.warn;var o=$e(r,"style");o&&(r.staticStyle=JSON.stringify(t0(o)));var c=yt(r,"style",!1);c&&(r.styleBinding=c)},genData:function(r){var a="";return r.staticStyle&&(a+="staticStyle:".concat(r.staticStyle,",")),r.styleBinding&&(a+="style:(".concat(r.styleBinding,"),")),a}},Cp=function(r){return(gs=gs||document.createElement("div")).innerHTML=r,gs.textContent},Ep=V("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),Sp=V("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),xp=V("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),Dp=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Tp=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,M0="[a-zA-Z_][\\-\\.0-9_a-zA-Z".concat(Ft.source,"]*"),I0="((?:".concat(M0,"\\:)?").concat(M0,")"),N0=new RegExp("^<".concat(I0)),kp=/^\s*(\/?)>/,$0=new RegExp("^<\\/".concat(I0,"[^>]*>")),Rp=/^<!DOCTYPE [^>]+>/i,P0=/^<!\--/,H0=/^<!\[/,j0=V("script,style,textarea",!0),B0={},Op={"&lt;":"<","&gt;":">","&quot;":'"',"&amp;":"&","&#10;":`
+`,"&#9;":"	","&#39;":"'"},Mp=/&(?:lt|gt|quot|amp|#39);/g,Ip=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Np=V("pre,textarea",!0),V0=function(r,a){return r&&Np(r)&&a[0]===`
+`};function $p(r,a){var o=a?Ip:Mp;return r.replace(o,function(c){return Op[c]})}function Pp(r,a){for(var o,c,f=[],d=a.expectHTML,v=a.isUnaryTag||Re,b=a.canBeLeftOpenTag||Re,m=0,L=function(){if(o=r,c&&j0(c)){var x=0,T=c.toLowerCase(),k=B0[T]||(B0[T]=new RegExp("([\\s\\S]*?)(</"+T+"[^>]*>)","i"));D=r.replace(k,function(U,G,ie){return x=ie.length,j0(T)||T==="noscript"||(G=G.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),V0(T,G)&&(G=G.slice(1)),a.chars&&a.chars(G),""}),m+=r.length-D.length,r=D,_(T,m-x,m)}else{var j=r.indexOf("<");if(j===0){if(P0.test(r)){var P=r.indexOf("-->");if(P>=0)return a.shouldKeepComment&&a.comment&&a.comment(r.substring(4,P),m,m+P+3),C(P+3),"continue"}if(H0.test(r)){var W=r.indexOf("]>");if(W>=0)return C(W+2),"continue"}var F=r.match(Rp);if(F)return C(F[0].length),"continue";var se=r.match($0);if(se){var ee=m;return C(se[0].length),_(se[1],ee,m),"continue"}var J=function(){var U=r.match(N0);if(U){var G={tagName:U[1],attrs:[],start:m};C(U[0].length);for(var ie=void 0,he=void 0;!(ie=r.match(kp))&&(he=r.match(Tp)||r.match(Dp));)he.start=m,C(he[0].length),he.end=m,G.attrs.push(he);if(ie)return G.unarySlash=ie[1],C(ie[0].length),G.end=m,G}}();if(J)return function(U){var G=U.tagName,ie=U.unarySlash;d&&(c==="p"&&xp(G)&&_(c),b(G)&&c===G&&_(G));for(var he=v(G)||!!ie,ue=U.attrs.length,de=new Array(ue),xe=0;xe<ue;xe++){var ge=U.attrs[xe],fe=ge[3]||ge[4]||ge[5]||"",Ee=G==="a"&&ge[1]==="href"?a.shouldDecodeNewlinesForHref:a.shouldDecodeNewlines;de[xe]={name:ge[1],value:$p(fe,Ee)}}he||(f.push({tag:G,lowerCasedTag:G.toLowerCase(),attrs:de,start:U.start,end:U.end}),c=G),a.start&&a.start(G,de,he,U.start,U.end)}(J),V0(J.tagName,r)&&C(1),"continue"}var ae=void 0,D=void 0,R=void 0;if(j>=0){for(D=r.slice(j);!($0.test(D)||N0.test(D)||P0.test(D)||H0.test(D)||(R=D.indexOf("<",1))<0);)j+=R,D=r.slice(j);ae=r.substring(0,j)}j<0&&(ae=r),ae&&C(ae.length),a.chars&&ae&&a.chars(ae,m-ae.length,m)}if(r===o)return a.chars&&a.chars(r),"break"};r&&L()!=="break";);function C(x){m+=x,r=r.substring(x)}function _(x,T,k){var j,P;if(T==null&&(T=m),k==null&&(k=m),x)for(P=x.toLowerCase(),j=f.length-1;j>=0&&f[j].lowerCasedTag!==P;j--);else j=0;if(j>=0){for(var W=f.length-1;W>=j;W--)a.end&&a.end(f[W].tag,T,k);f.length=j,c=j&&f[j-1].tag}else P==="br"?a.start&&a.start(x,[],!0,T,k):P==="p"&&(a.start&&a.start(x,[],!1,T,k),a.end&&a.end(x,T,k))}_()}var F0,U0,ms,ys,bs,_s,ws,z0,W0=/^@|^v-on:/,Ls=/^v-|^@|^:|^#/,Hp=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,G0=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,jp=/^\(|\)$/g,Di=/^\[.*\]$/,Bp=/:(.*)$/,Z0=/^:|^\.|^v-bind:/,Y0=/\.[^.\]]+(?=[^\]]*$)/g,As=/^v-slot(:|$)|^#/,Vp=/[\r\n]/,Fp=/[ \f\t\r\n]+/g,Up=Y(Cp),Ti="_empty_";function Cs(r,a,o){return{type:1,tag:r,attrsList:a,attrsMap:Gp(a),rawAttrsMap:{},parent:o,children:[]}}function zp(r,a){F0=a.warn||Yl,_s=a.isPreTag||Re,ws=a.mustUseProp||Re,z0=a.getTagNamespace||Re,a.isReservedTag,ms=Rr(a.modules,"transformNode"),ys=Rr(a.modules,"preTransformNode"),bs=Rr(a.modules,"postTransformNode"),U0=a.delimiters;var o,c,f=[],d=a.preserveWhitespace!==!1,v=a.whitespace,b=!1,m=!1;function L(_){if(C(_),b||_.processed||(_=ki(_,a)),f.length||_===o||o.if&&(_.elseif||_.else)&&ar(o,{exp:_.elseif,block:_}),c&&!_.forbidden)if(_.elseif||_.else)T=_,k=function(P){for(var W=P.length;W--;){if(P[W].type===1)return P[W];P.pop()}}(c.children),k&&k.if&&ar(k,{exp:T.elseif,block:T});else{if(_.slotScope){var x=_.slotTarget||'"default"';(c.scopedSlots||(c.scopedSlots={}))[x]=_}c.children.push(_),_.parent=c}var T,k;_.children=_.children.filter(function(P){return!P.slotScope}),C(_),_.pre&&(b=!1),_s(_.tag)&&(m=!1);for(var j=0;j<bs.length;j++)bs[j](_,a)}function C(_){if(!m)for(var x=void 0;(x=_.children[_.children.length-1])&&x.type===3&&x.text===" ";)_.children.pop()}return Pp(r,{warn:F0,expectHTML:a.expectHTML,isUnaryTag:a.isUnaryTag,canBeLeftOpenTag:a.canBeLeftOpenTag,shouldDecodeNewlines:a.shouldDecodeNewlines,shouldDecodeNewlinesForHref:a.shouldDecodeNewlinesForHref,shouldKeepComment:a.comments,outputSourceRange:a.outputSourceRange,start:function(_,x,T,k,j){var P=c&&c.ns||z0(_);Xe&&P==="svg"&&(x=function(ee){for(var J=[],ae=0;ae<ee.length;ae++){var D=ee[ae];Zp.test(D.name)||(D.name=D.name.replace(Yp,""),J.push(D))}return J}(x));var W,F=Cs(_,x,c);P&&(F.ns=P),(W=F).tag!=="style"&&(W.tag!=="script"||W.attrsMap.type&&W.attrsMap.type!=="text/javascript")||et()||(F.forbidden=!0);for(var se=0;se<ys.length;se++)F=ys[se](F,a)||F;b||(function(ee){$e(ee,"v-pre")!=null&&(ee.pre=!0)}(F),F.pre&&(b=!0)),_s(F.tag)&&(m=!0),b?function(ee){var J=ee.attrsList,ae=J.length;if(ae)for(var D=ee.attrs=new Array(ae),R=0;R<ae;R++)D[R]={name:J[R].name,value:JSON.stringify(J[R].value)},J[R].start!=null&&(D[R].start=J[R].start,D[R].end=J[R].end);else ee.pre||(ee.plain=!0)}(F):F.processed||(Q0(F),function(ee){var J=$e(ee,"v-if");if(J)ee.if=J,ar(ee,{exp:J,block:ee});else{$e(ee,"v-else")!=null&&(ee.else=!0);var ae=$e(ee,"v-else-if");ae&&(ee.elseif=ae)}}(F),function(ee){var J=$e(ee,"v-once");J!=null&&(ee.once=!0)}(F)),o||(o=F),T?L(F):(c=F,f.push(F))},end:function(_,x,T){var k=f[f.length-1];f.length-=1,c=f[f.length-1],L(k)},chars:function(_,x,T){if(c&&(!Xe||c.tag!=="textarea"||c.attrsMap.placeholder!==_)){var k,j=c.children;if(_=m||_.trim()?(k=c).tag==="script"||k.tag==="style"?_:Up(_):j.length?v?v==="condense"&&Vp.test(_)?"":" ":d?" ":"":""){m||v!=="condense"||(_=_.replace(Fp," "));var P=void 0,W=void 0;!b&&_!==" "&&(P=function(F,se){var ee=se?wp(se):_p;if(ee.test(F)){for(var J,ae,D,R=[],U=[],G=ee.lastIndex=0;J=ee.exec(F);){(ae=J.index)>G&&(U.push(D=F.slice(G,ae)),R.push(JSON.stringify(D)));var ie=Xa(J[1].trim());R.push("_s(".concat(ie,")")),U.push({"@binding":ie}),G=ae+J[0].length}return G<F.length&&(U.push(D=F.slice(G)),R.push(JSON.stringify(D))),{expression:R.join("+"),tokens:U}}}(_,U0))?W={type:2,expression:P.expression,tokens:P.tokens,text:_}:_===" "&&j.length&&j[j.length-1].text===" "||(W={type:3,text:_}),W&&j.push(W)}}},comment:function(_,x,T){if(c){var k={type:3,text:_,isComment:!0};c.children.push(k)}}}),o}function ki(r,a){var o,c;(c=yt(o=r,"key"))&&(o.key=c),r.plain=!r.key&&!r.scopedSlots&&!r.attrsList.length,function(d){var v=yt(d,"ref");v&&(d.ref=v,d.refInFor=function(b){for(var m=b;m;){if(m.for!==void 0)return!0;m=m.parent}return!1}(d))}(r),function(d){var v;d.tag==="template"?(v=$e(d,"scope"),d.slotScope=v||$e(d,"slot-scope")):(v=$e(d,"slot-scope"))&&(d.slotScope=v);var b=yt(d,"slot");if(b&&(d.slotTarget=b==='""'?'"default"':b,d.slotTargetDynamic=!(!d.attrsMap[":slot"]&&!d.attrsMap["v-bind:slot"]),d.tag==="template"||d.slotScope||es(d,"slot",b,function(P,W){return P.rawAttrsMap[":"+W]||P.rawAttrsMap["v-bind:"+W]||P.rawAttrsMap[W]}(d,"slot"))),d.tag==="template"){if(_=Ql(d,As)){var m=q0(_),L=m.name,C=m.dynamic;d.slotTarget=L,d.slotTargetDynamic=C,d.slotScope=_.value||Ti}}else{var _;if(_=Ql(d,As)){var x=d.scopedSlots||(d.scopedSlots={}),T=q0(_),k=T.name,j=(C=T.dynamic,x[k]=Cs("template",[],d));j.slotTarget=k,j.slotTargetDynamic=C,j.children=d.children.filter(function(P){if(!P.slotScope)return P.parent=j,!0}),j.slotScope=_.value||Ti,d.children=[],d.plain=!1}}}(r),function(d){d.tag==="slot"&&(d.slotName=yt(d,"name"))}(r),function(d){var v;(v=yt(d,"is"))&&(d.component=v),$e(d,"inline-template")!=null&&(d.inlineTemplate=!0)}(r);for(var f=0;f<ms.length;f++)r=ms[f](r,a)||r;return function(d){var v,b,m,L,C,_,x,T,k=d.attrsList;for(v=0,b=k.length;v<b;v++)if(m=L=k[v].name,C=k[v].value,Ls.test(m))if(d.hasBindings=!0,(_=Wp(m.replace(Ls,"")))&&(m=m.replace(Y0,"")),Z0.test(m))m=m.replace(Z0,""),C=Xa(C),(T=Di.test(m))&&(m=m.slice(1,-1)),_&&(_.prop&&!T&&(m=oe(m))==="innerHtml"&&(m="innerHTML"),_.camel&&!T&&(m=oe(m)),_.sync&&(x=hn(C,"$event"),T?Jt(d,'"update:"+('.concat(m,")"),x,null,!1,0,k[v],!0):(Jt(d,"update:".concat(oe(m)),x,null,!1,0,k[v]),pe(m)!==oe(m)&&Jt(d,"update:".concat(pe(m)),x,null,!1,0,k[v])))),_&&_.prop||!d.component&&ws(d.tag,d.attrsMap.type,m)?In(d,m,C,k[v],T):es(d,m,C,k[v],T);else if(W0.test(m))m=m.replace(W0,""),(T=Di.test(m))&&(m=m.slice(1,-1)),Jt(d,m,C,_,!1,0,k[v],T);else{var j=(m=m.replace(Ls,"")).match(Bp),P=j&&j[1];T=!1,P&&(m=m.slice(0,-(P.length+1)),Di.test(P)&&(P=P.slice(1,-1),T=!0)),q9(d,m,L,C,P,T,_,k[v])}else es(d,m,JSON.stringify(C),k[v]),!d.component&&m==="muted"&&ws(d.tag,d.attrsMap.type,m)&&In(d,m,"true",k[v])}(r),r}function Q0(r){var a;if(a=$e(r,"v-for")){var o=function(c){var f=c.match(Hp);if(f){var d={};d.for=f[2].trim();var v=f[1].trim().replace(jp,""),b=v.match(G0);return b?(d.alias=v.replace(G0,"").trim(),d.iterator1=b[1].trim(),b[2]&&(d.iterator2=b[2].trim())):d.alias=v,d}}(a);o&&te(r,o)}}function ar(r,a){r.ifConditions||(r.ifConditions=[]),r.ifConditions.push(a)}function q0(r){var a=r.name.replace(As,"");return a||r.name[0]!=="#"&&(a="default"),Di.test(a)?{name:a.slice(1,-1),dynamic:!0}:{name:'"'.concat(a,'"'),dynamic:!1}}function Wp(r){var a=r.match(Y0);if(a){var o={};return a.forEach(function(c){o[c.slice(1)]=!0}),o}}function Gp(r){for(var a={},o=0,c=r.length;o<c;o++)a[r[o].name]=r[o].value;return a}var Zp=/^xmlns:NS\d+/,Yp=/^NS\d+:/;function Es(r){return Cs(r.tag,r.attrsList.slice(),r.parent)}var J0=[Lp,Ap,{preTransformNode:function(r,a){if(r.tag==="input"){var o=r.attrsMap;if(!o["v-model"])return;var c=void 0;if((o[":type"]||o["v-bind:type"])&&(c=yt(r,"type")),o.type||c||!o["v-bind"]||(c="(".concat(o["v-bind"],").type")),c){var f=$e(r,"v-if",!0),d=f?"&&(".concat(f,")"):"",v=$e(r,"v-else",!0)!=null,b=$e(r,"v-else-if",!0),m=Es(r);Q0(m),ts(m,"type","checkbox"),ki(m,a),m.processed=!0,m.if="(".concat(c,")==='checkbox'")+d,ar(m,{exp:m.if,block:m});var L=Es(r);$e(L,"v-for",!0),ts(L,"type","radio"),ki(L,a),ar(m,{exp:"(".concat(c,")==='radio'")+d,block:L});var C=Es(r);return $e(C,"v-for",!0),ts(C,":type",c),ki(C,a),ar(m,{exp:f,block:C}),v?m.else=!0:b&&(m.elseif=b),m}}}}],K0,Ss,Qp={model:function(r,a,o){var c=a.value,f=a.modifiers,d=r.tag,v=r.attrsMap.type;if(r.component)return ql(r,c,f),!1;if(d==="select")(function(b,m,L){var C=L&&L.number,_='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;'+"return ".concat(C?"_n(val)":"val","})"),x="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",T="var $$selectedVal = ".concat(_,";");T="".concat(T," ").concat(hn(m,x)),Jt(b,"change",T,null,!0)})(r,c,f);else if(d==="input"&&v==="checkbox")(function(b,m,L){var C=L&&L.number,_=yt(b,"value")||"null",x=yt(b,"true-value")||"true",T=yt(b,"false-value")||"false";In(b,"checked","Array.isArray(".concat(m,")")+"?_i(".concat(m,",").concat(_,")>-1")+(x==="true"?":(".concat(m,")"):":_q(".concat(m,",").concat(x,")"))),Jt(b,"change","var $$a=".concat(m,",")+"$$el=$event.target,"+"$$c=$$el.checked?(".concat(x,"):(").concat(T,");")+"if(Array.isArray($$a)){"+"var $$v=".concat(C?"_n("+_+")":_,",")+"$$i=_i($$a,$$v);"+"if($$el.checked){$$i<0&&(".concat(hn(m,"$$a.concat([$$v])"),")}")+"else{$$i>-1&&(".concat(hn(m,"$$a.slice(0,$$i).concat($$a.slice($$i+1))"),")}")+"}else{".concat(hn(m,"$$c"),"}"),null,!0)})(r,c,f);else if(d==="input"&&v==="radio")(function(b,m,L){var C=L&&L.number,_=yt(b,"value")||"null";_=C?"_n(".concat(_,")"):_,In(b,"checked","_q(".concat(m,",").concat(_,")")),Jt(b,"change",hn(m,_),null,!0)})(r,c,f);else if(d==="input"||d==="textarea")(function(b,m,L){var C=b.attrsMap.type,_=L||{},x=_.lazy,T=_.number,k=_.trim,j=!x&&C!=="range",P=x?"change":C==="range"?Ai:"input",W="$event.target.value";k&&(W="$event.target.value.trim()"),T&&(W="_n(".concat(W,")"));var F=hn(m,W);j&&(F="if($event.target.composing)return;".concat(F)),In(b,"value","(".concat(m,")")),Jt(b,P,F,null,!0),(k||T)&&Jt(b,"blur","$forceUpdate()")})(r,c,f);else return ql(r,c,f),!1;return!0},text:function(r,a){a.value&&In(r,"textContent","_s(".concat(a.value,")"),a)},html:function(r,a){a.value&&In(r,"innerHTML","_s(".concat(a.value,")"),a)}},qp={expectHTML:!0,modules:J0,directives:Qp,isPreTag:function(r){return r==="pre"},isUnaryTag:Ep,mustUseProp:$l,canBeLeftOpenTag:Sp,isReservedTag:Za,getTagNamespace:Bl,staticKeys:function(r){return r.reduce(function(a,o){return a.concat(o.staticKeys||[])},[]).join(",")}(J0)},Jp=Y(function(r){return V("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(r?","+r:""))});function Kp(r,a){r&&(K0=Jp(a.staticKeys||""),Ss=a.isReservedTag||Re,xs(r),Ds(r,!1))}function xs(r){if(r.static=function(d){return d.type===2?!1:d.type===3?!0:!(!d.pre&&(d.hasBindings||d.if||d.for||Q(d.tag)||!Ss(d.tag)||function(v){for(;v.parent;){if((v=v.parent).tag!=="template")return!1;if(v.for)return!0}return!1}(d)||!Object.keys(d).every(K0)))}(r),r.type===1){if(!Ss(r.tag)&&r.tag!=="slot"&&r.attrsMap["inline-template"]==null)return;for(var a=0,o=r.children.length;a<o;a++){var c=r.children[a];xs(c),c.static||(r.static=!1)}if(r.ifConditions)for(a=1,o=r.ifConditions.length;a<o;a++){var f=r.ifConditions[a].block;xs(f),f.static||(r.static=!1)}}}function Ds(r,a){if(r.type===1){if((r.static||r.once)&&(r.staticInFor=a),r.static&&r.children.length&&(r.children.length!==1||r.children[0].type!==3))return void(r.staticRoot=!0);if(r.staticRoot=!1,r.children)for(var o=0,c=r.children.length;o<c;o++)Ds(r.children[o],a||!!r.for);if(r.ifConditions)for(o=1,c=r.ifConditions.length;o<c;o++)Ds(r.ifConditions[o].block,a)}}var Xp=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,eh=/\([^)]*?\);*$/,X0=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,ec={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},th={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Xt=function(r){return"if(".concat(r,")return null;")},tc={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Xt("$event.target !== $event.currentTarget"),ctrl:Xt("!$event.ctrlKey"),shift:Xt("!$event.shiftKey"),alt:Xt("!$event.altKey"),meta:Xt("!$event.metaKey"),left:Xt("'button' in $event && $event.button !== 0"),middle:Xt("'button' in $event && $event.button !== 1"),right:Xt("'button' in $event && $event.button !== 2")};function nc(r,a){var o=a?"nativeOn:":"on:",c="",f="";for(var d in r){var v=rc(r[d]);r[d]&&r[d].dynamic?f+="".concat(d,",").concat(v,","):c+='"'.concat(d,'":').concat(v,",")}return c="{".concat(c.slice(0,-1),"}"),f?o+"_d(".concat(c,",[").concat(f.slice(0,-1),"])"):o+c}function rc(r){if(!r)return"function(){}";if(Array.isArray(r))return"[".concat(r.map(function(C){return rc(C)}).join(","),"]");var a=X0.test(r.value),o=Xp.test(r.value),c=X0.test(r.value.replace(eh,""));if(r.modifiers){var f="",d="",v=[],b=function(C){if(tc[C])d+=tc[C],ec[C]&&v.push(C);else if(C==="exact"){var _=r.modifiers;d+=Xt(["ctrl","shift","alt","meta"].filter(function(x){return!_[x]}).map(function(x){return"$event.".concat(x,"Key")}).join("||"))}else v.push(C)};for(var m in r.modifiers)b(m);v.length&&(f+=function(C){return"if(!$event.type.indexOf('key')&&"+"".concat(C.map(nh).join("&&"),")return null;")}(v)),d&&(f+=d);var L=a?"return ".concat(r.value,".apply(null, arguments)"):o?"return (".concat(r.value,").apply(null, arguments)"):c?"return ".concat(r.value):r.value;return"function($event){".concat(f).concat(L,"}")}return a||o?r.value:"function($event){".concat(c?"return ".concat(r.value):r.value,"}")}function nh(r){var a=parseInt(r,10);if(a)return"$event.keyCode!==".concat(a);var o=ec[r],c=th[r];return"_k($event.keyCode,"+"".concat(JSON.stringify(r),",")+"".concat(JSON.stringify(o),",")+"$event.key,"+"".concat(JSON.stringify(c))+")"}var rh={on:function(r,a){r.wrapListeners=function(o){return"_g(".concat(o,",").concat(a.value,")")}},bind:function(r,a){r.wrapData=function(o){return"_b(".concat(o,",'").concat(r.tag,"',").concat(a.value,",").concat(a.modifiers&&a.modifiers.prop?"true":"false").concat(a.modifiers&&a.modifiers.sync?",true":"",")")}},cloak:re},ih=function(r){this.options=r,this.warn=r.warn||Yl,this.transforms=Rr(r.modules,"transformCode"),this.dataGenFns=Rr(r.modules,"genData"),this.directives=te(te({},rh),r.directives);var a=r.isReservedTag||Re;this.maybeComponent=function(o){return!!o.component||!a(o.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function ic(r,a){var o=new ih(a),c=r?r.tag==="script"?"null":en(r,o):'_c("div")';return{render:"with(this){return ".concat(c,"}"),staticRenderFns:o.staticRenderFns}}function en(r,a){if(r.parent&&(r.pre=r.pre||r.parent.pre),r.staticRoot&&!r.staticProcessed)return ac(r,a);if(r.once&&!r.onceProcessed)return sc(r,a);if(r.for&&!r.forProcessed)return lc(r,a);if(r.if&&!r.ifProcessed)return Ts(r,a);if(r.tag!=="template"||r.slotTarget||a.pre){if(r.tag==="slot")return function(L,C){var _=L.slotName||'"default"',x=sr(L,C),T="_t(".concat(_).concat(x?",function(){return ".concat(x,"}"):""),k=L.attrs||L.dynamicAttrs?Ri((L.attrs||[]).concat(L.dynamicAttrs||[]).map(function(P){return{name:oe(P.name),value:P.value,dynamic:P.dynamic}})):null,j=L.attrsMap["v-bind"];return!k&&!j||x||(T+=",null"),k&&(T+=",".concat(k)),j&&(T+="".concat(k?"":",null",",").concat(j)),T+")"}(r,a);var o=void 0;if(r.component)o=function(L,C,_){var x=C.inlineTemplate?null:sr(C,_,!0);return"_c(".concat(L,",").concat(cc(C,_)).concat(x?",".concat(x):"",")")}(r.component,r,a);else{var c=void 0,f=a.maybeComponent(r);(!r.plain||r.pre&&f)&&(c=cc(r,a));var d=void 0,v=a.options.bindings;f&&v&&v.__isScriptSetup!==!1&&(d=function(L,C){var _=oe(C),x=ke(_),T=function(P){return L[C]===P?C:L[_]===P?_:L[x]===P?x:void 0},k=T("setup-const")||T("setup-reactive-const");if(k)return k;var j=T("setup-let")||T("setup-ref")||T("setup-maybe-ref");if(j)return j}(v,r.tag)),d||(d="'".concat(r.tag,"'"));var b=r.inlineTemplate?null:sr(r,a,!0);o="_c(".concat(d).concat(c?",".concat(c):"").concat(b?",".concat(b):"",")")}for(var m=0;m<a.transforms.length;m++)o=a.transforms[m](r,o);return o}return sr(r,a)||"void 0"}function ac(r,a){r.staticProcessed=!0;var o=a.pre;return r.pre&&(a.pre=r.pre),a.staticRenderFns.push("with(this){return ".concat(en(r,a),"}")),a.pre=o,"_m(".concat(a.staticRenderFns.length-1).concat(r.staticInFor?",true":"",")")}function sc(r,a){if(r.onceProcessed=!0,r.if&&!r.ifProcessed)return Ts(r,a);if(r.staticInFor){for(var o="",c=r.parent;c;){if(c.for){o=c.key;break}c=c.parent}return o?"_o(".concat(en(r,a),",").concat(a.onceId++,",").concat(o,")"):en(r,a)}return ac(r,a)}function Ts(r,a,o,c){return r.ifProcessed=!0,oc(r.ifConditions.slice(),a,o,c)}function oc(r,a,o,c){if(!r.length)return c||"_e()";var f=r.shift();return f.exp?"(".concat(f.exp,")?").concat(d(f.block),":").concat(oc(r,a,o,c)):"".concat(d(f.block));function d(v){return o?o(v,a):v.once?sc(v,a):en(v,a)}}function lc(r,a,o,c){var f=r.for,d=r.alias,v=r.iterator1?",".concat(r.iterator1):"",b=r.iterator2?",".concat(r.iterator2):"";return r.forProcessed=!0,"".concat(c||"_l","((").concat(f,"),")+"function(".concat(d).concat(v).concat(b,"){")+"return ".concat((o||en)(r,a))+"})"}function cc(r,a){var o="{",c=function(v,b){var m=v.directives;if(m){var L,C,_,x,T="directives:[",k=!1;for(L=0,C=m.length;L<C;L++){_=m[L],x=!0;var j=b.directives[_.name];j&&(x=!!j(v,_,b.warn)),x&&(k=!0,T+='{name:"'.concat(_.name,'",rawName:"').concat(_.rawName,'"').concat(_.value?",value:(".concat(_.value,"),expression:").concat(JSON.stringify(_.value)):"").concat(_.arg?",arg:".concat(_.isDynamicArg?_.arg:'"'.concat(_.arg,'"')):"").concat(_.modifiers?",modifiers:".concat(JSON.stringify(_.modifiers)):"","},"))}if(k)return T.slice(0,-1)+"]"}}(r,a);c&&(o+=c+","),r.key&&(o+="key:".concat(r.key,",")),r.ref&&(o+="ref:".concat(r.ref,",")),r.refInFor&&(o+="refInFor:true,"),r.pre&&(o+="pre:true,"),r.component&&(o+='tag:"'.concat(r.tag,'",'));for(var f=0;f<a.dataGenFns.length;f++)o+=a.dataGenFns[f](r);if(r.attrs&&(o+="attrs:".concat(Ri(r.attrs),",")),r.props&&(o+="domProps:".concat(Ri(r.props),",")),r.events&&(o+="".concat(nc(r.events,!1),",")),r.nativeEvents&&(o+="".concat(nc(r.nativeEvents,!0),",")),r.slotTarget&&!r.slotScope&&(o+="slot:".concat(r.slotTarget,",")),r.scopedSlots&&(o+="".concat(function(v,b,m){var L=v.for||Object.keys(b).some(function(T){var k=b[T];return k.slotTargetDynamic||k.if||k.for||uc(k)}),C=!!v.if;if(!L)for(var _=v.parent;_;){if(_.slotScope&&_.slotScope!==Ti||_.for){L=!0;break}_.if&&(C=!0),_=_.parent}var x=Object.keys(b).map(function(T){return ks(b[T],m)}).join(",");return"scopedSlots:_u([".concat(x,"]").concat(L?",null,true":"").concat(!L&&C?",null,false,".concat(function(T){for(var k=5381,j=T.length;j;)k=33*k^T.charCodeAt(--j);return k>>>0}(x)):"",")")}(r,r.scopedSlots,a),",")),r.model&&(o+="model:{value:".concat(r.model.value,",callback:").concat(r.model.callback,",expression:").concat(r.model.expression,"},")),r.inlineTemplate){var d=function(v,b){var m=v.children[0];if(m&&m.type===1){var L=ic(m,b.options);return"inlineTemplate:{render:function(){".concat(L.render,"},staticRenderFns:[").concat(L.staticRenderFns.map(function(C){return"function(){".concat(C,"}")}).join(","),"]}")}}(r,a);d&&(o+="".concat(d,","))}return o=o.replace(/,$/,"")+"}",r.dynamicAttrs&&(o="_b(".concat(o,',"').concat(r.tag,'",').concat(Ri(r.dynamicAttrs),")")),r.wrapData&&(o=r.wrapData(o)),r.wrapListeners&&(o=r.wrapListeners(o)),o}function uc(r){return r.type===1&&(r.tag==="slot"||r.children.some(uc))}function ks(r,a){var o=r.attrsMap["slot-scope"];if(r.if&&!r.ifProcessed&&!o)return Ts(r,a,ks,"null");if(r.for&&!r.forProcessed)return lc(r,a,ks);var c=r.slotScope===Ti?"":String(r.slotScope),f="function(".concat(c,"){")+"return ".concat(r.tag==="template"?r.if&&o?"(".concat(r.if,")?").concat(sr(r,a)||"undefined",":undefined"):sr(r,a)||"undefined":en(r,a),"}"),d=c?"":",proxy:true";return"{key:".concat(r.slotTarget||'"default"',",fn:").concat(f).concat(d,"}")}function sr(r,a,o,c,f){var d=r.children;if(d.length){var v=d[0];if(d.length===1&&v.for&&v.tag!=="template"&&v.tag!=="slot"){var b=o?a.maybeComponent(v)?",1":",0":"";return"".concat((c||en)(v,a)).concat(b)}var m=o?function(C,_){for(var x=0,T=0;T<C.length;T++){var k=C[T];if(k.type===1){if(dc(k)||k.ifConditions&&k.ifConditions.some(function(j){return dc(j.block)})){x=2;break}(_(k)||k.ifConditions&&k.ifConditions.some(function(j){return _(j.block)}))&&(x=1)}}return x}(d,a.maybeComponent):0,L=f||ah;return"[".concat(d.map(function(C){return L(C,a)}).join(","),"]").concat(m?",".concat(m):"")}}function dc(r){return r.for!==void 0||r.tag==="template"||r.tag==="slot"}function ah(r,a){return r.type===1?en(r,a):r.type===3&&r.isComment?function(o){return"_e(".concat(JSON.stringify(o.text),")")}(r):function(o){return"_v(".concat(o.type===2?o.expression:fc(JSON.stringify(o.text)),")")}(r)}function Ri(r){for(var a="",o="",c=0;c<r.length;c++){var f=r[c],d=fc(f.value);f.dynamic?o+="".concat(f.name,",").concat(d,","):a+='"'.concat(f.name,'":').concat(d,",")}return a="{".concat(a.slice(0,-1),"}"),o?"_d(".concat(a,",[").concat(o.slice(0,-1),"])"):a}function fc(r){return r.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function pc(r,a){try{return new Function(r)}catch(o){return a.push({err:o,code:r}),re}}function sh(r){var a=Object.create(null);return function(o,c,f){(c=te({},c)).warn,delete c.warn;var d=c.delimiters?String(c.delimiters)+o:o;if(a[d])return a[d];var v=r(o,c),b={},m=[];return b.render=pc(v.render,m),b.staticRenderFns=v.staticRenderFns.map(function(L){return pc(L,m)}),a[d]=b}}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)");var hc,Rs,oh=(hc=function(r,a){var o=zp(r.trim(),a);a.optimize!==!1&&Kp(o,a);var c=ic(o,a);return{ast:o,render:c.render,staticRenderFns:c.staticRenderFns}},function(r){function a(o,c){var f=Object.create(r),d=[],v=[];if(c)for(var b in c.modules&&(f.modules=(r.modules||[]).concat(c.modules)),c.directives&&(f.directives=te(Object.create(r.directives||null),c.directives)),c)b!=="modules"&&b!=="directives"&&(f[b]=c[b]);f.warn=function(L,C,_){(_?v:d).push(L)};var m=hc(o.trim(),f);return m.errors=d,m.tips=v,m}return{compile:a,compileToFunctions:sh(a)}}),vc=oh(qp).compileToFunctions;function gc(r){return(Rs=Rs||document.createElement("div")).innerHTML=r?`<a href="
+"/>`:`<div a="
+"/>`,Rs.innerHTML.indexOf("&#10;")>0}var lh=!!Me&&gc(!1),ch=!!Me&&gc(!0),uh=Y(function(r){var a=Qa(r);return a&&a.innerHTML}),dh=Ae.prototype.$mount;return Ae.prototype.$mount=function(r,a){if((r=r&&Qa(r))===document.body||r===document.documentElement)return this;var o=this.$options;if(!o.render){var c=o.template;if(c)if(typeof c=="string")c.charAt(0)==="#"&&(c=uh(c));else{if(!c.nodeType)return this;c=c.innerHTML}else r&&(c=function(b){if(b.outerHTML)return b.outerHTML;var m=document.createElement("div");return m.appendChild(b.cloneNode(!0)),m.innerHTML}(r));if(c){var f=vc(c,{outputSourceRange:!1,shouldDecodeNewlines:lh,shouldDecodeNewlinesForHref:ch,delimiters:o.delimiters,comments:o.comments},this),d=f.render,v=f.staticRenderFns;o.render=d,o.staticRenderFns=v}}return dh.call(this,r,a)},Ae.compile=vc,te(Ae,y9),Ae.effect=function(r,a){var o=new nr(Se,r,re,{sync:!0});a&&(o.update=function(){a(function(){return o.run()})})},Ae})})(Vu);var Fu=Vu.exports;const Oe=fh(Fu),ph=function(t,e,n){for(var i=0;i<t.length;i++)e.call(n,t[i])};function Uu(){return Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)}function mc(){return Uu()>=768}function zi(){return Uu()>=1200}function Ne(t,e,n,i,s,l,u,p){var h=typeof t=="function"?t.options:t;e&&(h.render=e,h.staticRenderFns=n,h._compiled=!0),i&&(h.functional=!0),l&&(h._scopeId="data-v-"+l);var y;if(u?(y=function(A){A=A||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!A&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(A=__VUE_SSR_CONTEXT__),s&&s.call(this,A),A&&A._registeredComponents&&A._registeredComponents.add(u)},h._ssrRegister=y):s&&(y=p?function(){s.call(this,(h.functional?this.parent:this).$root.$options.shadowRoot)}:s),y)if(h.functional){h._injectStyles=y;var g=h.render;h.render=function(w,O){return y.call(O),g(w,O)}}else{var S=h.beforeCreate;h.beforeCreate=S?[].concat(S,y):[y]}return{exports:t,options:h}}const hh={name:"AnimatedArrow",props:["mobileWidth","mobileHeight","desktopWidth","desktopHeight"],mounted:function(){let t=!1;const e=()=>{t=!t,t?(this.$refs.arrowDesktop.style.fill="#fff",this.$refs.arrowMobile.style.fill="#fff"):(this.$refs.arrowDesktop.style.fill="#fec900",this.$refs.arrowMobile.style.fill="#fec900")};window.setInterval(e,750)}};var vh=function(){var e=this,n=e._self._c;return n("div",[n("svg",{staticClass:"xl:hidden block",attrs:{width:e.mobileWidth,height:e.mobileHeight,viewBox:"0 0 10 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[n("g",{attrs:{id:"Icon / Placeholder"}},[n("path",{ref:"arrowMobile",staticClass:"arrow-icon",staticStyle:{transition:"fill 0.75s"},attrs:{d:"M0 16.5H4.40178L11 10.0002L4.40228 3.5H0L6.60069 10.0002L0 16.5Z",fill:"#FEC900"}})])]),n("svg",{staticClass:"xl:block hidden",attrs:{width:e.desktopWidth,height:e.desktopHeight,viewBox:"0 0 10 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[n("g",{attrs:{id:"Icon / Placeholder"}},[n("path",{ref:"arrowDesktop",staticClass:"arrow-icon",staticStyle:{transition:"fill 0.75s"},attrs:{d:"M0 16.5H4.40178L11 10.0002L4.40228 3.5H0L6.60069 10.0002L0 16.5Z",fill:"#FEC900"}})])])])},gh=[],mh=Ne(hh,vh,gh,!1,null,null,null,null);const yh=mh.exports,bh={props:{name:{type:String,default:"Kalendář"},events:{type:Array,required:!0},onShowMore:{type:Function,required:!1},hasMore:{type:Boolean,default:!0},showBanner:{type:Boolean,default:!0}},filters:{dateDay:t=>`${new Date(t).getDate()}.`}};var _h=function(){var e=this,n=e._self._c;return n("div",{staticClass:"calendar grid grid-cols-4"},[e.showBanner?n("div",{staticClass:"col-span-4 xl:col-span-1"},[n("aside",{staticClass:"banner bg-orange-300 text-white h-full"},[n("i",{staticClass:"ico--calendar banner__icon"}),n("div",{staticClass:"banner__body"},[n("h1",{staticClass:"head-alt-md banner__cta"},[e._v(e._s(e.name))]),e.onShowMore&&e.hasMore?n("button",{staticClass:"btn btn--white btn--fullwidth sm:btn--autowidth mt-8",on:{click:function(i){return e.onShowMore()}}},[n("div",{staticClass:"btn__body"},[e._v("Zobrazit další")])]):e._e()])])]):e._e(),n("div",{class:{"col-span-4 xl:col-span-3":e.showBanner,"col-span-4":!e.showBanner}},e._l(e.events,function(i){return n("div",{key:i.id,staticClass:"grid grid-cols-12 items-center calendar-table-row",class:{"calendar-table-row--standalone":!e.showBanner}},[n("div",{staticClass:"col-span-2 text-orange-300 head-alt-md calendar-table-row__col"},[n("span",[e._v(e._s(e._f("dateDay")(i.startTimestamp)))])]),n("div",{staticClass:"col-span-8 grid grid-cols-3 col-gap-4 calendar-table-row__col",class:{"calendar-table-row__col--norborder":!i.mapLink}},[n("div",{staticClass:"col-span-3 md:col-span-1"},[n("strong",{staticClass:"block"},[e._v(e._s(i.startDateVerbose))]),n("p",{staticClass:"font-light text-sm mt-1"},[e._v(e._s(i.allDay?"Celý den":i.startTimeVerbose))])]),n("div",{staticClass:"col-span-3 md:col-span-2 mt-4 md:mt-0"},[i.link?n("a",{staticClass:"font-bold block",attrs:{href:i.link,target:"_blank",rel:"noreferrer noopener"}},[e._v(e._s(i.title))]):e._e(),i.link?e._e():n("strong",{staticClass:"block"},[e._v(e._s(i.title))]),i.description?n("p",{staticClass:"font-light text-sm mt-1"},[e._v(e._s(i.description))]):e._e()])]),n("div",{staticClass:"col-span-2 text-center font-light calendar-table-row__col"},[i.mapLink?n("a",{staticClass:"icon-link",attrs:{href:i.mapLink}},[n("i",{staticClass:"ico--location text-violet-300 mr-1",attrs:{"aria-hidden":"true"}}),n("span",[e._v("Mapa")])]):e._e()])])}),0)])},wh=[],Lh=Ne(bh,_h,wh,!1,null,null,null,null);const Ah=Lh.exports,yc=[{id:2,start:"2020-07-08T10:00:00.000Z",startTimestamp:new Date("2020-07-08T10:00:00.000Z").getTime(),startDateVerbose:"středa 8. července 2020",startTimeVerbose:"12:00",allDay:!1,end:"2020-07-08T11:00:00.000Z",title:"Pirátský oběd - Chrudim",description:"Pravidelné setkání pirátů při středečním obědě. Nejen o politice a s chutí.",link:"https://www.google.com/calendar/event?eid=Mmw1Y2RwMTByYm80Y204cWxsaW1maWJmcTJfMjAyMDA3MDhUMTAwMDAwWiA3cjY3M3JsaDI1NW9mb3JodjNvZWIybDBnMEBn"},{id:15,start:"2020-07-13T19:00:00.000Z",startTimestamp:new Date("2020-07-13T19:00:00.000Z").getTime(),startDateVerbose:"pondělí 13. července 2020",startTimeVerbose:"21:00",allDay:!1,end:"2020-07-13T19:30:00.000Z",title:"Mumble - předsednictvo",link:"https://www.google.com/calendar/event?eid=YzVpM2FvaGc2MHAzY2I5aGM1aW1jYjlrNjBvbThiYjE2dGk2NGI5ajY4cjY0ZGhrNzVnamdjOWdjb18yMDIwMDcxM1QxOTAwMDBaIDdyNjczcmxoMjU1b2Zvcmh2M29lYjJsMGcwQGc"},{id:3,start:"2020-07-15T10:00:00.000Z",startTimestamp:new Date("2020-07-15T10:00:00.000Z").getTime(),startDateVerbose:"středa 15. července 2020",startTimeVerbose:"12:00",allDay:!1,end:"2020-07-15T11:00:00.000Z",title:"Pirátský oběd - Chrudim",description:"Pravidelné setkání pirátů při středečním obědě. Nejen o politice a s chutí.",link:"https://www.google.com/calendar/event?eid=Mmw1Y2RwMTByYm80Y204cWxsaW1maWJmcTJfMjAyMDA3MTVUMTAwMDAwWiA3cjY3M3JsaDI1NW9mb3JodjNvZWIybDBnMEBn",mapLink:"https://maps.google.com"},{id:16,start:"2020-07-20T19:00:00.000Z",startTimestamp:new Date("2020-07-20T19:00:00.000Z").getTime(),startDateVerbose:"pondělí 20. července 2020",startTimeVerbose:"21:00",allDay:!1,end:"2020-07-20T19:30:00.000Z",title:"Mumble - předsednictvo",link:"https://www.google.com/calendar/event?eid=YzVpM2FvaGc2MHAzY2I5aGM1aW1jYjlrNjBvbThiYjE2dGk2NGI5ajY4cjY0ZGhrNzVnamdjOWdjb18yMDIwMDcyMFQxOTAwMDBaIDdyNjczcmxoMjU1b2Zvcmh2M29lYjJsMGcwQGc"},{id:4,start:"2020-07-22T10:00:00.000Z",startTimestamp:new Date("2020-07-22T10:00:00.000Z").getTime(),startDateVerbose:"středa 22. července 2020",startTimeVerbose:"12:00",allDay:!1,end:"2020-07-22T11:00:00.000Z",title:"Pirátský oběd - Chrudim",description:"Pravidelné setkání pirátů při středečním obědě. Nejen o politice a s chutí.",link:"https://www.google.com/calendar/event?eid=Mmw1Y2RwMTByYm80Y204cWxsaW1maWJmcTJfMjAyMDA3MjJUMTAwMDAwWiA3cjY3M3JsaDI1NW9mb3JodjNvZWIybDBnMEBn"},{id:17,start:"2020-07-27T19:00:00.000Z",startTimestamp:new Date("2020-07-27T19:00:00.000Z").getTime(),startDateVerbose:"pondělí 27. července 2020",startTimeVerbose:"21:00",allDay:!1,end:"2020-07-27T19:30:00.000Z",title:"Mumble - předsednictvo",link:"https://www.google.com/calendar/event?eid=YzVpM2FvaGc2MHAzY2I5aGM1aW1jYjlrNjBvbThiYjE2dGk2NGI5ajY4cjY0ZGhrNzVnamdjOWdjb18yMDIwMDcyN1QxOTAwMDBaIDdyNjczcmxoMjU1b2Zvcmh2M29lYjJsMGcwQGc"},{id:5,start:"2020-07-29T10:00:00.000Z",startTimestamp:new Date("2020-07-29T10:00:00.000Z").getTime(),startDateVerbose:"středa 29. července 2020",startTimeVerbose:"12:00",allDay:!1,end:"2020-07-29T11:00:00.000Z",title:"Pirátský oběd - Chrudim",description:"Pravidelné setkání pirátů při středečním obědě. Nejen o politice a s chutí.",link:"https://www.google.com/calendar/event?eid=Mmw1Y2RwMTByYm80Y204cWxsaW1maWJmcTJfMjAyMDA3MjlUMTAwMDAwWiA3cjY3M3JsaDI1NW9mb3JodjNvZWIybDBnMEBn"},{id:18,start:"2020-08-03T19:00:00.000Z",startTimestamp:new Date("2020-08-03T19:00:00.000Z").getTime(),startDateVerbose:"pondělí 3. srpna 2020",startTimeVerbose:"21:00",allDay:!1,end:"2020-08-03T19:30:00.000Z",title:"Mumble - předsednictvo",link:"https://www.google.com/calendar/event?eid=YzVpM2FvaGc2MHAzY2I5aGM1aW1jYjlrNjBvbThiYjE2dGk2NGI5ajY4cjY0ZGhrNzVnamdjOWdjb18yMDIwMDgwM1QxOTAwMDBaIDdyNjczcmxoMjU1b2Zvcmh2M29lYjJsMGcwQGc"},{id:6,start:"2020-08-05T10:00:00.000Z",startTimestamp:new Date("2020-08-05T10:00:00.000Z").getTime(),startDateVerbose:"středa 5. srpna 2020",startTimeVerbose:"12:00",allDay:!1,end:"2020-08-05T11:00:00.000Z",title:"Pirátský oběd - Chrudim",description:"Pravidelné setkání pirátů při středečním obědě. Nejen o politice a s chutí.",link:"https://www.google.com/calendar/event?eid=Mmw1Y2RwMTByYm80Y204cWxsaW1maWJmcTJfMjAyMDA4MDVUMTAwMDAwWiA3cjY3M3JsaDI1NW9mb3JodjNvZWIybDBnMEBn"}],Ch=[{id:19,start:"2020-08-10T19:00:00.000Z",startTimestamp:new Date("2020-08-10T19:00:00.000Z").getTime(),startDateVerbose:"pondělí 10. srpna 2020",startTimeVerbose:"21:00",allDay:!1,end:"2020-08-10T19:30:00.000Z",title:"Mumble - předsednictvo",link:"https://www.google.com/calendar/event?eid=YzVpM2FvaGc2MHAzY2I5aGM1aW1jYjlrNjBvbThiYjE2dGk2NGI5ajY4cjY0ZGhrNzVnamdjOWdjb18yMDIwMDgxMFQxOTAwMDBaIDdyNjczcmxoMjU1b2Zvcmh2M29lYjJsMGcwQGc"},{id:7,start:"2020-08-12T10:00:00.000Z",startTimestamp:new Date("2020-08-12T10:00:00.000Z").getTime(),startDateVerbose:"středa 12. srpna 2020",startTimeVerbose:"12:00",allDay:!1,end:"2020-08-12T11:00:00.000Z",title:"Pirátský oběd - Chrudim",description:"Pravidelné setkání pirátů při středečním obědě. Nejen o politice a s chutí.",link:"https://www.google.com/calendar/event?eid=Mmw1Y2RwMTByYm80Y204cWxsaW1maWJmcTJfMjAyMDA4MTJUMTAwMDAwWiA3cjY3M3JsaDI1NW9mb3JodjNvZWIybDBnMEBn"}],Eh={data:()=>({events:yc,hasMore:!0}),methods:{onShowMore(){this.$data.events=[...yc,...Ch],this.$data.hasMore=!1}},render(){return this.$scopedSlots.default({events:this.events,hasMore:this.hasMore,onShowMore:this.onShowMore})}},Sh=null,xh=null;var Dh=Ne(Eh,Sh,xh,!1,null,null,null,null);const Th=Dh.exports,kh=10,Rh={props:{calendarId:{type:String,required:!0},apiKey:{type:String,required:!0}},data(){return{events:[],toShow:7}},computed:{displayedEvents(){return this.events.slice(0,this.toShow)},hasMore(){return this.toShow<this.events.length}},methods:{onShowMore(){this.toShow+=kh},loadEventsFromStorage(){if(window.sessionStorage&&window.sessionStorage["__pircal_"+this.calendarId])return JSON.parse(window.sessionStorage["__pircal_"+this.calendarId])},storeEventsToStorage(){window.sessionStorage&&(window.sessionStorage["__pircal_"+this.calendarId]=JSON.stringify(this.events))}},mounted(){const t=this.loadEventsFromStorage();if(t)this.events=t;else{const e=new Date,n=e.toISOString(),i=new Date(+e+1e3*60*60*24*90).toISOString(),s=`https://www.googleapis.com/calendar/v3/calendars/${this.calendarId}/events?key=${encodeURIComponent(this.apiKey)}&maxResults=150&timeMin=${encodeURIComponent(n)}&timeMax=${encodeURIComponent(i)}&sanitizeHtml=true&singleEvents=true&maxAtendees=1`;let l=0;fetch(s).then(u=>{if(!u.ok)throw new Error("Problem loading events from google");return u.json()}).then(u=>{this.events=u.items.map(p=>{const h=new Date(p.start.dateTime||p.start.date),y=new Date(p.end.dateTime||p.end.date),g=h.toLocaleDateString("cs-CZ",{weekday:"long",year:"numeric",month:"long",day:"numeric"}),S=h.getHours()+":"+h.getMinutes().toString().padStart(2,"0"),A=!p.start.dateTime;return{id:l++,start:h,startTimestamp:h.getTime(),startDateVerbose:g,startTimeVerbose:S,allDay:A,end:y,title:p.summary,description:p.description,link:p.htmlLink}}).sort((p,h)=>p.start<h.start?-1:1),this.storeEventsToStorage()})}},render(){return this.$scopedSlots.default({events:this.displayedEvents,hasMore:this.hasMore,onShowMore:this.onShowMore})}},Oh=null,Mh=null;var Ih=Ne(Rh,Oh,Mh,!1,null,null,null,null);const Nh=Ih.exports;var fa,K,zu,Wu,pr,jn,bc,Gu,Zu,qi={},Yu=[],$h=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function vn(t,e){for(var n in e)t[n]=e[n];return t}function Qu(t){var e=t.parentNode;e&&e.removeChild(t)}function M(t,e,n){var i,s,l,u={};for(l in e)l=="key"?i=e[l]:l=="ref"?s=e[l]:u[l]=e[l];if(arguments.length>2&&(u.children=arguments.length>3?fa.call(arguments,2):n),typeof t=="function"&&t.defaultProps!=null)for(l in t.defaultProps)u[l]===void 0&&(u[l]=t.defaultProps[l]);return Wi(t,u,i,s,null)}function Wi(t,e,n,i,s){var l={type:t,props:e,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:s==null?++zu:s};return s==null&&K.vnode!=null&&K.vnode(l),l}function nn(){return{current:null}}function Ie(t){return t.children}function Ph(t,e,n,i,s){var l;for(l in n)l==="children"||l==="key"||l in e||Ji(t,l,null,n[l],i);for(l in e)s&&typeof e[l]!="function"||l==="children"||l==="key"||l==="value"||l==="checked"||n[l]===e[l]||Ji(t,l,e[l],n[l],i)}function _c(t,e,n){e[0]==="-"?t.setProperty(e,n==null?"":n):t[e]=n==null?"":typeof n!="number"||$h.test(e)?n:n+"px"}function Ji(t,e,n,i,s){var l;e:if(e==="style")if(typeof n=="string")t.style.cssText=n;else{if(typeof i=="string"&&(t.style.cssText=i=""),i)for(e in i)n&&e in n||_c(t.style,e,"");if(n)for(e in n)i&&n[e]===i[e]||_c(t.style,e,n[e])}else if(e[0]==="o"&&e[1]==="n")l=e!==(e=e.replace(/Capture$/,"")),e=e.toLowerCase()in t?e.toLowerCase().slice(2):e.slice(2),t.l||(t.l={}),t.l[e+l]=n,n?i||t.addEventListener(e,l?Lc:wc,l):t.removeEventListener(e,l?Lc:wc,l);else if(e!=="dangerouslySetInnerHTML"){if(s)e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!=="width"&&e!=="height"&&e!=="href"&&e!=="list"&&e!=="form"&&e!=="tabIndex"&&e!=="download"&&e in t)try{t[e]=n==null?"":n;break e}catch(u){}typeof n=="function"||(n==null||n===!1&&e.indexOf("-")==-1?t.removeAttribute(e):t.setAttribute(e,n))}}function wc(t){pr=!0;try{return this.l[t.type+!1](K.event?K.event(t):t)}finally{pr=!1}}function Lc(t){pr=!0;try{return this.l[t.type+!0](K.event?K.event(t):t)}finally{pr=!1}}function ft(t,e){this.props=t,this.context=e}function zr(t,e){if(e==null)return t.__?zr(t.__,t.__.__k.indexOf(t)+1):null;for(var n;e<t.__k.length;e++)if((n=t.__k[e])!=null&&n.__e!=null)return n.__e;return typeof t.type=="function"?zr(t):null}function qu(t){var e,n;if((t=t.__)!=null&&t.__c!=null){for(t.__e=t.__c.base=null,e=0;e<t.__k.length;e++)if((n=t.__k[e])!=null&&n.__e!=null){t.__e=t.__c.base=n.__e;break}return qu(t)}}function Hh(t){pr?setTimeout(t):Gu(t)}function Ks(t){(!t.__d&&(t.__d=!0)&&jn.push(t)&&!Ki.__r++||bc!==K.debounceRendering)&&((bc=K.debounceRendering)||Hh)(Ki)}function Ki(){var t,e,n,i,s,l,u,p;for(jn.sort(function(h,y){return h.__v.__b-y.__v.__b});t=jn.shift();)t.__d&&(e=jn.length,i=void 0,s=void 0,u=(l=(n=t).__v).__e,(p=n.__P)&&(i=[],(s=vn({},l)).__v=l.__v+1,ho(p,l,s,n.__n,p.ownerSVGElement!==void 0,l.__h!=null?[u]:null,i,u==null?zr(l):u,l.__h),td(i,l),l.__e!=u&&qu(l)),jn.length>e&&jn.sort(function(h,y){return h.__v.__b-y.__v.__b}));Ki.__r=0}function Ju(t,e,n,i,s,l,u,p,h,y){var g,S,A,w,O,B,$,H=i&&i.__k||Yu,V=H.length;for(n.__k=[],g=0;g<e.length;g++)if((w=n.__k[g]=(w=e[g])==null||typeof w=="boolean"?null:typeof w=="string"||typeof w=="number"||typeof w=="bigint"?Wi(null,w,null,null,w):Array.isArray(w)?Wi(Ie,{children:w},null,null,null):w.__b>0?Wi(w.type,w.props,w.key,w.ref?w.ref:null,w.__v):w)!=null){if(w.__=n,w.__b=n.__b+1,(A=H[g])===null||A&&w.key==A.key&&w.type===A.type)H[g]=void 0;else for(S=0;S<V;S++){if((A=H[S])&&w.key==A.key&&w.type===A.type){H[S]=void 0;break}A=null}ho(t,w,A=A||qi,s,l,u,p,h,y),O=w.__e,(S=w.ref)&&A.ref!=S&&($||($=[]),A.ref&&$.push(A.ref,null,w),$.push(S,w.__c||O,w)),O!=null?(B==null&&(B=O),typeof w.type=="function"&&w.__k===A.__k?w.__d=h=Ku(w,h,t):h=Xu(t,w,A,H,O,h),typeof n.type=="function"&&(n.__d=h)):h&&A.__e==h&&h.parentNode!=t&&(h=zr(A))}for(n.__e=B,g=V;g--;)H[g]!=null&&(typeof n.type=="function"&&H[g].__e!=null&&H[g].__e==n.__d&&(n.__d=ed(i).nextSibling),rd(H[g],H[g]));if($)for(g=0;g<$.length;g++)nd($[g],$[++g],$[++g])}function Ku(t,e,n){for(var i,s=t.__k,l=0;s&&l<s.length;l++)(i=s[l])&&(i.__=t,e=typeof i.type=="function"?Ku(i,e,n):Xu(n,i,i,s,i.__e,e));return e}function Xi(t,e){return e=e||[],t==null||typeof t=="boolean"||(Array.isArray(t)?t.some(function(n){Xi(n,e)}):e.push(t)),e}function Xu(t,e,n,i,s,l){var u,p,h;if(e.__d!==void 0)u=e.__d,e.__d=void 0;else if(n==null||s!=l||s.parentNode==null)e:if(l==null||l.parentNode!==t)t.appendChild(s),u=null;else{for(p=l,h=0;(p=p.nextSibling)&&h<i.length;h+=1)if(p==s)break e;t.insertBefore(s,l),u=l}return u!==void 0?u:s.nextSibling}function ed(t){var e,n,i;if(t.type==null||typeof t.type=="string")return t.__e;if(t.__k){for(e=t.__k.length-1;e>=0;e--)if((n=t.__k[e])&&(i=ed(n)))return i}return null}function ho(t,e,n,i,s,l,u,p,h){var y,g,S,A,w,O,B,$,H,V,Q,E,X,z,q,Y=e.type;if(e.constructor!==void 0)return null;n.__h!=null&&(h=n.__h,p=e.__e=n.__e,e.__h=null,l=[p]),(y=K.__b)&&y(e);try{e:if(typeof Y=="function"){if($=e.props,H=(y=Y.contextType)&&i[y.__c],V=y?H?H.props.value:y.__:i,n.__c?B=(g=e.__c=n.__c).__=g.__E:("prototype"in Y&&Y.prototype.render?e.__c=g=new Y($,V):(e.__c=g=new ft($,V),g.constructor=Y,g.render=Bh),H&&H.sub(g),g.props=$,g.state||(g.state={}),g.context=V,g.__n=i,S=g.__d=!0,g.__h=[],g._sb=[]),g.__s==null&&(g.__s=g.state),Y.getDerivedStateFromProps!=null&&(g.__s==g.state&&(g.__s=vn({},g.__s)),vn(g.__s,Y.getDerivedStateFromProps($,g.__s))),A=g.props,w=g.state,g.__v=e,S)Y.getDerivedStateFromProps==null&&g.componentWillMount!=null&&g.componentWillMount(),g.componentDidMount!=null&&g.__h.push(g.componentDidMount);else{if(Y.getDerivedStateFromProps==null&&$!==A&&g.componentWillReceiveProps!=null&&g.componentWillReceiveProps($,V),!g.__e&&g.shouldComponentUpdate!=null&&g.shouldComponentUpdate($,g.__s,V)===!1||e.__v===n.__v){for(e.__v!==n.__v&&(g.props=$,g.state=g.__s,g.__d=!1),e.__e=n.__e,e.__k=n.__k,e.__k.forEach(function(_e){_e&&(_e.__=e)}),Q=0;Q<g._sb.length;Q++)g.__h.push(g._sb[Q]);g._sb=[],g.__h.length&&u.push(g);break e}g.componentWillUpdate!=null&&g.componentWillUpdate($,g.__s,V),g.componentDidUpdate!=null&&g.__h.push(function(){g.componentDidUpdate(A,w,O)})}if(g.context=V,g.props=$,g.__P=t,E=K.__r,X=0,"prototype"in Y&&Y.prototype.render){for(g.state=g.__s,g.__d=!1,E&&E(e),y=g.render(g.props,g.state,g.context),z=0;z<g._sb.length;z++)g.__h.push(g._sb[z]);g._sb=[]}else do g.__d=!1,E&&E(e),y=g.render(g.props,g.state,g.context),g.state=g.__s;while(g.__d&&++X<25);g.state=g.__s,g.getChildContext!=null&&(i=vn(vn({},i),g.getChildContext())),S||g.getSnapshotBeforeUpdate==null||(O=g.getSnapshotBeforeUpdate(A,w)),q=y!=null&&y.type===Ie&&y.key==null?y.props.children:y,Ju(t,Array.isArray(q)?q:[q],e,n,i,s,l,u,p,h),g.base=e.__e,e.__h=null,g.__h.length&&u.push(g),B&&(g.__E=g.__=null),g.__e=!1}else l==null&&e.__v===n.__v?(e.__k=n.__k,e.__e=n.__e):e.__e=jh(n.__e,e,n,i,s,l,u,h);(y=K.diffed)&&y(e)}catch(_e){e.__v=null,(h||l!=null)&&(e.__e=p,e.__h=!!h,l[l.indexOf(p)]=null),K.__e(_e,e,n)}}function td(t,e){K.__c&&K.__c(e,t),t.some(function(n){try{t=n.__h,n.__h=[],t.some(function(i){i.call(n)})}catch(i){K.__e(i,n.__v)}})}function jh(t,e,n,i,s,l,u,p){var h,y,g,S=n.props,A=e.props,w=e.type,O=0;if(w==="svg"&&(s=!0),l!=null){for(;O<l.length;O++)if((h=l[O])&&"setAttribute"in h==!!w&&(w?h.localName===w:h.nodeType===3)){t=h,l[O]=null;break}}if(t==null){if(w===null)return document.createTextNode(A);t=s?document.createElementNS("http://www.w3.org/2000/svg",w):document.createElement(w,A.is&&A),l=null,p=!1}if(w===null)S===A||p&&t.data===A||(t.data=A);else{if(l=l&&fa.call(t.childNodes),y=(S=n.props||qi).dangerouslySetInnerHTML,g=A.dangerouslySetInnerHTML,!p){if(l!=null)for(S={},O=0;O<t.attributes.length;O++)S[t.attributes[O].name]=t.attributes[O].value;(g||y)&&(g&&(y&&g.__html==y.__html||g.__html===t.innerHTML)||(t.innerHTML=g&&g.__html||""))}if(Ph(t,A,S,s,p),g)e.__k=[];else if(O=e.props.children,Ju(t,Array.isArray(O)?O:[O],e,n,i,s&&w!=="foreignObject",l,u,l?l[0]:n.__k&&zr(n,0),p),l!=null)for(O=l.length;O--;)l[O]!=null&&Qu(l[O]);p||("value"in A&&(O=A.value)!==void 0&&(O!==t.value||w==="progress"&&!O||w==="option"&&O!==S.value)&&Ji(t,"value",O,S.value,!1),"checked"in A&&(O=A.checked)!==void 0&&O!==t.checked&&Ji(t,"checked",O,S.checked,!1))}return t}function nd(t,e,n){try{typeof t=="function"?t(e):t.current=e}catch(i){K.__e(i,n)}}function rd(t,e,n){var i,s;if(K.unmount&&K.unmount(t),(i=t.ref)&&(i.current&&i.current!==t.__e||nd(i,null,e)),(i=t.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(l){K.__e(l,e)}i.base=i.__P=null,t.__c=void 0}if(i=t.__k)for(s=0;s<i.length;s++)i[s]&&rd(i[s],e,n||typeof t.type!="function");n||t.__e==null||Qu(t.__e),t.__=t.__e=t.__d=void 0}function Bh(t,e,n){return this.constructor(t,n)}function Wr(t,e,n){var i,s,l;K.__&&K.__(t,e),s=(i=typeof n=="function")?null:n&&n.__k||e.__k,l=[],ho(e,t=(!i&&n||e).__k=M(Ie,null,[t]),s||qi,qi,e.ownerSVGElement!==void 0,!i&&n?[n]:s?null:e.firstChild?fa.call(e.childNodes):null,l,!i&&n?n:s?s.__e:e.firstChild,i),td(l,t)}function Vh(t,e){var n={__c:e="__cC"+Zu++,__:t,Consumer:function(i,s){return i.children(s)},Provider:function(i){var s,l;return this.getChildContext||(s=[],(l={})[e]=this,this.getChildContext=function(){return l},this.shouldComponentUpdate=function(u){this.props.value!==u.value&&s.some(function(p){p.__e=!0,Ks(p)})},this.sub=function(u){s.push(u);var p=u.componentWillUnmount;u.componentWillUnmount=function(){s.splice(s.indexOf(u),1),p&&p.call(u)}}),i.children}};return n.Provider.__=n.Consumer.contextType=n}fa=Yu.slice,K={__e:function(t,e,n,i){for(var s,l,u;e=e.__;)if((s=e.__c)&&!s.__)try{if((l=s.constructor)&&l.getDerivedStateFromError!=null&&(s.setState(l.getDerivedStateFromError(t)),u=s.__d),s.componentDidCatch!=null&&(s.componentDidCatch(t,i||{}),u=s.__d),u)return s.__E=s}catch(p){t=p}throw t}},zu=0,Wu=function(t){return t!=null&&t.constructor===void 0},pr=!1,ft.prototype.setState=function(t,e){var n;n=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=vn({},this.state),typeof t=="function"&&(t=t(vn({},n),this.props)),t&&vn(n,t),t!=null&&this.__v&&(e&&this._sb.push(e),Ks(this))},ft.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),Ks(this))},ft.prototype.render=Ie,jn=[],Gu=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Ki.__r=0,Zu=0;var $t,Is,Ac,id=[],Ns=[],Cc=K.__b,Ec=K.__r,Sc=K.diffed,xc=K.__c,Dc=K.unmount;function Fh(){for(var t;t=id.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(Gi),t.__H.__h.forEach(Xs),t.__H.__h=[]}catch(e){t.__H.__h=[],K.__e(e,t.__v)}}K.__b=function(t){$t=null,Cc&&Cc(t)},K.__r=function(t){Ec&&Ec(t);var e=($t=t.__c).__H;e&&(Is===$t?(e.__h=[],$t.__h=[],e.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=Ns,n.__N=n.i=void 0})):(e.__h.forEach(Gi),e.__h.forEach(Xs),e.__h=[])),Is=$t},K.diffed=function(t){Sc&&Sc(t);var e=t.__c;e&&e.__H&&(e.__H.__h.length&&(id.push(e)!==1&&Ac===K.requestAnimationFrame||((Ac=K.requestAnimationFrame)||Uh)(Fh)),e.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==Ns&&(n.__=n.__V),n.i=void 0,n.__V=Ns})),Is=$t=null},K.__c=function(t,e){e.some(function(n){try{n.__h.forEach(Gi),n.__h=n.__h.filter(function(i){return!i.__||Xs(i)})}catch(i){e.some(function(s){s.__h&&(s.__h=[])}),e=[],K.__e(i,n.__v)}}),xc&&xc(t,e)},K.unmount=function(t){Dc&&Dc(t);var e,n=t.__c;n&&n.__H&&(n.__H.__.forEach(function(i){try{Gi(i)}catch(s){e=s}}),n.__H=void 0,e&&K.__e(e,n.__v))};var Tc=typeof requestAnimationFrame=="function";function Uh(t){var e,n=function(){clearTimeout(i),Tc&&cancelAnimationFrame(e),setTimeout(t)},i=setTimeout(n,100);Tc&&(e=requestAnimationFrame(n))}function Gi(t){var e=$t,n=t.__c;typeof n=="function"&&(t.__c=void 0,n()),$t=e}function Xs(t){var e=$t;t.__c=t.__(),$t=e}function zh(t,e){for(var n in e)t[n]=e[n];return t}function kc(t,e){for(var n in t)if(n!=="__source"&&!(n in e))return!0;for(var i in e)if(i!=="__source"&&t[i]!==e[i])return!0;return!1}function Rc(t){this.props=t}(Rc.prototype=new ft).isPureReactComponent=!0,Rc.prototype.shouldComponentUpdate=function(t,e){return kc(this.props,t)||kc(this.state,e)};var Oc=K.__b;K.__b=function(t){t.type&&t.type.__f&&t.ref&&(t.props.ref=t.ref,t.ref=null),Oc&&Oc(t)};var Wh=K.__e;K.__e=function(t,e,n,i){if(t.then){for(var s,l=e;l=l.__;)if((s=l.__c)&&s.__c)return e.__e==null&&(e.__e=n.__e,e.__k=n.__k),s.__c(t,e)}Wh(t,e,n,i)};var Mc=K.unmount;function ad(t,e,n){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(i){typeof i.__c=="function"&&i.__c()}),t.__c.__H=null),(t=zh({},t)).__c!=null&&(t.__c.__P===n&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(i){return ad(i,e,n)})),t}function sd(t,e,n){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(i){return sd(i,e,n)}),t.__c&&t.__c.__P===e&&(t.__e&&n.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=n)),t}function $s(){this.__u=0,this.t=null,this.__b=null}function od(t){var e=t.__.__c;return e&&e.__a&&e.__a(t)}function Oi(){this.u=null,this.o=null}K.unmount=function(t){var e=t.__c;e&&e.__R&&e.__R(),e&&t.__h===!0&&(t.type=null),Mc&&Mc(t)},($s.prototype=new ft).__c=function(t,e){var n=e.__c,i=this;i.t==null&&(i.t=[]),i.t.push(n);var s=od(i.__v),l=!1,u=function(){l||(l=!0,n.__R=null,s?s(p):p())};n.__R=u;var p=function(){if(!--i.__u){if(i.state.__a){var y=i.state.__a;i.__v.__k[0]=sd(y,y.__c.__P,y.__c.__O)}var g;for(i.setState({__a:i.__b=null});g=i.t.pop();)g.forceUpdate()}},h=e.__h===!0;i.__u++||h||i.setState({__a:i.__b=i.__v.__k[0]}),t.then(u,u)},$s.prototype.componentWillUnmount=function(){this.t=[]},$s.prototype.render=function(t,e){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),i=this.__v.__k[0].__c;this.__v.__k[0]=ad(this.__b,n,i.__O=i.__P)}this.__b=null}var s=e.__a&&M(Ie,null,t.fallback);return s&&(s.__h=null),[M(Ie,null,e.__a?null:t.children),s]};var Ic=function(t,e,n){if(++n[1]===n[0]&&t.o.delete(e),t.props.revealOrder&&(t.props.revealOrder[0]!=="t"||!t.o.size))for(n=t.u;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;t.u=n=n[2]}};function Gh(t){return this.getChildContext=function(){return t.context},t.children}function Zh(t){var e=this,n=t.i;e.componentWillUnmount=function(){Wr(null,e.l),e.l=null,e.i=null},e.i&&e.i!==n&&e.componentWillUnmount(),t.__v?(e.l||(e.i=n,e.l={nodeType:1,parentNode:n,childNodes:[],appendChild:function(i){this.childNodes.push(i),e.i.appendChild(i)},insertBefore:function(i,s){this.childNodes.push(i),e.i.appendChild(i)},removeChild:function(i){this.childNodes.splice(this.childNodes.indexOf(i)>>>1,1),e.i.removeChild(i)}}),Wr(M(Gh,{context:e.context},t.__v),e.l)):e.l&&e.componentWillUnmount()}function Yh(t,e){var n=M(Zh,{__v:t,i:e});return n.containerInfo=e,n}(Oi.prototype=new ft).__a=function(t){var e=this,n=od(e.__v),i=e.o.get(t);return i[0]++,function(s){var l=function(){e.props.revealOrder?(i.push(s),Ic(e,t,i)):s()};n?n(l):l()}},Oi.prototype.render=function(t){this.u=null,this.o=new Map;var e=Xi(t.children);t.revealOrder&&t.revealOrder[0]==="b"&&e.reverse();for(var n=e.length;n--;)this.o.set(e[n],this.u=[1,0,this.u]);return t.children},Oi.prototype.componentDidUpdate=Oi.prototype.componentDidMount=function(){var t=this;this.o.forEach(function(e,n){Ic(t,n,e)})};var Qh=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,qh=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Jh=typeof document!="undefined",Kh=function(t){return(typeof Symbol!="undefined"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(t)};ft.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(ft.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})});var Nc=K.event;function Xh(){}function ev(){return this.cancelBubble}function tv(){return this.defaultPrevented}K.event=function(t){return Nc&&(t=Nc(t)),t.persist=Xh,t.isPropagationStopped=ev,t.isDefaultPrevented=tv,t.nativeEvent=t};var $c={configurable:!0,get:function(){return this.class}},Pc=K.vnode;K.vnode=function(t){var e=t.type,n=t.props,i=n;if(typeof e=="string"){var s=e.indexOf("-")===-1;for(var l in i={},n){var u=n[l];Jh&&l==="children"&&e==="noscript"||l==="value"&&"defaultValue"in n&&u==null||(l==="defaultValue"&&"value"in n&&n.value==null?l="value":l==="download"&&u===!0?u="":/ondoubleclick/i.test(l)?l="ondblclick":/^onchange(textarea|input)/i.test(l+e)&&!Kh(n.type)?l="oninput":/^onfocus$/i.test(l)?l="onfocusin":/^onblur$/i.test(l)?l="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(l)?l=l.toLowerCase():s&&qh.test(l)?l=l.replace(/[A-Z0-9]/g,"-$&").toLowerCase():u===null&&(u=void 0),/^oninput$/i.test(l)&&(l=l.toLowerCase(),i[l]&&(l="oninputCapture")),i[l]=u)}e=="select"&&i.multiple&&Array.isArray(i.value)&&(i.value=Xi(n.children).forEach(function(p){p.props.selected=i.value.indexOf(p.props.value)!=-1})),e=="select"&&i.defaultValue!=null&&(i.value=Xi(n.children).forEach(function(p){p.props.selected=i.multiple?i.defaultValue.indexOf(p.props.value)!=-1:i.defaultValue==p.props.value})),t.props=i,n.class!=n.className&&($c.enumerable="className"in n,n.className!=null&&(i.class=n.className),Object.defineProperty(i,"className",$c))}t.$$typeof=Qh,Pc&&Pc(t)};var Hc=K.__r;K.__r=function(t){Hc&&Hc(t),t.__c};const ld=[],eo=new Map;function cd(t){ld.push(t),eo.forEach(e=>{dd(e,t)})}function nv(t){t.isConnected&&t.getRootNode&&ud(t.getRootNode())}function ud(t){let e=eo.get(t);if(!e||!e.isConnected){if(e=t.querySelector("style[data-fullcalendar]"),!e){e=document.createElement("style"),e.setAttribute("data-fullcalendar","");const n=iv();n&&(e.nonce=n);const i=t===document?document.head:t,s=t===document?i.querySelector("script,link[rel=stylesheet],link[as=style],style"):i.firstChild;i.insertBefore(e,s)}eo.set(t,e),rv(e)}}function rv(t){for(const e of ld)dd(t,e)}function dd(t,e){const{sheet:n}=t,i=n.cssRules.length;e.split("}").forEach((s,l)=>{s=s.trim(),s&&n.insertRule(s+"}",i+l)})}let Ps;function iv(){return Ps===void 0&&(Ps=av()),Ps}function av(){const t=document.querySelector('meta[name="csp-nonce"]');if(t&&t.hasAttribute("content"))return t.getAttribute("content");const e=document.querySelector("script[nonce]");return e&&e.nonce||""}typeof document!="undefined"&&ud(document);var sv=':root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:"\\e900"}.fc-icon-chevron-right:before{content:"\\e901"}.fc-icon-chevrons-left:before{content:"\\e902"}.fc-icon-chevrons-right:before{content:"\\e903"}.fc-icon-minus-square:before{content:"\\e904"}.fc-icon-plus-square:before{content:"\\e905"}.fc-icon-x:before{content:"\\e906"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:"";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:"";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}';cd(sv);class vo{constructor(e){this.drainedOption=e,this.isRunning=!1,this.isDirty=!1,this.pauseDepths={},this.timeoutId=0}request(e){this.isDirty=!0,this.isPaused()||(this.clearTimeout(),e==null?this.tryDrain():this.timeoutId=setTimeout(this.tryDrain.bind(this),e))}pause(e=""){let{pauseDepths:n}=this;n[e]=(n[e]||0)+1,this.clearTimeout()}resume(e="",n){let{pauseDepths:i}=this;e in i&&(n?delete i[e]:(i[e]-=1,i[e]<=0&&delete i[e]),this.tryDrain())}isPaused(){return Object.keys(this.pauseDepths).length}tryDrain(){if(!this.isRunning&&!this.isPaused()){for(this.isRunning=!0;this.isDirty;)this.isDirty=!1,this.drained();this.isRunning=!1}}clear(){this.clearTimeout(),this.isDirty=!1,this.pauseDepths={}}clearTimeout(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=0)}drained(){this.drainedOption&&this.drainedOption()}}function ov(t){t.parentNode&&t.parentNode.removeChild(t)}function tn(t,e){if(t.closest)return t.closest(e);if(!document.documentElement.contains(t))return null;do{if(lv(t,e))return t;t=t.parentElement||t.parentNode}while(t!==null&&t.nodeType===1);return null}function lv(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector).call(t,e)}function cv(t,e){let n=t instanceof HTMLElement?[t]:t,i=[];for(let s=0;s<n.length;s+=1){let l=n[s].querySelectorAll(e);for(let u=0;u<l.length;u+=1)i.push(l[u])}return i}const uv=/(top|left|right|bottom|width|height)$/i;function dv(t,e){for(let n in e)fd(t,n,e[n])}function fd(t,e,n){n==null?t.style[e]="":typeof n=="number"&&uv.test(e)?t.style[e]=`${n}px`:t.style[e]=n}function fv(t){var e,n;return(n=(e=t.composedPath)===null||e===void 0?void 0:e.call(t)[0])!==null&&n!==void 0?n:t.target}let jc=0;function pa(){return jc+=1,"fc-dom-"+jc}function pv(t,e){return n=>{let i=tn(n.target,t);i&&e.call(i,n,i)}}function pd(t,e,n,i){let s=pv(n,i);return t.addEventListener(e,s),()=>{t.removeEventListener(e,s)}}function hv(t,e,n,i){let s;return pd(t,"mouseover",e,(l,u)=>{if(u!==s){s=u,n(l,u);let p=h=>{s=null,i(h,u),u.removeEventListener("mouseleave",p)};u.addEventListener("mouseleave",p)}})}function hd(t){return Object.assign({onClick:t},vd(t))}function vd(t){return{tabIndex:0,onKeyDown(e){(e.key==="Enter"||e.key===" ")&&(t(e),e.preventDefault())}}}let Bc=0;function Gn(){return Bc+=1,String(Bc)}function vv(t){let e=[],n=[],i,s;for(typeof t=="string"?n=t.split(/\s*,\s*/):typeof t=="function"?n=[t]:Array.isArray(t)&&(n=t),i=0;i<n.length;i+=1)s=n[i],typeof s=="string"?e.push(s.charAt(0)==="-"?{field:s.substring(1),order:-1}:{field:s,order:1}):typeof s=="function"&&e.push({func:s});return e}function gv(t,e,n){let i,s;for(i=0;i<n.length;i+=1)if(s=mv(t,e,n[i]),s)return s;return 0}function mv(t,e,n){return n.func?n.func(t,e):yv(t[n.field],e[n.field])*(n.order||1)}function yv(t,e){return!t&&!e?0:e==null?-1:t==null?1:typeof t=="string"||typeof e=="string"?String(t).localeCompare(String(e)):t-e}function Hs(t,e){let n=String(t);return"000".substr(0,e-n.length)+n}function Pr(t,e,n){return typeof t=="function"?t(...e):typeof t=="string"?e.reduce((i,s,l)=>i.replace("$"+l,s||""),t):n}function js(t){return t%1===0}function bv(t){let e=t.querySelector(".fc-scrollgrid-shrink-frame"),n=t.querySelector(".fc-scrollgrid-shrink-cushion");if(!e)throw new Error("needs fc-scrollgrid-shrink-frame className");if(!n)throw new Error("needs fc-scrollgrid-shrink-cushion className");return t.getBoundingClientRect().width-e.getBoundingClientRect().width+n.getBoundingClientRect().width}const _v=/^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/;function ye(t,e){return typeof t=="string"?wv(t):typeof t=="object"&&t?Vc(t):typeof t=="number"?Vc({[e||"milliseconds"]:t}):null}function wv(t){let e=_v.exec(t);if(e){let n=e[1]?-1:1;return{years:0,months:0,days:n*(e[2]?parseInt(e[2],10):0),milliseconds:n*((e[3]?parseInt(e[3],10):0)*60*60*1e3+(e[4]?parseInt(e[4],10):0)*60*1e3+(e[5]?parseInt(e[5],10):0)*1e3+(e[6]?parseInt(e[6],10):0))}}return null}function Vc(t){let e={years:t.years||t.year||0,months:t.months||t.month||0,days:t.days||t.day||0,milliseconds:(t.hours||t.hour||0)*60*60*1e3+(t.minutes||t.minute||0)*60*1e3+(t.seconds||t.second||0)*1e3+(t.milliseconds||t.millisecond||t.ms||0)},n=t.weeks||t.week;return n&&(e.days+=n*7,e.specifiedWeeks=!0),e}function Lv(t,e){return t.years===e.years&&t.months===e.months&&t.days===e.days&&t.milliseconds===e.milliseconds}function Av(t,e){return{years:t.years-e.years,months:t.months-e.months,days:t.days-e.days,milliseconds:t.milliseconds-e.milliseconds}}function Cv(t){return dr(t)/365}function Ev(t){return dr(t)/30}function dr(t){return Gr(t)/864e5}function Gr(t){return t.years*(365*864e5)+t.months*(30*864e5)+t.days*864e5+t.milliseconds}function to(t){let e=t.milliseconds;if(e){if(e%1e3!==0)return{unit:"millisecond",value:e};if(e%(1e3*60)!==0)return{unit:"second",value:e/1e3};if(e%(1e3*60*60)!==0)return{unit:"minute",value:e/(1e3*60)};if(e)return{unit:"hour",value:e/(1e3*60*60)}}return t.days?t.specifiedWeeks&&t.days%7===0?{unit:"week",value:t.days/7}:{unit:"day",value:t.days}:t.months?{unit:"month",value:t.months}:t.years?{unit:"year",value:t.years}:{unit:"millisecond",value:0}}function bn(t,e,n){if(t===e)return!0;let i=t.length,s;if(i!==e.length)return!1;for(s=0;s<i;s+=1)if(!(n?n(t[s],e[s]):t[s]===e[s]))return!1;return!0}const Sv=["sun","mon","tue","wed","thu","fri","sat"];function Fc(t,e){let n=gn(t);return n[2]+=e*7,rt(n)}function Ye(t,e){let n=gn(t);return n[2]+=e,rt(n)}function _n(t,e){let n=gn(t);return n[6]+=e,rt(n)}function xv(t,e){return _r(t,e)/7}function _r(t,e){return(e.valueOf()-t.valueOf())/(1e3*60*60*24)}function Dv(t,e){return(e.valueOf()-t.valueOf())/(1e3*60*60)}function Tv(t,e){return(e.valueOf()-t.valueOf())/(1e3*60)}function kv(t,e){return(e.valueOf()-t.valueOf())/1e3}function Rv(t,e){let n=De(t),i=De(e);return{years:0,months:0,days:Math.round(_r(n,i)),milliseconds:e.valueOf()-i.valueOf()-(t.valueOf()-n.valueOf())}}function Ov(t,e){let n=ea(t,e);return n!==null&&n%7===0?n/7:null}function ea(t,e){return mn(t)===mn(e)?Math.round(_r(t,e)):null}function De(t){return rt([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()])}function Mv(t){return rt([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours()])}function Iv(t){return rt([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes()])}function Nv(t){return rt([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()])}function $v(t,e,n){let i=t.getUTCFullYear(),s=Bs(t,i,e,n);if(s<1)return Bs(t,i-1,e,n);let l=Bs(t,i+1,e,n);return l>=1?Math.min(s,l):s}function Bs(t,e,n,i){let s=rt([e,0,1+Pv(e,n,i)]),l=De(t),u=Math.round(_r(s,l));return Math.floor(u/7)+1}function Pv(t,e,n){let i=7+e-n;return-((7+rt([t,0,i]).getUTCDay()-e)%7)+i-1}function Uc(t){return[t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()]}function zc(t){return new Date(t[0],t[1]||0,t[2]==null?1:t[2],t[3]||0,t[4]||0,t[5]||0)}function gn(t){return[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds()]}function rt(t){return t.length===1&&(t=t.concat([0])),new Date(Date.UTC(...t))}function gd(t){return!isNaN(t.valueOf())}function mn(t){return t.getUTCHours()*1e3*60*60+t.getUTCMinutes()*1e3*60+t.getUTCSeconds()*1e3+t.getUTCMilliseconds()}function Hv(t,e,n=!1){let i=t.toISOString();return i=i.replace(".000",""),n&&(i=i.replace("T00:00:00Z","")),i.length>10&&(e==null?i=i.replace("Z",""):e!==0&&(i=i.replace("Z",mo(e,!0)))),i}function go(t){return t.toISOString().replace(/T.*$/,"")}function jv(t){return t.toISOString().match(/^\d{4}-\d{2}/)[0]}function mo(t,e=!1){let n=t<0?"-":"+",i=Math.abs(t),s=Math.floor(i/60),l=Math.round(i%60);return e?`${n+Hs(s,2)}:${Hs(l,2)}`:`GMT${n}${s}${l?`:${Hs(l,2)}`:""}`}function ve(t,e,n){let i,s;return function(...l){if(!i)s=t.apply(this,l);else if(!bn(i,l)){n&&n(s);let u=t.apply(this,l);(!e||!e(u,s))&&(s=u)}return i=l,s}}function Zi(t,e,n){let i,s;return l=>{if(!i)s=t.call(this,l);else if(!jt(i,l)){n&&n(s);let u=t.call(this,l);(!e||!e(u,s))&&(s=u)}return i=l,s}}const Wc={week:3,separator:0,omitZeroMinute:0,meridiem:0,omitCommas:0},ta={timeZoneName:7,era:6,year:5,month:4,day:2,weekday:2,hour:1,minute:1,second:1},Mi=/\s*([ap])\.?m\.?/i,Bv=/,/g,Vv=/\s+/g,Fv=/\u200e/g,Uv=/UTC|GMT/;class zv{constructor(e){let n={},i={},s=0;for(let l in e)l in Wc?(i[l]=e[l],s=Math.max(Wc[l],s)):(n[l]=e[l],l in ta&&(s=Math.max(ta[l],s)));this.standardDateProps=n,this.extendedSettings=i,this.severity=s,this.buildFormattingFunc=ve(Gc)}format(e,n){return this.buildFormattingFunc(this.standardDateProps,this.extendedSettings,n)(e)}formatRange(e,n,i,s){let{standardDateProps:l,extendedSettings:u}=this,p=qv(e.marker,n.marker,i.calendarSystem);if(!p)return this.format(e,i);let h=p;h>1&&(l.year==="numeric"||l.year==="2-digit")&&(l.month==="numeric"||l.month==="2-digit")&&(l.day==="numeric"||l.day==="2-digit")&&(h=1);let y=this.format(e,i),g=this.format(n,i);if(y===g)return y;let S=Jv(l,h),A=Gc(S,u,i),w=A(e),O=A(n),B=Kv(y,w,g,O),$=u.separator||s||i.defaultSeparator||"";return B?B.before+w+$+O+B.after:y+$+g}getLargestUnit(){switch(this.severity){case 7:case 6:case 5:return"year";case 4:return"month";case 3:return"week";case 2:return"day";default:return"time"}}}function Gc(t,e,n){let i=Object.keys(t).length;return i===1&&t.timeZoneName==="short"?s=>mo(s.timeZoneOffset):i===0&&e.week?s=>Qv(n.computeWeekNumber(s.marker),n.weekText,n.weekTextLong,n.locale,e.week):Wv(t,e,n)}function Wv(t,e,n){t=Object.assign({},t),e=Object.assign({},e),Gv(t,e),t.timeZone="UTC";let i=new Intl.DateTimeFormat(n.locale.codes,t),s;if(e.omitZeroMinute){let l=Object.assign({},t);delete l.minute,s=new Intl.DateTimeFormat(n.locale.codes,l)}return l=>{let{marker:u}=l,p;s&&!u.getUTCMinutes()?p=s:p=i;let h=p.format(u);return Zv(h,l,t,e,n)}}function Gv(t,e){t.timeZoneName&&(t.hour||(t.hour="2-digit"),t.minute||(t.minute="2-digit")),t.timeZoneName==="long"&&(t.timeZoneName="short"),e.omitZeroMinute&&(t.second||t.millisecond)&&delete e.omitZeroMinute}function Zv(t,e,n,i,s){return t=t.replace(Fv,""),n.timeZoneName==="short"&&(t=Yv(t,s.timeZone==="UTC"||e.timeZoneOffset==null?"UTC":mo(e.timeZoneOffset))),i.omitCommas&&(t=t.replace(Bv,"").trim()),i.omitZeroMinute&&(t=t.replace(":00","")),i.meridiem===!1?t=t.replace(Mi,"").trim():i.meridiem==="narrow"?t=t.replace(Mi,(l,u)=>u.toLocaleLowerCase()):i.meridiem==="short"?t=t.replace(Mi,(l,u)=>`${u.toLocaleLowerCase()}m`):i.meridiem==="lowercase"&&(t=t.replace(Mi,l=>l.toLocaleLowerCase())),t=t.replace(Vv," "),t=t.trim(),t}function Yv(t,e){let n=!1;return t=t.replace(Uv,()=>(n=!0,e)),n||(t+=` ${e}`),t}function Qv(t,e,n,i,s){let l=[];return s==="long"?l.push(n):(s==="short"||s==="narrow")&&l.push(e),(s==="long"||s==="short")&&l.push(" "),l.push(i.simpleNumberFormat.format(t)),i.options.direction==="rtl"&&l.reverse(),l.join("")}function qv(t,e,n){return n.getMarkerYear(t)!==n.getMarkerYear(e)?5:n.getMarkerMonth(t)!==n.getMarkerMonth(e)?4:n.getMarkerDay(t)!==n.getMarkerDay(e)?2:mn(t)!==mn(e)?1:0}function Jv(t,e){let n={};for(let i in t)(!(i in ta)||ta[i]<=e)&&(n[i]=t[i]);return n}function Kv(t,e,n,i){let s=0;for(;s<t.length;){let l=t.indexOf(e,s);if(l===-1)break;let u=t.substr(0,l);s=l+e.length;let p=t.substr(s),h=0;for(;h<n.length;){let y=n.indexOf(i,h);if(y===-1)break;let g=n.substr(0,y);h=y+i.length;let S=n.substr(h);if(u===g&&p===S)return{before:u,after:p}}}return null}function Zc(t,e){let n=e.markerToArray(t.marker);return{marker:t.marker,timeZoneOffset:t.timeZoneOffset,array:n,year:n[0],month:n[1],day:n[2],hour:n[3],minute:n[4],second:n[5],millisecond:n[6]}}function na(t,e,n,i){let s=Zc(t,n.calendarSystem),l=e?Zc(e,n.calendarSystem):null;return{date:s,start:s,end:l,timeZone:n.timeZone,localeCodes:n.locale.codes,defaultSeparator:i||n.defaultSeparator}}class Xv{constructor(e){this.cmdStr=e}format(e,n,i){return n.cmdFormatter(this.cmdStr,na(e,null,n,i))}formatRange(e,n,i,s){return i.cmdFormatter(this.cmdStr,na(e,n,i,s))}}class eg{constructor(e){this.func=e}format(e,n,i){return this.func(na(e,null,n,i))}formatRange(e,n,i,s){return this.func(na(e,n,i,s))}}function Be(t){return typeof t=="object"&&t?new zv(t):typeof t=="string"?new Xv(t):typeof t=="function"?new eg(t):null}const Yc={navLinkDayClick:I,navLinkWeekClick:I,duration:ye,bootstrapFontAwesome:I,buttonIcons:I,customButtons:I,defaultAllDayEventDuration:ye,defaultTimedEventDuration:ye,nextDayThreshold:ye,scrollTime:ye,scrollTimeReset:Boolean,slotMinTime:ye,slotMaxTime:ye,dayPopoverFormat:Be,slotDuration:ye,snapDuration:ye,headerToolbar:I,footerToolbar:I,defaultRangeSeparator:String,titleRangeSeparator:String,forceEventDuration:Boolean,dayHeaders:Boolean,dayHeaderFormat:Be,dayHeaderClassNames:I,dayHeaderContent:I,dayHeaderDidMount:I,dayHeaderWillUnmount:I,dayCellClassNames:I,dayCellContent:I,dayCellDidMount:I,dayCellWillUnmount:I,initialView:String,aspectRatio:Number,weekends:Boolean,weekNumberCalculation:I,weekNumbers:Boolean,weekNumberClassNames:I,weekNumberContent:I,weekNumberDidMount:I,weekNumberWillUnmount:I,editable:Boolean,viewClassNames:I,viewDidMount:I,viewWillUnmount:I,nowIndicator:Boolean,nowIndicatorClassNames:I,nowIndicatorContent:I,nowIndicatorDidMount:I,nowIndicatorWillUnmount:I,showNonCurrentDates:Boolean,lazyFetching:Boolean,startParam:String,endParam:String,timeZoneParam:String,timeZone:String,locales:I,locale:I,themeSystem:String,dragRevertDuration:Number,dragScroll:Boolean,allDayMaintainDuration:Boolean,unselectAuto:Boolean,dropAccept:I,eventOrder:vv,eventOrderStrict:Boolean,handleWindowResize:Boolean,windowResizeDelay:Number,longPressDelay:Number,eventDragMinDistance:Number,expandRows:Boolean,height:I,contentHeight:I,direction:String,weekNumberFormat:Be,eventResizableFromStart:Boolean,displayEventTime:Boolean,displayEventEnd:Boolean,weekText:String,weekTextLong:String,progressiveEventRendering:Boolean,businessHours:I,initialDate:I,now:I,eventDataTransform:I,stickyHeaderDates:I,stickyFooterScrollbar:I,viewHeight:I,defaultAllDay:Boolean,eventSourceFailure:I,eventSourceSuccess:I,eventDisplay:String,eventStartEditable:Boolean,eventDurationEditable:Boolean,eventOverlap:I,eventConstraint:I,eventAllow:I,eventBackgroundColor:String,eventBorderColor:String,eventTextColor:String,eventColor:String,eventClassNames:I,eventContent:I,eventDidMount:I,eventWillUnmount:I,selectConstraint:I,selectOverlap:I,selectAllow:I,droppable:Boolean,unselectCancel:String,slotLabelFormat:I,slotLaneClassNames:I,slotLaneContent:I,slotLaneDidMount:I,slotLaneWillUnmount:I,slotLabelClassNames:I,slotLabelContent:I,slotLabelDidMount:I,slotLabelWillUnmount:I,dayMaxEvents:I,dayMaxEventRows:I,dayMinWidth:Number,slotLabelInterval:ye,allDayText:String,allDayClassNames:I,allDayContent:I,allDayDidMount:I,allDayWillUnmount:I,slotMinWidth:Number,navLinks:Boolean,eventTimeFormat:Be,rerenderDelay:Number,moreLinkText:I,moreLinkHint:I,selectMinDistance:Number,selectable:Boolean,selectLongPressDelay:Number,eventLongPressDelay:Number,selectMirror:Boolean,eventMaxStack:Number,eventMinHeight:Number,eventMinWidth:Number,eventShortHeight:Number,slotEventOverlap:Boolean,plugins:I,firstDay:Number,dayCount:Number,dateAlignment:String,dateIncrement:ye,hiddenDays:I,fixedWeekCount:Boolean,validRange:I,visibleRange:I,titleFormat:I,eventInteractive:Boolean,noEventsText:String,viewHint:I,navLinkHint:I,closeHint:String,timeHint:String,eventHint:String,moreLinkClick:I,moreLinkClassNames:I,moreLinkContent:I,moreLinkDidMount:I,moreLinkWillUnmount:I,monthStartFormat:Be,handleCustomRendering:I,customRenderingMetaMap:I,customRenderingReplaces:Boolean},Hr={eventDisplay:"auto",defaultRangeSeparator:" - ",titleRangeSeparator:" – ",defaultTimedEventDuration:"01:00:00",defaultAllDayEventDuration:{day:1},forceEventDuration:!1,nextDayThreshold:"00:00:00",dayHeaders:!0,initialView:"",aspectRatio:1.35,headerToolbar:{start:"title",center:"",end:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberCalculation:"local",editable:!1,nowIndicator:!1,scrollTime:"06:00:00",scrollTimeReset:!0,slotMinTime:"00:00:00",slotMaxTime:"24:00:00",showNonCurrentDates:!0,lazyFetching:!0,startParam:"start",endParam:"end",timeZoneParam:"timeZone",timeZone:"local",locales:[],locale:"",themeSystem:"standard",dragRevertDuration:500,dragScroll:!0,allDayMaintainDuration:!1,unselectAuto:!0,dropAccept:"*",eventOrder:"start,-duration,allDay,title",dayPopoverFormat:{month:"long",day:"numeric",year:"numeric"},handleWindowResize:!0,windowResizeDelay:100,longPressDelay:1e3,eventDragMinDistance:5,expandRows:!1,navLinks:!1,selectable:!1,eventMinHeight:15,eventMinWidth:30,eventShortHeight:30,monthStartFormat:{month:"long",day:"numeric"}},Qc={datesSet:I,eventsSet:I,eventAdd:I,eventChange:I,eventRemove:I,windowResize:I,eventClick:I,eventMouseEnter:I,eventMouseLeave:I,select:I,unselect:I,loading:I,_unmount:I,_beforeprint:I,_afterprint:I,_noEventDrop:I,_noEventResize:I,_resize:I,_scrollRequest:I},qc={buttonText:I,buttonHints:I,views:I,plugins:I,initialEvents:I,events:I,eventSources:I},$n={headerToolbar:Pn,footerToolbar:Pn,buttonText:Pn,buttonHints:Pn,buttonIcons:Pn,dateIncrement:Pn,plugins:Ii,events:Ii,eventSources:Ii,resources:Ii};function Pn(t,e){return typeof t=="object"&&typeof e=="object"&&t&&e?jt(t,e):t===e}function Ii(t,e){return Array.isArray(t)&&Array.isArray(e)?bn(t,e):t===e}const tg={type:String,component:I,buttonText:String,buttonTextKey:String,dateProfileGeneratorClass:I,usesMinMaxTime:Boolean,classNames:I,content:I,didMount:I,willUnmount:I};function Vs(t){return bo(t,$n)}function yo(t,e){let n={},i={};for(let s in e)s in t&&(n[s]=e[s](t[s]));for(let s in t)s in e||(i[s]=t[s]);return{refined:n,extra:i}}function I(t){return t}const{hasOwnProperty:ra}=Object.prototype;function bo(t,e){let n={};if(e){for(let i in e)if(e[i]===Pn){let s=[];for(let l=t.length-1;l>=0;l-=1){let u=t[l][i];if(typeof u=="object"&&u)s.unshift(u);else if(u!==void 0){n[i]=u;break}}s.length&&(n[i]=bo(s))}}for(let i=t.length-1;i>=0;i-=1){let s=t[i];for(let l in s)l in n||(n[l]=s[l])}return n}function hr(t,e){let n={};for(let i in t)e(t[i],i)&&(n[i]=t[i]);return n}function qr(t,e){let n={};for(let i in t)n[i]=e(t[i],i);return n}function md(t){let e={};for(let n of t)e[n]=!0;return e}function _o(t){let e=[];for(let n in t)e.push(t[n]);return e}function jt(t,e){if(t===e)return!0;for(let n in t)if(ra.call(t,n)&&!(n in e))return!1;for(let n in e)if(ra.call(e,n)&&t[n]!==e[n])return!1;return!0}const ng=/^on[A-Z]/;function rg(t,e){const n=no(t,e);for(let i of n)if(!ng.test(i))return!1;return!0}function no(t,e){let n=[];for(let i in t)ra.call(t,i)&&(i in e||n.push(i));for(let i in e)ra.call(e,i)&&t[i]!==e[i]&&n.push(i);return n}function Fs(t,e,n={}){if(t===e)return!0;for(let i in e)if(!(i in t&&ig(t[i],e[i],n[i])))return!1;for(let i in t)if(!(i in e))return!1;return!0}function ig(t,e,n){return t===e||n===!0?!0:n?n(t,e):!1}function ag(t,e=0,n,i=1){let s=[];n==null&&(n=Object.keys(t).length);for(let l=e;l<n;l+=i){let u=t[l];u!==void 0&&s.push(u)}return s}let yd={};function sg(t,e){yd[t]=e}function og(t){return new yd[t]}class lg{getMarkerYear(e){return e.getUTCFullYear()}getMarkerMonth(e){return e.getUTCMonth()}getMarkerDay(e){return e.getUTCDate()}arrayToMarker(e){return rt(e)}markerToArray(e){return gn(e)}}sg("gregory",lg);const cg=/^\s*(\d{4})(-?(\d{2})(-?(\d{2})([T ](\d{2}):?(\d{2})(:?(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/;function ug(t){let e=cg.exec(t);if(e){let n=new Date(Date.UTC(Number(e[1]),e[3]?Number(e[3])-1:0,Number(e[5]||1),Number(e[7]||0),Number(e[8]||0),Number(e[10]||0),e[12]?+`0.${e[12]}`*1e3:0));if(gd(n)){let i=null;return e[13]&&(i=(e[15]==="-"?-1:1)*(Number(e[16]||0)*60+Number(e[18]||0))),{marker:n,isTimeUnspecified:!e[6],timeZoneOffset:i}}}return null}class dg{constructor(e){let n=this.timeZone=e.timeZone,i=n!=="local"&&n!=="UTC";e.namedTimeZoneImpl&&i&&(this.namedTimeZoneImpl=new e.namedTimeZoneImpl(n)),this.canComputeOffset=!!(!i||this.namedTimeZoneImpl),this.calendarSystem=og(e.calendarSystem),this.locale=e.locale,this.weekDow=e.locale.week.dow,this.weekDoy=e.locale.week.doy,e.weekNumberCalculation==="ISO"&&(this.weekDow=1,this.weekDoy=4),typeof e.firstDay=="number"&&(this.weekDow=e.firstDay),typeof e.weekNumberCalculation=="function"&&(this.weekNumberFunc=e.weekNumberCalculation),this.weekText=e.weekText!=null?e.weekText:e.locale.options.weekText,this.weekTextLong=(e.weekTextLong!=null?e.weekTextLong:e.locale.options.weekTextLong)||this.weekText,this.cmdFormatter=e.cmdFormatter,this.defaultSeparator=e.defaultSeparator}createMarker(e){let n=this.createMarkerMeta(e);return n===null?null:n.marker}createNowMarker(){return this.canComputeOffset?this.timestampToMarker(new Date().valueOf()):rt(Uc(new Date))}createMarkerMeta(e){if(typeof e=="string")return this.parse(e);let n=null;return typeof e=="number"?n=this.timestampToMarker(e):e instanceof Date?(e=e.valueOf(),isNaN(e)||(n=this.timestampToMarker(e))):Array.isArray(e)&&(n=rt(e)),n===null||!gd(n)?null:{marker:n,isTimeUnspecified:!1,forcedTzo:null}}parse(e){let n=ug(e);if(n===null)return null;let{marker:i}=n,s=null;return n.timeZoneOffset!==null&&(this.canComputeOffset?i=this.timestampToMarker(i.valueOf()-n.timeZoneOffset*60*1e3):s=n.timeZoneOffset),{marker:i,isTimeUnspecified:n.isTimeUnspecified,forcedTzo:s}}getYear(e){return this.calendarSystem.getMarkerYear(e)}getMonth(e){return this.calendarSystem.getMarkerMonth(e)}getDay(e){return this.calendarSystem.getMarkerDay(e)}add(e,n){let i=this.calendarSystem.markerToArray(e);return i[0]+=n.years,i[1]+=n.months,i[2]+=n.days,i[6]+=n.milliseconds,this.calendarSystem.arrayToMarker(i)}subtract(e,n){let i=this.calendarSystem.markerToArray(e);return i[0]-=n.years,i[1]-=n.months,i[2]-=n.days,i[6]-=n.milliseconds,this.calendarSystem.arrayToMarker(i)}addYears(e,n){let i=this.calendarSystem.markerToArray(e);return i[0]+=n,this.calendarSystem.arrayToMarker(i)}addMonths(e,n){let i=this.calendarSystem.markerToArray(e);return i[1]+=n,this.calendarSystem.arrayToMarker(i)}diffWholeYears(e,n){let{calendarSystem:i}=this;return mn(e)===mn(n)&&i.getMarkerDay(e)===i.getMarkerDay(n)&&i.getMarkerMonth(e)===i.getMarkerMonth(n)?i.getMarkerYear(n)-i.getMarkerYear(e):null}diffWholeMonths(e,n){let{calendarSystem:i}=this;return mn(e)===mn(n)&&i.getMarkerDay(e)===i.getMarkerDay(n)?i.getMarkerMonth(n)-i.getMarkerMonth(e)+(i.getMarkerYear(n)-i.getMarkerYear(e))*12:null}greatestWholeUnit(e,n){let i=this.diffWholeYears(e,n);return i!==null?{unit:"year",value:i}:(i=this.diffWholeMonths(e,n),i!==null?{unit:"month",value:i}:(i=Ov(e,n),i!==null?{unit:"week",value:i}:(i=ea(e,n),i!==null?{unit:"day",value:i}:(i=Dv(e,n),js(i)?{unit:"hour",value:i}:(i=Tv(e,n),js(i)?{unit:"minute",value:i}:(i=kv(e,n),js(i)?{unit:"second",value:i}:{unit:"millisecond",value:n.valueOf()-e.valueOf()}))))))}countDurationsBetween(e,n,i){let s;return i.years&&(s=this.diffWholeYears(e,n),s!==null)?s/Cv(i):i.months&&(s=this.diffWholeMonths(e,n),s!==null)?s/Ev(i):i.days&&(s=ea(e,n),s!==null)?s/dr(i):(n.valueOf()-e.valueOf())/Gr(i)}startOf(e,n){return n==="year"?this.startOfYear(e):n==="month"?this.startOfMonth(e):n==="week"?this.startOfWeek(e):n==="day"?De(e):n==="hour"?Mv(e):n==="minute"?Iv(e):n==="second"?Nv(e):null}startOfYear(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e)])}startOfMonth(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e)])}startOfWeek(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e),e.getUTCDate()-(e.getUTCDay()-this.weekDow+7)%7])}computeWeekNumber(e){return this.weekNumberFunc?this.weekNumberFunc(this.toDate(e)):$v(e,this.weekDow,this.weekDoy)}format(e,n,i={}){return n.format({marker:e,timeZoneOffset:i.forcedTzo!=null?i.forcedTzo:this.offsetForMarker(e)},this)}formatRange(e,n,i,s={}){return s.isEndExclusive&&(n=_n(n,-1)),i.formatRange({marker:e,timeZoneOffset:s.forcedStartTzo!=null?s.forcedStartTzo:this.offsetForMarker(e)},{marker:n,timeZoneOffset:s.forcedEndTzo!=null?s.forcedEndTzo:this.offsetForMarker(n)},this,s.defaultSeparator)}formatIso(e,n={}){let i=null;return n.omitTimeZoneOffset||(n.forcedTzo!=null?i=n.forcedTzo:i=this.offsetForMarker(e)),Hv(e,i,n.omitTime)}timestampToMarker(e){return this.timeZone==="local"?rt(Uc(new Date(e))):this.timeZone==="UTC"||!this.namedTimeZoneImpl?new Date(e):rt(this.namedTimeZoneImpl.timestampToArray(e))}offsetForMarker(e){return this.timeZone==="local"?-zc(gn(e)).getTimezoneOffset():this.timeZone==="UTC"?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(gn(e)):null}toDate(e,n){return this.timeZone==="local"?zc(gn(e)):this.timeZone==="UTC"?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-this.namedTimeZoneImpl.offsetForArray(gn(e))*1e3*60):new Date(e.valueOf()-(n||0))}}class Jr{constructor(e){this.iconOverrideOption&&this.setIconOverride(e[this.iconOverrideOption])}setIconOverride(e){let n,i;if(typeof e=="object"&&e){n=Object.assign({},this.iconClasses);for(i in e)n[i]=this.applyIconOverridePrefix(e[i]);this.iconClasses=n}else e===!1&&(this.iconClasses={})}applyIconOverridePrefix(e){let n=this.iconOverridePrefix;return n&&e.indexOf(n)!==0&&(e=n+e),e}getClass(e){return this.classes[e]||""}getIconClass(e,n){let i;return n&&this.rtlIconClasses?i=this.rtlIconClasses[e]||this.iconClasses[e]:i=this.iconClasses[e],i?`${this.baseIconClass} ${i}`:""}getCustomButtonIconClass(e){let n;return this.iconOverrideCustomButtonOption&&(n=e[this.iconOverrideCustomButtonOption],n)?`${this.baseIconClass} ${this.applyIconOverridePrefix(n)}`:""}}Jr.prototype.classes={};Jr.prototype.iconClasses={};Jr.prototype.baseIconClass="";Jr.prototype.iconOverridePrefix="";function ia(t){t();let e=K.debounceRendering,n=[];function i(s){n.push(s)}for(K.debounceRendering=i,Wr(M(fg,{}),document.createElement("div"));n.length;)n.shift()();K.debounceRendering=e}class fg extends ft{render(){return M("div",{})}componentDidMount(){this.setState({})}}function bd(t){let e=Vh(t),n=e.Provider;return e.Provider=function(){let i=!this.getChildContext,s=n.apply(this,arguments);if(i){let l=[];this.shouldComponentUpdate=u=>{this.props.value!==u.value&&l.forEach(p=>{p.context=u.value,p.forceUpdate()})},this.sub=u=>{l.push(u);let p=u.componentWillUnmount;u.componentWillUnmount=()=>{l.splice(l.indexOf(u),1),p&&p.call(u)}}}return s},e}class pg{constructor(e,n,i,s){this.execFunc=e,this.emitter=n,this.scrollTime=i,this.scrollTimeReset=s,this.handleScrollRequest=l=>{this.queuedRequest=Object.assign({},this.queuedRequest||{},l),this.drain()},n.on("_scrollRequest",this.handleScrollRequest),this.fireInitialScroll()}detach(){this.emitter.off("_scrollRequest",this.handleScrollRequest)}update(e){e&&this.scrollTimeReset?this.fireInitialScroll():this.drain()}fireInitialScroll(){this.handleScrollRequest({time:this.scrollTime})}drain(){this.queuedRequest&&this.execFunc(this.queuedRequest)&&(this.queuedRequest=null)}}const Zn=bd({});function hg(t,e,n,i,s,l,u,p,h,y,g,S,A){return{dateEnv:s,options:n,pluginHooks:u,emitter:y,dispatch:p,getCurrentData:h,calendarApi:g,viewSpec:t,viewApi:e,dateProfileGenerator:i,theme:l,isRtl:n.direction==="rtl",addResizeHandler(w){y.on("_resize",w)},removeResizeHandler(w){y.off("_resize",w)},createScrollResponder(w){return new pg(w,y,ye(n.scrollTime),n.scrollTimeReset)},registerInteractiveComponent:S,unregisterInteractiveComponent:A}}class Yn extends ft{shouldComponentUpdate(e,n){return this.debug&&console.log(no(e,this.props),no(n,this.state)),!Fs(this.props,e,this.propEquality)||!Fs(this.state,n,this.stateEquality)}safeSetState(e){Fs(this.state,Object.assign(Object.assign({},this.state),e),this.stateEquality)||this.setState(e)}}Yn.addPropsEquality=vg;Yn.addStateEquality=gg;Yn.contextType=Zn;Yn.prototype.propEquality={};Yn.prototype.stateEquality={};class Te extends Yn{}Te.contextType=Zn;function vg(t){let e=Object.create(this.prototype.propEquality);Object.assign(e,t),this.prototype.propEquality=e}function gg(t){let e=Object.create(this.prototype.stateEquality);Object.assign(e,t),this.prototype.stateEquality=e}function rn(t,e){typeof t=="function"?t(e):t&&(t.current=e)}class wo extends Te{constructor(){super(...arguments),this.id=Gn(),this.queuedDomNodes=[],this.currentDomNodes=[],this.handleEl=e=>{const{options:n}=this.context,{generatorName:i}=this.props;(!n.customRenderingReplaces||!ro(i,n))&&this.updateElRef(e)},this.updateElRef=e=>{this.props.elRef&&rn(this.props.elRef,e)}}render(){const{props:e,context:n}=this,{options:i}=n,{customGenerator:s,defaultGenerator:l,renderProps:u}=e,p=_d(e,[],this.handleEl);let h=!1,y,g=[],S;if(s!=null){const A=typeof s=="function"?s(u,M):s;if(A===!0)h=!0;else{const w=A&&typeof A=="object";w&&"html"in A?p.dangerouslySetInnerHTML={__html:A.html}:w&&"domNodes"in A?g=Array.prototype.slice.call(A.domNodes):(w?Wu(A):typeof A!="function")?y=A:S=A}}else h=!ro(e.generatorName,i);return h&&l&&(y=l(u)),this.queuedDomNodes=g,this.currentGeneratorMeta=S,M(e.elTag,p,y)}componentDidMount(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentDidUpdate(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentWillUnmount(){this.triggerCustomRendering(!1)}triggerCustomRendering(e){var n;const{props:i,context:s}=this,{handleCustomRendering:l,customRenderingMetaMap:u}=s.options;if(l){const p=(n=this.currentGeneratorMeta)!==null&&n!==void 0?n:u==null?void 0:u[i.generatorName];p&&l(Object.assign(Object.assign({id:this.id,isActive:e,containerEl:this.base,reportNewContainerEl:this.updateElRef,generatorMeta:p},i),{elClasses:(i.elClasses||[]).filter(mg)}))}}applyQueueudDomNodes(){const{queuedDomNodes:e,currentDomNodes:n}=this,i=this.base;if(!bn(e,n)){n.forEach(ov);for(let s of e)i.appendChild(s);this.currentDomNodes=e}}}wo.addPropsEquality({elClasses:bn,elStyle:jt,elAttrs:rg,renderProps:jt});function ro(t,e){var n;return!!(e.handleCustomRendering&&t&&(!((n=e.customRenderingMetaMap)===null||n===void 0)&&n[t]))}function _d(t,e,n){const i=Object.assign(Object.assign({},t.elAttrs),{ref:n});return(t.elClasses||e)&&(i.className=(t.elClasses||[]).concat(e||[]).concat(i.className||[]).filter(Boolean).join(" ")),t.elStyle&&(i.style=t.elStyle),i}function mg(t){return!!t}const wd=bd(0);class sn extends ft{constructor(){super(...arguments),this.InnerContent=yg.bind(void 0,this),this.handleEl=e=>{this.el=e,this.props.elRef&&(rn(this.props.elRef,e),e&&this.didMountMisfire&&this.componentDidMount())}}render(){const{props:e}=this,n=bg(e.classNameGenerator,e.renderProps);if(e.children){const i=_d(e,n,this.handleEl),s=e.children(this.InnerContent,e.renderProps,i);return e.elTag?M(e.elTag,i,s):s}else return M(wo,Object.assign(Object.assign({},e),{elRef:this.handleEl,elTag:e.elTag||"div",elClasses:(e.elClasses||[]).concat(n),renderId:this.context}))}componentDidMount(){var e,n;this.el?(n=(e=this.props).didMount)===null||n===void 0||n.call(e,Object.assign(Object.assign({},this.props.renderProps),{el:this.el})):this.didMountMisfire=!0}componentWillUnmount(){var e,n;(n=(e=this.props).willUnmount)===null||n===void 0||n.call(e,Object.assign(Object.assign({},this.props.renderProps),{el:this.el}))}}sn.contextType=wd;function yg(t,e){const n=t.props;return M(wo,Object.assign({renderProps:n.renderProps,generatorName:n.generatorName,customGenerator:n.customGenerator,defaultGenerator:n.defaultGenerator,renderId:t.context},e))}function bg(t,e){const n=typeof t=="function"?t(e):t||[];return typeof n=="string"?[n]:n}class Jc extends Te{render(){let{props:e,context:n}=this,{options:i}=n,s={view:n.viewApi};return M(sn,Object.assign({},e,{elTag:e.elTag||"div",elClasses:[...Ld(e.viewSpec),...e.elClasses||[]],renderProps:s,classNameGenerator:i.viewClassNames,generatorName:void 0,didMount:i.viewDidMount,willUnmount:i.viewWillUnmount}),()=>e.children)}}function Ld(t){return[`fc-${t.type}-view`,"fc-view"]}function _g(t,e){let n=null,i=null;return t.start&&(n=e.createMarker(t.start)),t.end&&(i=e.createMarker(t.end)),!n&&!i||n&&i&&i<n?null:{start:n,end:i}}function Kc(t,e){let n=[],{start:i}=e,s,l;for(t.sort(wg),s=0;s<t.length;s+=1)l=t[s],l.start>i&&n.push({start:i,end:l.start}),l.end>i&&(i=l.end);return i<e.end&&n.push({start:i,end:e.end}),n}function wg(t,e){return t.start.valueOf()-e.start.valueOf()}function vr(t,e){let{start:n,end:i}=t,s=null;return e.start!==null&&(n===null?n=e.start:n=new Date(Math.max(n.valueOf(),e.start.valueOf()))),e.end!=null&&(i===null?i=e.end:i=new Date(Math.min(i.valueOf(),e.end.valueOf()))),(n===null||i===null||n<i)&&(s={start:n,end:i}),s}function Lg(t,e){return(t.end===null||e.start===null||t.end>e.start)&&(t.start===null||e.end===null||t.start<e.end)}function yn(t,e){return(t.start===null||e>=t.start)&&(t.end===null||e<t.end)}function Ag(t,e){return e.start!=null&&t<e.start?e.start:e.end!=null&&t>=e.end?new Date(e.end.valueOf()-1):t}function Ad(t){let e=Math.floor(_r(t.start,t.end))||1,n=De(t.start),i=Ye(n,e);return{start:n,end:i}}function Cd(t,e=ye(0)){let n=null,i=null;if(t.end){i=De(t.end);let s=t.end.valueOf()-i.valueOf();s&&s>=Gr(e)&&(i=Ye(i,1))}return t.start&&(n=De(t.start),i&&i<=n&&(i=Ye(n,1))),{start:n,end:i}}function Ni(t,e,n,i){return i==="year"?ye(n.diffWholeYears(t,e),"year"):i==="month"?ye(n.diffWholeMonths(t,e),"month"):Rv(t,e)}function Cg(t,e){switch(e.type){case"CHANGE_DATE":return e.dateMarker;default:return t}}function Eg(t,e){let n=t.initialDate;return n!=null?e.createMarker(n):Kr(t.now,e)}function Kr(t,e){return typeof t=="function"&&(t=t()),t==null?e.createNowMarker():e.createMarker(t)}class Ed{constructor(e){this.props=e,this.nowDate=Kr(e.nowInput,e.dateEnv),this.initHiddenDays()}buildPrev(e,n,i){let{dateEnv:s}=this.props,l=s.subtract(s.startOf(n,e.currentRangeUnit),e.dateIncrement);return this.build(l,-1,i)}buildNext(e,n,i){let{dateEnv:s}=this.props,l=s.add(s.startOf(n,e.currentRangeUnit),e.dateIncrement);return this.build(l,1,i)}build(e,n,i=!0){let{props:s}=this,l,u,p,h,y,g;return l=this.buildValidRange(),l=this.trimHiddenDays(l),i&&(e=Ag(e,l)),u=this.buildCurrentRangeInfo(e,n),p=/^(year|month|week|day)$/.test(u.unit),h=this.buildRenderRange(this.trimHiddenDays(u.range),u.unit,p),h=this.trimHiddenDays(h),y=h,s.showNonCurrentDates||(y=vr(y,u.range)),y=this.adjustActiveRange(y),y=vr(y,l),g=Lg(u.range,l),yn(h,e)||(e=h.start),{currentDate:e,validRange:l,currentRange:u.range,currentRangeUnit:u.unit,isRangeAllDay:p,activeRange:y,renderRange:h,slotMinTime:s.slotMinTime,slotMaxTime:s.slotMaxTime,isValid:g,dateIncrement:this.buildDateIncrement(u.duration)}}buildValidRange(){let e=this.props.validRangeInput,n=typeof e=="function"?e.call(this.props.calendarApi,this.nowDate):e;return this.refineRange(n)||{start:null,end:null}}buildCurrentRangeInfo(e,n){let{props:i}=this,s=null,l=null,u=null,p;return i.duration?(s=i.duration,l=i.durationUnit,u=this.buildRangeFromDuration(e,n,s,l)):(p=this.props.dayCount)?(l="day",u=this.buildRangeFromDayCount(e,n,p)):(u=this.buildCustomVisibleRange(e))?l=i.dateEnv.greatestWholeUnit(u.start,u.end).unit:(s=this.getFallbackDuration(),l=to(s).unit,u=this.buildRangeFromDuration(e,n,s,l)),{duration:s,unit:l,range:u}}getFallbackDuration(){return ye({day:1})}adjustActiveRange(e){let{dateEnv:n,usesMinMaxTime:i,slotMinTime:s,slotMaxTime:l}=this.props,{start:u,end:p}=e;return i&&(dr(s)<0&&(u=De(u),u=n.add(u,s)),dr(l)>1&&(p=De(p),p=Ye(p,-1),p=n.add(p,l))),{start:u,end:p}}buildRangeFromDuration(e,n,i,s){let{dateEnv:l,dateAlignment:u}=this.props,p,h,y;if(!u){let{dateIncrement:S}=this.props;S&&Gr(S)<Gr(i)?u=to(S).unit:u=s}dr(i)<=1&&this.isHiddenDay(p)&&(p=this.skipHiddenDays(p,n),p=De(p));function g(){p=l.startOf(e,u),h=l.add(p,i),y={start:p,end:h}}return g(),this.trimHiddenDays(y)||(e=this.skipHiddenDays(e,n),g()),y}buildRangeFromDayCount(e,n,i){let{dateEnv:s,dateAlignment:l}=this.props,u=0,p=e,h;l&&(p=s.startOf(p,l)),p=De(p),p=this.skipHiddenDays(p,n),h=p;do h=Ye(h,1),this.isHiddenDay(h)||(u+=1);while(u<i);return{start:p,end:h}}buildCustomVisibleRange(e){let{props:n}=this,i=n.visibleRangeInput,s=typeof i=="function"?i.call(n.calendarApi,n.dateEnv.toDate(e)):i,l=this.refineRange(s);return l&&(l.start==null||l.end==null)?null:l}buildRenderRange(e,n,i){return e}buildDateIncrement(e){let{dateIncrement:n}=this.props,i;return n||((i=this.props.dateAlignment)?ye(1,i):e||ye({days:1}))}refineRange(e){if(e){let n=_g(e,this.props.dateEnv);return n&&(n=Cd(n)),n}return null}initHiddenDays(){let e=this.props.hiddenDays||[],n=[],i=0,s;for(this.props.weekends===!1&&e.push(0,6),s=0;s<7;s+=1)(n[s]=e.indexOf(s)!==-1)||(i+=1);if(!i)throw new Error("invalid hiddenDays");this.isHiddenDayHash=n}trimHiddenDays(e){let{start:n,end:i}=e;return n&&(n=this.skipHiddenDays(n)),i&&(i=this.skipHiddenDays(i,-1,!0)),n==null||i==null||n<i?{start:n,end:i}:null}isHiddenDay(e){return e instanceof Date&&(e=e.getUTCDay()),this.isHiddenDayHash[e]}skipHiddenDays(e,n=1,i=!1){for(;this.isHiddenDayHash[(e.getUTCDay()+(i?n:0)+7)%7];)e=Ye(e,n);return e}}function Lo(t,e,n,i){return{instanceId:Gn(),defId:t,range:e,forcedStartTzo:n==null?null:n,forcedEndTzo:i==null?null:i}}function Sg(t,e,n,i){for(let s=0;s<i.length;s+=1){let l=i[s].parse(t,n);if(l){let{allDay:u}=t;return u==null&&(u=e,u==null&&(u=l.allDayGuess,u==null&&(u=!1))),{allDay:u,duration:l.duration,typeData:l.typeData,typeId:s}}}return null}function Xr(t,e,n){let{dateEnv:i,pluginHooks:s,options:l}=n,{defs:u,instances:p}=t;p=hr(p,h=>!u[h.defId].recurringDef);for(let h in u){let y=u[h];if(y.recurringDef){let{duration:g}=y.recurringDef;g||(g=y.allDay?l.defaultAllDayEventDuration:l.defaultTimedEventDuration);let S=xg(y,g,e,i,s.recurringTypes);for(let A of S){let w=Lo(h,{start:A,end:i.add(A,g)});p[w.instanceId]=w}}}return{defs:u,instances:p}}function xg(t,e,n,i,s){let u=s[t.recurringDef.typeId].expand(t.recurringDef.typeData,{start:i.subtract(n.start,e),end:n.end},i);return t.allDay&&(u=u.map(De)),u}const Yi={id:String,groupId:String,title:String,url:String,interactive:Boolean},Sd={start:I,end:I,date:I,allDay:Boolean},Dg=Object.assign(Object.assign(Object.assign({},Yi),Sd),{extendedProps:I});function xd(t,e,n,i,s=Ao(n),l,u){let{refined:p,extra:h}=Dd(t,n,s),y=kg(e,n),g=Sg(p,y,n.dateEnv,n.pluginHooks.recurringTypes);if(g){let A=io(p,h,e?e.sourceId:"",g.allDay,!!g.duration,n,l);return A.recurringDef={typeId:g.typeId,typeData:g.typeData,duration:g.duration},{def:A,instance:null}}let S=Tg(p,y,n,i);if(S){let A=io(p,h,e?e.sourceId:"",S.allDay,S.hasEnd,n,l),w=Lo(A.defId,S.range,S.forcedStartTzo,S.forcedEndTzo);return u&&A.publicId&&u[A.publicId]&&(w.instanceId=u[A.publicId]),{def:A,instance:w}}return null}function Dd(t,e,n=Ao(e)){return yo(t,n)}function Ao(t){return Object.assign(Object.assign(Object.assign({},aa),Dg),t.pluginHooks.eventRefiners)}function io(t,e,n,i,s,l,u){let p={title:t.title||"",groupId:t.groupId||"",publicId:t.id||"",url:t.url||"",recurringDef:null,defId:(u&&t.id?u[t.id]:"")||Gn(),sourceId:n,allDay:i,hasEnd:s,interactive:t.interactive,ui:sa(t,l),extendedProps:Object.assign(Object.assign({},t.extendedProps||{}),e)};for(let h of l.pluginHooks.eventDefMemberAdders)Object.assign(p,h(t));return Object.freeze(p.ui.classNames),Object.freeze(p.extendedProps),p}function Tg(t,e,n,i){let{allDay:s}=t,l,u=null,p=!1,h,y=null,g=t.start!=null?t.start:t.date;if(l=n.dateEnv.createMarkerMeta(g),l)u=l.marker;else if(!i)return null;return t.end!=null&&(h=n.dateEnv.createMarkerMeta(t.end)),s==null&&(e!=null?s=e:s=(!l||l.isTimeUnspecified)&&(!h||h.isTimeUnspecified)),s&&u&&(u=De(u)),h&&(y=h.marker,s&&(y=De(y)),u&&y<=u&&(y=null)),y?p=!0:i||(p=n.options.forceEventDuration||!1,y=n.dateEnv.add(u,s?n.options.defaultAllDayEventDuration:n.options.defaultTimedEventDuration)),{allDay:s,hasEnd:p,range:{start:u,end:y},forcedStartTzo:l?l.forcedTzo:null,forcedEndTzo:h?h.forcedTzo:null}}function kg(t,e){let n=null;return t&&(n=t.defaultAllDay),n==null&&(n=e.options.defaultAllDay),n}function Zr(t,e,n,i,s,l){let u=zn(),p=Ao(n);for(let h of t){let y=xd(h,e,n,i,p,s,l);y&&ao(y,u)}return u}function ao(t,e=zn()){return e.defs[t.def.defId]=t.def,t.instance&&(e.instances[t.instance.instanceId]=t.instance),e}function Rg(t,e){let n=t.instances[e];if(n){let i=t.defs[n.defId],s=Eo(t,l=>Og(i,l));return s.defs[i.defId]=i,s.instances[n.instanceId]=n,s}return zn()}function Og(t,e){return!!(t.groupId&&t.groupId===e.groupId)}function zn(){return{defs:{},instances:{}}}function Co(t,e){return{defs:Object.assign(Object.assign({},t.defs),e.defs),instances:Object.assign(Object.assign({},t.instances),e.instances)}}function Eo(t,e){let n=hr(t.defs,e),i=hr(t.instances,s=>n[s.defId]);return{defs:n,instances:i}}function Mg(t,e){let{defs:n,instances:i}=t,s={},l={};for(let u in n)e.defs[u]||(s[u]=n[u]);for(let u in i)!e.instances[u]&&s[i[u].defId]&&(l[u]=i[u]);return{defs:s,instances:l}}function Ig(t,e){return Array.isArray(t)?Zr(t,null,e,!0):typeof t=="object"&&t?Zr([t],null,e,!0):t!=null?String(t):null}function Xc(t){return Array.isArray(t)?t:typeof t=="string"?t.split(/\s+/):[]}const aa={display:String,editable:Boolean,startEditable:Boolean,durationEditable:Boolean,constraint:I,overlap:I,allow:I,className:Xc,classNames:Xc,color:String,backgroundColor:String,borderColor:String,textColor:String},Ng={display:null,startEditable:null,durationEditable:null,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]};function sa(t,e){let n=Ig(t.constraint,e);return{display:t.display||null,startEditable:t.startEditable!=null?t.startEditable:t.editable,durationEditable:t.durationEditable!=null?t.durationEditable:t.editable,constraints:n!=null?[n]:[],overlap:t.overlap!=null?t.overlap:null,allows:t.allow!=null?[t.allow]:[],backgroundColor:t.backgroundColor||t.color||"",borderColor:t.borderColor||t.color||"",textColor:t.textColor||"",classNames:(t.className||[]).concat(t.classNames||[])}}function $g(t){return t.reduce(Pg,Ng)}function Pg(t,e){return{display:e.display!=null?e.display:t.display,startEditable:e.startEditable!=null?e.startEditable:t.startEditable,durationEditable:e.durationEditable!=null?e.durationEditable:t.durationEditable,constraints:t.constraints.concat(e.constraints),overlap:typeof e.overlap=="boolean"?e.overlap:t.overlap,allows:t.allows.concat(e.allows),backgroundColor:e.backgroundColor||t.backgroundColor,borderColor:e.borderColor||t.borderColor,textColor:e.textColor||t.textColor,classNames:t.classNames.concat(e.classNames)}}const Hg={id:String,defaultAllDay:Boolean,url:String,format:String,events:I,eventDataTransform:I,success:I,failure:I};function Td(t,e,n=kd(e)){let i;if(typeof t=="string"?i={url:t}:typeof t=="function"||Array.isArray(t)?i={events:t}:typeof t=="object"&&t&&(i=t),i){let{refined:s,extra:l}=yo(i,n),u=jg(s,e);if(u)return{_raw:t,isFetching:!1,latestFetchId:"",fetchRange:null,defaultAllDay:s.defaultAllDay,eventDataTransform:s.eventDataTransform,success:s.success,failure:s.failure,publicId:s.id||"",sourceId:Gn(),sourceDefId:u.sourceDefId,meta:u.meta,ui:sa(s,e),extendedProps:l}}return null}function kd(t){return Object.assign(Object.assign(Object.assign({},aa),Hg),t.pluginHooks.eventSourceRefiners)}function jg(t,e){let n=e.pluginHooks.eventSourceDefs;for(let i=n.length-1;i>=0;i-=1){let l=n[i].parseMeta(t);if(l)return{sourceDefId:i,meta:l}}return null}function Bg(t,e,n,i,s){switch(e.type){case"RECEIVE_EVENTS":return Vg(t,n[e.sourceId],e.fetchId,e.fetchRange,e.rawEvents,s);case"RESET_RAW_EVENTS":return Fg(t,n[e.sourceId],e.rawEvents,i.activeRange,s);case"ADD_EVENTS":return Ug(t,e.eventStore,i?i.activeRange:null,s);case"RESET_EVENTS":return e.eventStore;case"MERGE_EVENTS":return Co(t,e.eventStore);case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return i?Xr(t,i.activeRange,s):t;case"REMOVE_EVENTS":return Mg(t,e.eventStore);case"REMOVE_EVENT_SOURCE":return Od(t,e.sourceId);case"REMOVE_ALL_EVENT_SOURCES":return Eo(t,l=>!l.sourceId);case"REMOVE_ALL_EVENTS":return zn();default:return t}}function Vg(t,e,n,i,s,l){if(e&&n===e.latestFetchId){let u=Zr(Rd(s,e,l),e,l);return i&&(u=Xr(u,i,l)),Co(Od(t,e.sourceId),u)}return t}function Fg(t,e,n,i,s){const{defIdMap:l,instanceIdMap:u}=zg(t);let p=Zr(Rd(n,e,s),e,s,!1,l,u);return Xr(p,i,s)}function Rd(t,e,n){let i=n.options.eventDataTransform,s=e?e.eventDataTransform:null;return s&&(t=eu(t,s)),i&&(t=eu(t,i)),t}function eu(t,e){let n;if(!e)n=t;else{n=[];for(let i of t){let s=e(i);s?n.push(s):s==null&&n.push(i)}}return n}function Ug(t,e,n,i){return n&&(e=Xr(e,n,i)),Co(t,e)}function tu(t,e,n){let{defs:i}=t,s=qr(t.instances,l=>i[l.defId].allDay?l:Object.assign(Object.assign({},l),{range:{start:n.createMarker(e.toDate(l.range.start,l.forcedStartTzo)),end:n.createMarker(e.toDate(l.range.end,l.forcedEndTzo))},forcedStartTzo:n.canComputeOffset?null:l.forcedStartTzo,forcedEndTzo:n.canComputeOffset?null:l.forcedEndTzo}));return{defs:i,instances:s}}function Od(t,e){return Eo(t,n=>n.sourceId!==e)}function zg(t){const{defs:e,instances:n}=t,i={},s={};for(let l in e){const u=e[l],{publicId:p}=u;p&&(i[p]=l)}for(let l in n){const u=n[l],p=e[u.defId],{publicId:h}=p;h&&(s[h]=l)}return{defIdMap:i,instanceIdMap:s}}class Wg{constructor(){this.handlers={},this.thisContext=null}setThisContext(e){this.thisContext=e}setOptions(e){this.options=e}on(e,n){Gg(this.handlers,e,n)}off(e,n){Zg(this.handlers,e,n)}trigger(e,...n){let i=this.handlers[e]||[],s=this.options&&this.options[e],l=[].concat(s||[],i);for(let u of l)u.apply(this.thisContext,n)}hasHandlers(e){return!!(this.handlers[e]&&this.handlers[e].length||this.options&&this.options[e])}}function Gg(t,e,n){(t[e]||(t[e]=[])).push(n)}function Zg(t,e,n){n?t[e]&&(t[e]=t[e].filter(i=>i!==n)):delete t[e]}const Yg={startTime:"09:00",endTime:"17:00",daysOfWeek:[1,2,3,4,5],display:"inverse-background",classNames:"fc-non-business",groupId:"_businessHours"};function Qg(t,e){return Zr(qg(t),null,e)}function qg(t){let e;return t===!0?e=[{}]:Array.isArray(t)?e=t.filter(n=>n.daysOfWeek):typeof t=="object"&&t?e=[t]:e=[],e=e.map(n=>Object.assign(Object.assign({},Yg),n)),e}function Jg(t,e,n){n.emitter.trigger("select",Object.assign(Object.assign({},Xg(t,n)),{jsEvent:e?e.origEvent:null,view:n.viewApi||n.calendarApi.view}))}function Kg(t,e){e.emitter.trigger("unselect",{jsEvent:t?t.origEvent:null,view:e.viewApi||e.calendarApi.view})}function Xg(t,e){let n={};for(let i of e.pluginHooks.dateSpanTransforms)Object.assign(n,i(t,e));return Object.assign(n,pm(t,e.dateEnv)),n}function nu(t,e,n){let{dateEnv:i,options:s}=n,l=e;return t?(l=De(l),l=i.add(l,s.defaultAllDayEventDuration)):l=i.add(l,s.defaultTimedEventDuration),l}function em(t,e,n,i){let s=Id(t.defs,e),l=zn();for(let u in t.defs){let p=t.defs[u];l.defs[u]=tm(p,s[u],n,i)}for(let u in t.instances){let p=t.instances[u],h=l.defs[p.defId];l.instances[u]=nm(p,h,s[p.defId],n,i)}return l}function tm(t,e,n,i){let s=n.standardProps||{};s.hasEnd==null&&e.durationEditable&&(n.startDelta||n.endDelta)&&(s.hasEnd=!0);let l=Object.assign(Object.assign(Object.assign({},t),s),{ui:Object.assign(Object.assign({},t.ui),s.ui)});n.extendedProps&&(l.extendedProps=Object.assign(Object.assign({},l.extendedProps),n.extendedProps));for(let u of i.pluginHooks.eventDefMutationAppliers)u(l,n,i);return!l.hasEnd&&i.options.forceEventDuration&&(l.hasEnd=!0),l}function nm(t,e,n,i,s){let{dateEnv:l}=s,u=i.standardProps&&i.standardProps.allDay===!0,p=i.standardProps&&i.standardProps.hasEnd===!1,h=Object.assign({},t);return u&&(h.range=Ad(h.range)),i.datesDelta&&n.startEditable&&(h.range={start:l.add(h.range.start,i.datesDelta),end:l.add(h.range.end,i.datesDelta)}),i.startDelta&&n.durationEditable&&(h.range={start:l.add(h.range.start,i.startDelta),end:h.range.end}),i.endDelta&&n.durationEditable&&(h.range={start:h.range.start,end:l.add(h.range.end,i.endDelta)}),p&&(h.range={start:h.range.start,end:nu(e.allDay,h.range.start,s)}),e.allDay&&(h.range={start:De(h.range.start),end:De(h.range.end)}),h.range.end<h.range.start&&(h.range.end=nu(e.allDay,h.range.start,s)),h}class cr{constructor(e,n){this.context=e,this.internalEventSource=n}remove(){this.context.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:this.internalEventSource.sourceId})}refetch(){this.context.dispatch({type:"FETCH_EVENT_SOURCES",sourceIds:[this.internalEventSource.sourceId],isRefetch:!0})}get id(){return this.internalEventSource.publicId}get url(){return this.internalEventSource.meta.url}get format(){return this.internalEventSource.meta.format}}class bt{constructor(e,n,i){this._context=e,this._def=n,this._instance=i||null}setProp(e,n){if(e in Sd)console.warn("Could not set date-related prop 'name'. Use one of the date-related methods instead.");else if(e==="id")n=Yi[e](n),this.mutate({standardProps:{publicId:n}});else if(e in Yi)n=Yi[e](n),this.mutate({standardProps:{[e]:n}});else if(e in aa){let i=aa[e](n);e==="color"?i={backgroundColor:n,borderColor:n}:e==="editable"?i={startEditable:n,durationEditable:n}:i={[e]:n},this.mutate({standardProps:{ui:i}})}else console.warn(`Could not set prop '${e}'. Use setExtendedProp instead.`)}setExtendedProp(e,n){this.mutate({extendedProps:{[e]:n}})}setStart(e,n={}){let{dateEnv:i}=this._context,s=i.createMarker(e);if(s&&this._instance){let l=this._instance.range,u=Ni(l.start,s,i,n.granularity);n.maintainDuration?this.mutate({datesDelta:u}):this.mutate({startDelta:u})}}setEnd(e,n={}){let{dateEnv:i}=this._context,s;if(!(e!=null&&(s=i.createMarker(e),!s))&&this._instance)if(s){let l=Ni(this._instance.range.end,s,i,n.granularity);this.mutate({endDelta:l})}else this.mutate({standardProps:{hasEnd:!1}})}setDates(e,n,i={}){let{dateEnv:s}=this._context,l={allDay:i.allDay},u=s.createMarker(e),p;if(u&&!(n!=null&&(p=s.createMarker(n),!p))&&this._instance){let h=this._instance.range;i.allDay===!0&&(h=Ad(h));let y=Ni(h.start,u,s,i.granularity);if(p){let g=Ni(h.end,p,s,i.granularity);Lv(y,g)?this.mutate({datesDelta:y,standardProps:l}):this.mutate({startDelta:y,endDelta:g,standardProps:l})}else l.hasEnd=!1,this.mutate({datesDelta:y,standardProps:l})}}moveStart(e){let n=ye(e);n&&this.mutate({startDelta:n})}moveEnd(e){let n=ye(e);n&&this.mutate({endDelta:n})}moveDates(e){let n=ye(e);n&&this.mutate({datesDelta:n})}setAllDay(e,n={}){let i={allDay:e},{maintainDuration:s}=n;s==null&&(s=this._context.options.allDayMaintainDuration),this._def.allDay!==e&&(i.hasEnd=s),this.mutate({standardProps:i})}formatRange(e){let{dateEnv:n}=this._context,i=this._instance,s=Be(e);return this._def.hasEnd?n.formatRange(i.range.start,i.range.end,s,{forcedStartTzo:i.forcedStartTzo,forcedEndTzo:i.forcedEndTzo}):n.format(i.range.start,s,{forcedTzo:i.forcedStartTzo})}mutate(e){let n=this._instance;if(n){let i=this._def,s=this._context,{eventStore:l}=s.getCurrentData(),u=Rg(l,n.instanceId);u=em(u,{"":{display:"",startEditable:!0,durationEditable:!0,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]}},e,s);let h=new bt(s,i,n);this._def=u.defs[i.defId],this._instance=u.instances[n.instanceId],s.dispatch({type:"MERGE_EVENTS",eventStore:u}),s.emitter.trigger("eventChange",{oldEvent:h,event:this,relatedEvents:So(u,s,n),revert(){s.dispatch({type:"RESET_EVENTS",eventStore:l})}})}}remove(){let e=this._context,n=Md(this);e.dispatch({type:"REMOVE_EVENTS",eventStore:n}),e.emitter.trigger("eventRemove",{event:this,relatedEvents:[],revert(){e.dispatch({type:"MERGE_EVENTS",eventStore:n})}})}get source(){let{sourceId:e}=this._def;return e?new cr(this._context,this._context.getCurrentData().eventSources[e]):null}get start(){return this._instance?this._context.dateEnv.toDate(this._instance.range.start):null}get end(){return this._instance&&this._def.hasEnd?this._context.dateEnv.toDate(this._instance.range.end):null}get startStr(){let e=this._instance;return e?this._context.dateEnv.formatIso(e.range.start,{omitTime:this._def.allDay,forcedTzo:e.forcedStartTzo}):""}get endStr(){let e=this._instance;return e&&this._def.hasEnd?this._context.dateEnv.formatIso(e.range.end,{omitTime:this._def.allDay,forcedTzo:e.forcedEndTzo}):""}get id(){return this._def.publicId}get groupId(){return this._def.groupId}get allDay(){return this._def.allDay}get title(){return this._def.title}get url(){return this._def.url}get display(){return this._def.ui.display||"auto"}get startEditable(){return this._def.ui.startEditable}get durationEditable(){return this._def.ui.durationEditable}get constraint(){return this._def.ui.constraints[0]||null}get overlap(){return this._def.ui.overlap}get allow(){return this._def.ui.allows[0]||null}get backgroundColor(){return this._def.ui.backgroundColor}get borderColor(){return this._def.ui.borderColor}get textColor(){return this._def.ui.textColor}get classNames(){return this._def.ui.classNames}get extendedProps(){return this._def.extendedProps}toPlainObject(e={}){let n=this._def,{ui:i}=n,{startStr:s,endStr:l}=this,u={allDay:n.allDay};return n.title&&(u.title=n.title),s&&(u.start=s),l&&(u.end=l),n.publicId&&(u.id=n.publicId),n.groupId&&(u.groupId=n.groupId),n.url&&(u.url=n.url),i.display&&i.display!=="auto"&&(u.display=i.display),e.collapseColor&&i.backgroundColor&&i.backgroundColor===i.borderColor?u.color=i.backgroundColor:(i.backgroundColor&&(u.backgroundColor=i.backgroundColor),i.borderColor&&(u.borderColor=i.borderColor)),i.textColor&&(u.textColor=i.textColor),i.classNames.length&&(u.classNames=i.classNames),Object.keys(n.extendedProps).length&&(e.collapseExtendedProps?Object.assign(u,n.extendedProps):u.extendedProps=n.extendedProps),u}toJSON(){return this.toPlainObject()}}function Md(t){let e=t._def,n=t._instance;return{defs:{[e.defId]:e},instances:n?{[n.instanceId]:n}:{}}}function So(t,e,n){let{defs:i,instances:s}=t,l=[],u=n?n.instanceId:"";for(let p in s){let h=s[p],y=i[h.defId];h.instanceId!==u&&l.push(new bt(e,y,h))}return l}function ru(t,e,n,i){let s={},l={},u={},p=[],h=[],y=Id(t.defs,e);for(let g in t.defs){let S=t.defs[g];y[S.defId].display==="inverse-background"&&(S.groupId?(s[S.groupId]=[],u[S.groupId]||(u[S.groupId]=S)):l[g]=[])}for(let g in t.instances){let S=t.instances[g],A=t.defs[S.defId],w=y[A.defId],O=S.range,B=!A.allDay&&i?Cd(O,i):O,$=vr(B,n);$&&(w.display==="inverse-background"?A.groupId?s[A.groupId].push($):l[S.defId].push($):w.display!=="none"&&(w.display==="background"?p:h).push({def:A,ui:w,instance:S,range:$,isStart:B.start&&B.start.valueOf()===$.start.valueOf(),isEnd:B.end&&B.end.valueOf()===$.end.valueOf()}))}for(let g in s){let S=s[g],A=Kc(S,n);for(let w of A){let O=u[g],B=y[O.defId];p.push({def:O,ui:B,instance:null,range:w,isStart:!1,isEnd:!1})}}for(let g in l){let S=l[g],A=Kc(S,n);for(let w of A)p.push({def:t.defs[g],ui:y[g],instance:null,range:w,isStart:!1,isEnd:!1})}return{bg:p,fg:h}}function iu(t,e){t.fcSeg=e}function so(t){return t.fcSeg||t.parentNode.fcSeg||null}function Id(t,e){return qr(t,n=>Nd(n,e))}function Nd(t,e){let n=[];return e[""]&&n.push(e[""]),e[t.defId]&&n.push(e[t.defId]),n.push(t.ui),$g(n)}function rm(t,e){let n=t.map(im);return n.sort((i,s)=>gv(i,s,e)),n.map(i=>i._seg)}function im(t){let{eventRange:e}=t,n=e.def,i=e.instance?e.instance.range:e.range,s=i.start?i.start.valueOf():0,l=i.end?i.end.valueOf():0;return Object.assign(Object.assign(Object.assign({},n.extendedProps),n),{id:n.publicId,start:s,end:l,duration:l-s,allDay:Number(n.allDay),_seg:t})}function am(t,e){let{pluginHooks:n}=e,i=n.isDraggableTransformers,{def:s,ui:l}=t.eventRange,u=l.startEditable;for(let p of i)u=p(u,s,l,e);return u}function sm(t,e){return t.isStart&&t.eventRange.ui.durationEditable&&e.options.eventResizableFromStart}function om(t,e){return t.isEnd&&t.eventRange.ui.durationEditable}function $d(t,e,n,i,s,l,u){let{dateEnv:p,options:h}=n,{displayEventTime:y,displayEventEnd:g}=h,S=t.eventRange.def,A=t.eventRange.instance;y==null&&(y=i!==!1),g==null&&(g=s!==!1);let w=A.range.start,O=A.range.end,B=l||t.start||t.eventRange.range.start,$=u||t.end||t.eventRange.range.end,H=De(w).valueOf()===De(B).valueOf(),V=De(_n(O,-1)).valueOf()===De(_n($,-1)).valueOf();return y&&!S.allDay&&(H||V)?(B=H?w:B,$=V?O:$,g&&S.hasEnd?p.formatRange(B,$,e,{forcedStartTzo:l?null:A.forcedStartTzo,forcedEndTzo:u?null:A.forcedEndTzo}):p.format(B,e,{forcedTzo:l?null:A.forcedStartTzo})):""}function jr(t,e,n){let i=t.eventRange.range;return{isPast:i.end<=(n||e.start),isFuture:i.start>=(n||e.end),isToday:e&&yn(e,i.start)}}function lm(t){let e=["fc-event"];return t.isMirror&&e.push("fc-event-mirror"),t.isDraggable&&e.push("fc-event-draggable"),(t.isStartResizable||t.isEndResizable)&&e.push("fc-event-resizable"),t.isDragging&&e.push("fc-event-dragging"),t.isResizing&&e.push("fc-event-resizing"),t.isSelected&&e.push("fc-event-selected"),t.isStart&&e.push("fc-event-start"),t.isEnd&&e.push("fc-event-end"),t.isPast&&e.push("fc-event-past"),t.isToday&&e.push("fc-event-today"),t.isFuture&&e.push("fc-event-future"),e}function cm(t){return t.instance?t.instance.instanceId:`${t.def.defId}:${t.range.start.toISOString()}`}function Pd(t,e){let{def:n,instance:i}=t.eventRange,{url:s}=n;if(s)return{href:s};let{emitter:l,options:u}=e,{eventInteractive:p}=u;return p==null&&(p=n.interactive,p==null&&(p=!!l.hasHandlers("eventClick"))),p?vd(h=>{l.trigger("eventClick",{el:h.target,event:new bt(e,n,i),jsEvent:h,view:e.viewApi})}):{}}const um={start:I,end:I,allDay:Boolean};function dm(t,e,n){let i=fm(t,e),{range:s}=i;if(!s.start)return null;if(!s.end){if(n==null)return null;s.end=e.add(s.start,n)}return i}function fm(t,e){let{refined:n,extra:i}=yo(t,um),s=n.start?e.createMarkerMeta(n.start):null,l=n.end?e.createMarkerMeta(n.end):null,{allDay:u}=n;return u==null&&(u=s&&s.isTimeUnspecified&&(!l||l.isTimeUnspecified)),Object.assign({range:{start:s?s.marker:null,end:l?l.marker:null},allDay:u},i)}function pm(t,e){return Object.assign(Object.assign({},jd(t.range,e,t.allDay)),{allDay:t.allDay})}function Hd(t,e,n){return Object.assign(Object.assign({},jd(t,e,n)),{timeZone:e.timeZone})}function jd(t,e,n){return{start:e.toDate(t.start),end:e.toDate(t.end),startStr:e.formatIso(t.start,{omitTime:n}),endStr:e.formatIso(t.end,{omitTime:n})}}function hm(t,e,n){let i=Dd({editable:!1},n),s=io(i.refined,i.extra,"",t.allDay,!0,n);return{def:s,ui:Nd(s,e),instance:Lo(s.defId,t.range),range:t.range,isStart:!0,isEnd:!0}}function vm(t,e,n){let i=!1,s=function(p){i||(i=!0,e(p))},l=function(p){i||(i=!0,n(p))},u=t(s,l);u&&typeof u.then=="function"&&u.then(s,l)}class au extends Error{constructor(e,n){super(e),this.response=n}}function gm(t,e,n){t=t.toUpperCase();const i={method:t};return t==="GET"?e+=(e.indexOf("?")===-1?"?":"&")+new URLSearchParams(n):(i.body=new URLSearchParams(n),i.headers={"Content-Type":"application/x-www-form-urlencoded"}),fetch(e,i).then(s=>{if(s.ok)return s.json().then(l=>[l,s],()=>{throw new au("Failure parsing JSON",s)});throw new au("Request failed",s)})}let Us;function Bd(){return Us==null&&(Us=mm()),Us}function mm(){if(typeof document=="undefined")return!0;let t=document.createElement("div");t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.innerHTML="<table><tr><td><div></div></td></tr></table>",t.querySelector("table").style.height="100px",t.querySelector("div").style.height="100%",document.body.appendChild(t);let n=t.querySelector("div").offsetHeight>0;return document.body.removeChild(t),n}class ym extends Te{constructor(){super(...arguments),this.state={forPrint:!1},this.handleBeforePrint=()=>{ia(()=>{this.setState({forPrint:!0})})},this.handleAfterPrint=()=>{ia(()=>{this.setState({forPrint:!1})})}}render(){let{props:e}=this,{options:n}=e,{forPrint:i}=this.state,s=i||n.height==="auto"||n.contentHeight==="auto",l=!s&&n.height!=null?n.height:"",u=["fc",i?"fc-media-print":"fc-media-screen",`fc-direction-${n.direction}`,e.theme.getClass("root")];return Bd()||u.push("fc-liquid-hack"),e.children(u,l,s,i)}componentDidMount(){let{emitter:e}=this.props;e.on("_beforeprint",this.handleBeforePrint),e.on("_afterprint",this.handleAfterPrint)}componentWillUnmount(){let{emitter:e}=this.props;e.off("_beforeprint",this.handleBeforePrint),e.off("_afterprint",this.handleAfterPrint)}}class Vd{constructor(e){this.component=e.component,this.isHitComboAllowed=e.isHitComboAllowed||null}destroy(){}}function bm(t,e){return{component:t,el:e.el,useEventCenter:e.useEventCenter!=null?e.useEventCenter:!0,isHitComboAllowed:e.isHitComboAllowed||null}}const su={};class _m{getCurrentData(){return this.currentDataManager.getCurrentData()}dispatch(e){this.currentDataManager.dispatch(e)}get view(){return this.getCurrentData().viewApi}batchRendering(e){e()}updateSize(){this.trigger("_resize",!0)}setOption(e,n){this.dispatch({type:"SET_OPTION",optionName:e,rawOptionValue:n})}getOption(e){return this.currentDataManager.currentCalendarOptionsInput[e]}getAvailableLocaleCodes(){return Object.keys(this.getCurrentData().availableRawLocales)}on(e,n){let{currentDataManager:i}=this;i.currentCalendarOptionsRefiners[e]?i.emitter.on(e,n):console.warn(`Unknown listener name '${e}'`)}off(e,n){this.currentDataManager.emitter.off(e,n)}trigger(e,...n){this.currentDataManager.emitter.trigger(e,...n)}changeView(e,n){this.batchRendering(()=>{if(this.unselect(),n)if(n.start&&n.end)this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e}),this.dispatch({type:"SET_OPTION",optionName:"visibleRange",rawOptionValue:n});else{let{dateEnv:i}=this.getCurrentData();this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e,dateMarker:i.createMarker(n)})}else this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e})})}zoomTo(e,n){let i=this.getCurrentData(),s;n=n||"day",s=i.viewSpecs[n]||this.getUnitViewSpec(n),this.unselect(),s?this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:s.type,dateMarker:e}):this.dispatch({type:"CHANGE_DATE",dateMarker:e})}getUnitViewSpec(e){let{viewSpecs:n,toolbarConfig:i}=this.getCurrentData(),s=[].concat(i.header?i.header.viewsWithButtons:[],i.footer?i.footer.viewsWithButtons:[]),l,u;for(let p in n)s.push(p);for(l=0;l<s.length;l+=1)if(u=n[s[l]],u&&u.singleUnit===e)return u;return null}prev(){this.unselect(),this.dispatch({type:"PREV"})}next(){this.unselect(),this.dispatch({type:"NEXT"})}prevYear(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:e.dateEnv.addYears(e.currentDate,-1)})}nextYear(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:e.dateEnv.addYears(e.currentDate,1)})}today(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:Kr(e.calendarOptions.now,e.dateEnv)})}gotoDate(e){let n=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:n.dateEnv.createMarker(e)})}incrementDate(e){let n=this.getCurrentData(),i=ye(e);i&&(this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:n.dateEnv.add(n.currentDate,i)}))}getDate(){let e=this.getCurrentData();return e.dateEnv.toDate(e.currentDate)}formatDate(e,n){let{dateEnv:i}=this.getCurrentData();return i.format(i.createMarker(e),Be(n))}formatRange(e,n,i){let{dateEnv:s}=this.getCurrentData();return s.formatRange(s.createMarker(e),s.createMarker(n),Be(i),i)}formatIso(e,n){let{dateEnv:i}=this.getCurrentData();return i.formatIso(i.createMarker(e),{omitTime:n})}select(e,n){let i;n==null?e.start!=null?i=e:i={start:e,end:null}:i={start:e,end:n};let s=this.getCurrentData(),l=dm(i,s.dateEnv,ye({days:1}));l&&(this.dispatch({type:"SELECT_DATES",selection:l}),Jg(l,null,s))}unselect(e){let n=this.getCurrentData();n.dateSelection&&(this.dispatch({type:"UNSELECT_DATES"}),Kg(e,n))}addEvent(e,n){if(e instanceof bt){let u=e._def,p=e._instance;return this.getCurrentData().eventStore.defs[u.defId]||(this.dispatch({type:"ADD_EVENTS",eventStore:ao({def:u,instance:p})}),this.triggerEventAdd(e)),e}let i=this.getCurrentData(),s;if(n instanceof cr)s=n.internalEventSource;else if(typeof n=="boolean")n&&([s]=_o(i.eventSources));else if(n!=null){let u=this.getEventSourceById(n);if(!u)return console.warn(`Could not find an event source with ID "${n}"`),null;s=u.internalEventSource}let l=xd(e,s,i,!1);if(l){let u=new bt(i,l.def,l.def.recurringDef?null:l.instance);return this.dispatch({type:"ADD_EVENTS",eventStore:ao(l)}),this.triggerEventAdd(u),u}return null}triggerEventAdd(e){let{emitter:n}=this.getCurrentData();n.trigger("eventAdd",{event:e,relatedEvents:[],revert:()=>{this.dispatch({type:"REMOVE_EVENTS",eventStore:Md(e)})}})}getEventById(e){let n=this.getCurrentData(),{defs:i,instances:s}=n.eventStore;e=String(e);for(let l in i){let u=i[l];if(u.publicId===e){if(u.recurringDef)return new bt(n,u,null);for(let p in s){let h=s[p];if(h.defId===u.defId)return new bt(n,u,h)}}}return null}getEvents(){let e=this.getCurrentData();return So(e.eventStore,e)}removeAllEvents(){this.dispatch({type:"REMOVE_ALL_EVENTS"})}getEventSources(){let e=this.getCurrentData(),n=e.eventSources,i=[];for(let s in n)i.push(new cr(e,n[s]));return i}getEventSourceById(e){let n=this.getCurrentData(),i=n.eventSources;e=String(e);for(let s in i)if(i[s].publicId===e)return new cr(n,i[s]);return null}addEventSource(e){let n=this.getCurrentData();if(e instanceof cr)return n.eventSources[e.internalEventSource.sourceId]||this.dispatch({type:"ADD_EVENT_SOURCES",sources:[e.internalEventSource]}),e;let i=Td(e,n);return i?(this.dispatch({type:"ADD_EVENT_SOURCES",sources:[i]}),new cr(n,i)):null}removeAllEventSources(){this.dispatch({type:"REMOVE_ALL_EVENT_SOURCES"})}refetchEvents(){this.dispatch({type:"FETCH_EVENT_SOURCES",isRefetch:!0})}scrollToTime(e){let n=ye(e);n&&this.trigger("_scrollRequest",{time:n})}}function wm(t,e){let n={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)};return n.left<n.right&&n.top<n.bottom?n:!1}function Fd(t,e,n,i){return{dow:t.getUTCDay(),isDisabled:!!(i&&!yn(i.activeRange,t)),isOther:!!(i&&!yn(i.currentRange,t)),isToday:!!(e&&yn(e,t)),isPast:!!(n?t<n:e&&t<e.start),isFuture:!!(n?t>n:e&&t>=e.end)}}function xo(t,e){let n=["fc-day",`fc-day-${Sv[t.dow]}`];return t.isDisabled?n.push("fc-day-disabled"):(t.isToday&&(n.push("fc-day-today"),n.push(e.getClass("today"))),t.isPast&&n.push("fc-day-past"),t.isFuture&&n.push("fc-day-future"),t.isOther&&n.push("fc-day-other")),n}const Lm=Be({year:"numeric",month:"long",day:"numeric"}),Am=Be({week:"long"});function oo(t,e,n="day",i=!0){const{dateEnv:s,options:l,calendarApi:u}=t;let p=s.format(e,n==="week"?Am:Lm);if(l.navLinks){let h=s.toDate(e);const y=g=>{let S=n==="day"?l.navLinkDayClick:n==="week"?l.navLinkWeekClick:null;typeof S=="function"?S.call(u,s.toDate(e),g):(typeof S=="string"&&(n=S),u.zoomTo(e,n))};return Object.assign({title:Pr(l.navLinkHint,[p,h],p),"data-navlink":""},i?hd(y):{onClick:y})}return{"aria-label":p}}let zs;function Cm(){return zs||(zs=Em()),zs}function Em(){let t=document.createElement("div");t.style.overflow="scroll",t.style.position="absolute",t.style.top="-9999px",t.style.left="-9999px",document.body.appendChild(t);let e=Sm(t);return document.body.removeChild(t),e}function Sm(t){return{x:t.offsetHeight-t.clientHeight,y:t.offsetWidth-t.clientWidth}}function xm(t){let e=Dm(t),n=t.getBoundingClientRect();for(let i of e){let s=wm(n,i.getBoundingClientRect());if(s)n=s;else return null}return n}function Dm(t){let e=[];for(;t instanceof HTMLElement;){let n=window.getComputedStyle(t);if(n.position==="fixed")break;/(auto|scroll)/.test(n.overflow+n.overflowY+n.overflowX)&&e.push(t),t=t.parentNode}return e}class oa{constructor(e,n,i,s){this.els=n;let l=this.originClientRect=e.getBoundingClientRect();i&&this.buildElHorizontals(l.left),s&&this.buildElVerticals(l.top)}buildElHorizontals(e){let n=[],i=[];for(let s of this.els){let l=s.getBoundingClientRect();n.push(l.left-e),i.push(l.right-e)}this.lefts=n,this.rights=i}buildElVerticals(e){let n=[],i=[];for(let s of this.els){let l=s.getBoundingClientRect();n.push(l.top-e),i.push(l.bottom-e)}this.tops=n,this.bottoms=i}leftToIndex(e){let{lefts:n,rights:i}=this,s=n.length,l;for(l=0;l<s;l+=1)if(e>=n[l]&&e<i[l])return l}topToIndex(e){let{tops:n,bottoms:i}=this,s=n.length,l;for(l=0;l<s;l+=1)if(e>=n[l]&&e<i[l])return l}getWidth(e){return this.rights[e]-this.lefts[e]}getHeight(e){return this.bottoms[e]-this.tops[e]}similarTo(e){return $i(this.tops||[],e.tops||[])&&$i(this.bottoms||[],e.bottoms||[])&&$i(this.lefts||[],e.lefts||[])&&$i(this.rights||[],e.rights||[])}}function $i(t,e){const n=t.length;if(n!==e.length)return!1;for(let i=0;i<n;i++)if(Math.round(t[i])!==Math.round(e[i]))return!1;return!0}class Qn extends Te{constructor(){super(...arguments),this.uid=Gn()}prepareHits(){}queryHit(e,n,i,s){return null}isValidSegDownEl(e){return!this.props.eventDrag&&!this.props.eventResize&&!tn(e,".fc-event-mirror")}isValidDateDownEl(e){return!tn(e,".fc-event:not(.fc-bg-event)")&&!tn(e,".fc-more-link")&&!tn(e,"a[data-navlink]")&&!tn(e,".fc-popover")}}class Tm{constructor(e=n=>n.thickness||1){this.getEntryThickness=e,this.strictOrder=!1,this.allowReslicing=!1,this.maxCoord=-1,this.maxStackCnt=-1,this.levelCoords=[],this.entriesByLevel=[],this.stackCnts={}}addSegs(e){let n=[];for(let i of e)this.insertEntry(i,n);return n}insertEntry(e,n){let i=this.findInsertion(e);this.isInsertionValid(i,e)?this.insertEntryAt(e,i):this.handleInvalidInsertion(i,e,n)}isInsertionValid(e,n){return(this.maxCoord===-1||e.levelCoord+this.getEntryThickness(n)<=this.maxCoord)&&(this.maxStackCnt===-1||e.stackCnt<this.maxStackCnt)}handleInvalidInsertion(e,n,i){if(this.allowReslicing&&e.touchingEntry){const s=Object.assign(Object.assign({},n),{span:Ud(n.span,e.touchingEntry.span)});i.push(s),this.splitEntry(n,e.touchingEntry,i)}else i.push(n)}splitEntry(e,n,i){let s=e.span,l=n.span;s.start<l.start&&this.insertEntry({index:e.index,thickness:e.thickness,span:{start:s.start,end:l.start}},i),s.end>l.end&&this.insertEntry({index:e.index,thickness:e.thickness,span:{start:l.end,end:s.end}},i)}insertEntryAt(e,n){let{entriesByLevel:i,levelCoords:s}=this;n.lateral===-1?(Ws(s,n.level,n.levelCoord),Ws(i,n.level,[e])):Ws(i[n.level],n.lateral,e),this.stackCnts[Br(e)]=n.stackCnt}findInsertion(e){let{levelCoords:n,entriesByLevel:i,strictOrder:s,stackCnts:l}=this,u=n.length,p=0,h=-1,y=-1,g=null,S=0;for(let O=0;O<u;O+=1){const B=n[O];if(!s&&B>=p+this.getEntryThickness(e))break;let $=i[O],H,V=lu($,e.span.start,ou),Q=V[0]+V[1];for(;(H=$[Q])&&H.span.start<e.span.end;){let E=B+this.getEntryThickness(H);E>p&&(p=E,g=H,h=O,y=Q),E===p&&(S=Math.max(S,l[Br(H)]+1)),Q+=1}}let A=0;if(g)for(A=h+1;A<u&&n[A]<p;)A+=1;let w=-1;return A<u&&n[A]===p&&(w=lu(i[A],e.span.end,ou)[0]),{touchingLevel:h,touchingLateral:y,touchingEntry:g,stackCnt:S,levelCoord:p,level:A,lateral:w}}toRects(){let{entriesByLevel:e,levelCoords:n}=this,i=e.length,s=[];for(let l=0;l<i;l+=1){let u=e[l],p=n[l];for(let h of u)s.push(Object.assign(Object.assign({},h),{thickness:this.getEntryThickness(h),levelCoord:p}))}return s}}function ou(t){return t.span.end}function Br(t){return t.index+":"+t.span.start}function Ud(t,e){let n=Math.max(t.start,e.start),i=Math.min(t.end,e.end);return n<i?{start:n,end:i}:null}function Ws(t,e,n){t.splice(e,0,n)}function lu(t,e,n){let i=0,s=t.length;if(!s||e<n(t[i]))return[0,0];if(e>n(t[s-1]))return[s,0];for(;i<s;){let l=Math.floor(i+(s-i)/2),u=n(t[l]);if(e<u)s=l;else if(e>u)i=l+1;else return[l,1]}return[i,0]}function km(t,e){return!t||e>10?Be({weekday:"short"}):e>1?Be({weekday:"short",month:"numeric",day:"numeric",omitCommas:!0}):Be({weekday:"long"})}const zd="fc-col-header-cell";function Wd(t){return t.text}class Rm extends Te{render(){let{dateEnv:e,options:n,theme:i,viewApi:s}=this.context,{props:l}=this,{date:u,dateProfile:p}=l,h=Fd(u,l.todayRange,null,p),y=[zd].concat(xo(h,i)),g=e.format(u,l.dayHeaderFormat),S=!h.isDisabled&&l.colCnt>1?oo(this.context,u):{},A=Object.assign(Object.assign(Object.assign({date:e.toDate(u),view:s},l.extraRenderProps),{text:g}),h);return M(sn,{elTag:"th",elClasses:y,elAttrs:Object.assign({role:"columnheader",colSpan:l.colSpan,"data-date":h.isDisabled?void 0:go(u)},l.extraDataAttrs),renderProps:A,generatorName:"dayHeaderContent",customGenerator:n.dayHeaderContent,defaultGenerator:Wd,classNameGenerator:n.dayHeaderClassNames,didMount:n.dayHeaderDidMount,willUnmount:n.dayHeaderWillUnmount},w=>M("div",{className:"fc-scrollgrid-sync-inner"},!h.isDisabled&&M(w,{elTag:"a",elAttrs:S,elClasses:["fc-col-header-cell-cushion",l.isSticky&&"fc-sticky"]})))}}const Om=Be({weekday:"long"});class Mm extends Te{render(){let{props:e}=this,{dateEnv:n,theme:i,viewApi:s,options:l}=this.context,u=Ye(new Date(2592e5),e.dow),p={dow:e.dow,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},h=n.format(u,e.dayHeaderFormat),y=Object.assign(Object.assign(Object.assign(Object.assign({date:u},p),{view:s}),e.extraRenderProps),{text:h});return M(sn,{elTag:"th",elClasses:[zd,...xo(p,i),...e.extraClassNames||[]],elAttrs:Object.assign({role:"columnheader",colSpan:e.colSpan},e.extraDataAttrs),renderProps:y,generatorName:"dayHeaderContent",customGenerator:l.dayHeaderContent,defaultGenerator:Wd,classNameGenerator:l.dayHeaderClassNames,didMount:l.dayHeaderDidMount,willUnmount:l.dayHeaderWillUnmount},g=>M("div",{className:"fc-scrollgrid-sync-inner"},M(g,{elTag:"a",elClasses:["fc-col-header-cell-cushion",e.isSticky&&"fc-sticky"],elAttrs:{"aria-label":n.format(u,Om)}})))}}class Do extends ft{constructor(e,n){super(e,n),this.initialNowDate=Kr(n.options.now,n.dateEnv),this.initialNowQueriedMs=new Date().valueOf(),this.state=this.computeTiming().currentState}render(){let{props:e,state:n}=this;return e.children(n.nowDate,n.todayRange)}componentDidMount(){this.setTimeout()}componentDidUpdate(e){e.unit!==this.props.unit&&(this.clearTimeout(),this.setTimeout())}componentWillUnmount(){this.clearTimeout()}computeTiming(){let{props:e,context:n}=this,i=_n(this.initialNowDate,new Date().valueOf()-this.initialNowQueriedMs),s=n.dateEnv.startOf(i,e.unit),l=n.dateEnv.add(s,ye(1,e.unit)),u=l.valueOf()-i.valueOf();return u=Math.min(1e3*60*60*24,u),{currentState:{nowDate:s,todayRange:cu(s)},nextState:{nowDate:l,todayRange:cu(l)},waitMs:u}}setTimeout(){let{nextState:e,waitMs:n}=this.computeTiming();this.timeoutId=setTimeout(()=>{this.setState(e,()=>{this.setTimeout()})},n)}clearTimeout(){this.timeoutId&&clearTimeout(this.timeoutId)}}Do.contextType=Zn;function cu(t){let e=De(t),n=Ye(e,1);return{start:e,end:n}}class Im extends Te{constructor(){super(...arguments),this.createDayHeaderFormatter=ve(Nm)}render(){let{context:e}=this,{dates:n,dateProfile:i,datesRepDistinctDays:s,renderIntro:l}=this.props,u=this.createDayHeaderFormatter(e.options.dayHeaderFormat,s,n.length);return M(Do,{unit:"day"},(p,h)=>M("tr",{role:"row"},l&&l("day"),n.map(y=>s?M(Rm,{key:y.toISOString(),date:y,dateProfile:i,todayRange:h,colCnt:n.length,dayHeaderFormat:u}):M(Mm,{key:y.getUTCDay(),dow:y.getUTCDay(),dayHeaderFormat:u}))))}}function Nm(t,e,n){return t||km(e,n)}class $m{constructor(e,n){let i=e.start,{end:s}=e,l=[],u=[],p=-1;for(;i<s;)n.isHiddenDay(i)?l.push(p+.5):(p+=1,l.push(p),u.push(i)),i=Ye(i,1);this.dates=u,this.indices=l,this.cnt=u.length}sliceRange(e){let n=this.getDateDayIndex(e.start),i=this.getDateDayIndex(Ye(e.end,-1)),s=Math.max(0,n),l=Math.min(this.cnt-1,i);return s=Math.ceil(s),l=Math.floor(l),s<=l?{firstIndex:s,lastIndex:l,isStart:n===s,isEnd:i===l}:null}getDateDayIndex(e){let{indices:n}=this,i=Math.floor(_r(this.dates[0],e));return i<0?n[0]-1:i>=n.length?n[n.length-1]+1:n[i]}}class Pm{constructor(e,n){let{dates:i}=e,s,l,u;if(n){for(l=i[0].getUTCDay(),s=1;s<i.length&&i[s].getUTCDay()!==l;s+=1);u=Math.ceil(i.length/s)}else u=1,s=i.length;this.rowCnt=u,this.colCnt=s,this.daySeries=e,this.cells=this.buildCells(),this.headerDates=this.buildHeaderDates()}buildCells(){let e=[];for(let n=0;n<this.rowCnt;n+=1){let i=[];for(let s=0;s<this.colCnt;s+=1)i.push(this.buildCell(n,s));e.push(i)}return e}buildCell(e,n){let i=this.daySeries.dates[e*this.colCnt+n];return{key:i.toISOString(),date:i}}buildHeaderDates(){let e=[];for(let n=0;n<this.colCnt;n+=1)e.push(this.cells[0][n].date);return e}sliceRange(e){let{colCnt:n}=this,i=this.daySeries.sliceRange(e),s=[];if(i){let{firstIndex:l,lastIndex:u}=i,p=l;for(;p<=u;){let h=Math.floor(p/n),y=Math.min((h+1)*n,u+1);s.push({row:h,firstCol:p%n,lastCol:(y-1)%n,isStart:i.isStart&&p===l,isEnd:i.isEnd&&y-1===u}),p=y}}return s}}class Hm{constructor(){this.sliceBusinessHours=ve(this._sliceBusinessHours),this.sliceDateSelection=ve(this._sliceDateSpan),this.sliceEventStore=ve(this._sliceEventStore),this.sliceEventDrag=ve(this._sliceInteraction),this.sliceEventResize=ve(this._sliceInteraction),this.forceDayIfListItem=!1}sliceProps(e,n,i,s,...l){let{eventUiBases:u}=e,p=this.sliceEventStore(e.eventStore,u,n,i,...l);return{dateSelectionSegs:this.sliceDateSelection(e.dateSelection,n,i,u,s,...l),businessHourSegs:this.sliceBusinessHours(e.businessHours,n,i,s,...l),fgEventSegs:p.fg,bgEventSegs:p.bg,eventDrag:this.sliceEventDrag(e.eventDrag,u,n,i,...l),eventResize:this.sliceEventResize(e.eventResize,u,n,i,...l),eventSelection:e.eventSelection}}sliceNowDate(e,n,i,s,...l){return this._sliceDateSpan({range:{start:e,end:_n(e,1)},allDay:!1},n,i,{},s,...l)}_sliceBusinessHours(e,n,i,s,...l){return e?this._sliceEventStore(Xr(e,Pi(n,!!i),s),{},n,i,...l).bg:[]}_sliceEventStore(e,n,i,s,...l){if(e){let u=ru(e,n,Pi(i,!!s),s);return{bg:this.sliceEventRanges(u.bg,l),fg:this.sliceEventRanges(u.fg,l)}}return{bg:[],fg:[]}}_sliceInteraction(e,n,i,s,...l){if(!e)return null;let u=ru(e.mutatedEvents,n,Pi(i,!!s),s);return{segs:this.sliceEventRanges(u.fg,l),affectedInstances:e.affectedEvents.instances,isEvent:e.isEvent}}_sliceDateSpan(e,n,i,s,l,...u){if(!e)return[];let p=Pi(n,!!i),h=vr(e.range,p);if(h){e=Object.assign(Object.assign({},e),{range:h});let y=hm(e,s,l),g=this.sliceRange(e.range,...u);for(let S of g)S.eventRange=y;return g}return[]}sliceEventRanges(e,n){let i=[];for(let s of e)i.push(...this.sliceEventRange(s,n));return i}sliceEventRange(e,n){let i=e.range;this.forceDayIfListItem&&e.ui.display==="list-item"&&(i={start:i.start,end:Ye(i.start,1)});let s=this.sliceRange(i,...n);for(let l of s)l.eventRange=e,l.isStart=e.isStart&&l.isStart,l.isEnd=e.isEnd&&l.isEnd;return s}}function Pi(t,e){let n=t.activeRange;return e?n:{start:_n(n.start,t.slotMinTime.milliseconds),end:_n(n.end,t.slotMaxTime.milliseconds-864e5)}}const Hi=/^(visible|hidden)$/;class jm extends Te{constructor(){super(...arguments),this.handleEl=e=>{this.el=e,rn(this.props.elRef,e)}}render(){let{props:e}=this,{liquid:n,liquidIsAbsolute:i}=e,s=n&&i,l=["fc-scroller"];return n&&(i?l.push("fc-scroller-liquid-absolute"):l.push("fc-scroller-liquid")),M("div",{ref:this.handleEl,className:l.join(" "),style:{overflowX:e.overflowX,overflowY:e.overflowY,left:s&&-(e.overcomeLeft||0)||"",right:s&&-(e.overcomeRight||0)||"",bottom:s&&-(e.overcomeBottom||0)||"",marginLeft:!s&&-(e.overcomeLeft||0)||"",marginRight:!s&&-(e.overcomeRight||0)||"",marginBottom:!s&&-(e.overcomeBottom||0)||"",maxHeight:e.maxHeight||""}},e.children)}needsXScrolling(){if(Hi.test(this.props.overflowX))return!1;let{el:e}=this,n=this.el.getBoundingClientRect().width-this.getYScrollbarWidth(),{children:i}=e;for(let s=0;s<i.length;s+=1)if(i[s].getBoundingClientRect().width>n)return!0;return!1}needsYScrolling(){if(Hi.test(this.props.overflowY))return!1;let{el:e}=this,n=this.el.getBoundingClientRect().height-this.getXScrollbarWidth(),{children:i}=e;for(let s=0;s<i.length;s+=1)if(i[s].getBoundingClientRect().height>n)return!0;return!1}getXScrollbarWidth(){return Hi.test(this.props.overflowX)?0:this.el.offsetHeight-this.el.clientHeight}getYScrollbarWidth(){return Hi.test(this.props.overflowY)?0:this.el.offsetWidth-this.el.clientWidth}}class Vn{constructor(e){this.masterCallback=e,this.currentMap={},this.depths={},this.callbackMap={},this.handleValue=(n,i)=>{let{depths:s,currentMap:l}=this,u=!1,p=!1;n!==null?(u=i in l,l[i]=n,s[i]=(s[i]||0)+1,p=!0):(s[i]-=1,s[i]||(delete l[i],delete this.callbackMap[i],u=!0)),this.masterCallback&&(u&&this.masterCallback(null,String(i)),p&&this.masterCallback(n,String(i)))}}createRef(e){let n=this.callbackMap[e];return n||(n=this.callbackMap[e]=i=>{this.handleValue(i,String(e))}),n}collect(e,n,i){return ag(this.currentMap,e,n,i)}getAll(){return _o(this.currentMap)}}function Bm(t){let e=cv(t,".fc-scrollgrid-shrink"),n=0;for(let i of e)n=Math.max(n,bv(i));return Math.ceil(n)}function Gd(t,e){return t.liquid&&e.liquid}function Vm(t,e){return e.maxHeight!=null||Gd(t,e)}function Fm(t,e,n,i){let{expandRows:s}=n;return typeof e.content=="function"?e.content(n):M("table",{role:"presentation",className:[e.tableClassName,t.syncRowHeights?"fc-scrollgrid-sync-table":""].join(" "),style:{minWidth:n.tableMinWidth,width:n.clientWidth,height:s?n.clientHeight:""}},n.tableColGroupNode,M(i?"thead":"tbody",{role:"presentation"},typeof e.rowContent=="function"?e.rowContent(n):e.rowContent))}function Um(t,e){return bn(t,e,jt)}function zm(t,e){let n=[];for(let i of t){let s=i.span||1;for(let l=0;l<s;l+=1)n.push(M("col",{style:{width:i.width==="shrink"?Wm(e):i.width||"",minWidth:i.minWidth||""}}))}return M("colgroup",{},...n)}function Wm(t){return t==null?4:t}function Gm(t){for(let e of t)if(e.width==="shrink")return!0;return!1}function Zm(t,e){let n=["fc-scrollgrid",e.theme.getClass("table")];return t&&n.push("fc-scrollgrid-liquid"),n}function Ym(t,e){let n=["fc-scrollgrid-section",`fc-scrollgrid-section-${t.type}`,t.className];return e&&t.liquid&&t.maxHeight==null&&n.push("fc-scrollgrid-section-liquid"),t.isSticky&&n.push("fc-scrollgrid-section-sticky"),n}function Qm(t){return M("div",{className:"fc-scrollgrid-sticky-shim",style:{width:t.clientWidth,minWidth:t.tableMinWidth}})}function uu(t){let{stickyHeaderDates:e}=t;return(e==null||e==="auto")&&(e=t.height==="auto"||t.viewHeight==="auto"),e}function qm(t){let{stickyFooterScrollbar:e}=t;return(e==null||e==="auto")&&(e=t.height==="auto"||t.viewHeight==="auto"),e}class Zd extends Te{constructor(){super(...arguments),this.processCols=ve(e=>e,Um),this.renderMicroColGroup=ve(zm),this.scrollerRefs=new Vn,this.scrollerElRefs=new Vn(this._handleScrollerEl.bind(this)),this.state={shrinkWidth:null,forceYScrollbars:!1,scrollerClientWidths:{},scrollerClientHeights:{}},this.handleSizing=()=>{this.safeSetState(Object.assign({shrinkWidth:this.computeShrinkWidth()},this.computeScrollerDims()))}}render(){let{props:e,state:n,context:i}=this,s=e.sections||[],l=this.processCols(e.cols),u=this.renderMicroColGroup(l,n.shrinkWidth),p=Zm(e.liquid,i);e.collapsibleWidth&&p.push("fc-scrollgrid-collapsible");let h=s.length,y=0,g,S=[],A=[],w=[];for(;y<h&&(g=s[y]).type==="header";)S.push(this.renderSection(g,u,!0)),y+=1;for(;y<h&&(g=s[y]).type==="body";)A.push(this.renderSection(g,u,!1)),y+=1;for(;y<h&&(g=s[y]).type==="footer";)w.push(this.renderSection(g,u,!0)),y+=1;let O=!Bd();const B={role:"rowgroup"};return M("table",{role:"grid",className:p.join(" "),style:{height:e.height}},!!(!O&&S.length)&&M("thead",B,...S),!!(!O&&A.length)&&M("tbody",B,...A),!!(!O&&w.length)&&M("tfoot",B,...w),O&&M("tbody",B,...S,...A,...w))}renderSection(e,n,i){return"outerContent"in e?M(Ie,{key:e.key},e.outerContent):M("tr",{key:e.key,role:"presentation",className:Ym(e,this.props.liquid).join(" ")},this.renderChunkTd(e,n,e.chunk,i))}renderChunkTd(e,n,i,s){if("outerContent"in i)return i.outerContent;let{props:l}=this,{forceYScrollbars:u,scrollerClientWidths:p,scrollerClientHeights:h}=this.state,y=Vm(l,e),g=Gd(l,e),S=l.liquid?u?"scroll":y?"auto":"hidden":"visible",A=e.key,w=Fm(e,i,{tableColGroupNode:n,tableMinWidth:"",clientWidth:!l.collapsibleWidth&&p[A]!==void 0?p[A]:null,clientHeight:h[A]!==void 0?h[A]:null,expandRows:e.expandRows,syncRowHeights:!1,rowSyncHeights:[],reportRowHeightChange:()=>{}},s);return M(s?"th":"td",{ref:i.elRef,role:"presentation"},M("div",{className:`fc-scroller-harness${g?" fc-scroller-harness-liquid":""}`},M(jm,{ref:this.scrollerRefs.createRef(A),elRef:this.scrollerElRefs.createRef(A),overflowY:S,overflowX:l.liquid?"hidden":"visible",maxHeight:e.maxHeight,liquid:g,liquidIsAbsolute:!0},w)))}_handleScrollerEl(e,n){let i=Jm(this.props.sections,n);i&&rn(i.chunk.scrollerElRef,e)}componentDidMount(){this.handleSizing(),this.context.addResizeHandler(this.handleSizing)}componentDidUpdate(){this.handleSizing()}componentWillUnmount(){this.context.removeResizeHandler(this.handleSizing)}computeShrinkWidth(){return Gm(this.props.cols)?Bm(this.scrollerElRefs.getAll()):0}computeScrollerDims(){let e=Cm(),{scrollerRefs:n,scrollerElRefs:i}=this,s=!1,l={},u={};for(let p in n.currentMap){let h=n.currentMap[p];if(h&&h.needsYScrolling()){s=!0;break}}for(let p of this.props.sections){let h=p.key,y=i.currentMap[h];if(y){let g=y.parentNode;l[h]=Math.floor(g.getBoundingClientRect().width-(s?e.y:0)),u[h]=Math.floor(g.getBoundingClientRect().height)}}return{forceYScrollbars:s,scrollerClientWidths:l,scrollerClientHeights:u}}}Zd.addStateEquality({scrollerClientWidths:jt,scrollerClientHeights:jt});function Jm(t,e){for(let n of t)if(n.key===e)return n;return null}class To extends Te{constructor(){super(...arguments),this.handleEl=e=>{this.el=e,e&&iu(e,this.props.seg)}}render(){const{props:e,context:n}=this,{options:i}=n,{seg:s}=e,{eventRange:l}=s,{ui:u}=l,p={event:new bt(n,l.def,l.instance),view:n.viewApi,timeText:e.timeText,textColor:u.textColor,backgroundColor:u.backgroundColor,borderColor:u.borderColor,isDraggable:!e.disableDragging&&am(s,n),isStartResizable:!e.disableResizing&&sm(s,n),isEndResizable:!e.disableResizing&&om(s),isMirror:!!(e.isDragging||e.isResizing||e.isDateSelecting),isStart:!!s.isStart,isEnd:!!s.isEnd,isPast:!!e.isPast,isFuture:!!e.isFuture,isToday:!!e.isToday,isSelected:!!e.isSelected,isDragging:!!e.isDragging,isResizing:!!e.isResizing};return M(sn,Object.assign({},e,{elRef:this.handleEl,elClasses:[...lm(p),...s.eventRange.ui.classNames,...e.elClasses||[]],renderProps:p,generatorName:"eventContent",customGenerator:i.eventContent,defaultGenerator:e.defaultGenerator,classNameGenerator:i.eventClassNames,didMount:i.eventDidMount,willUnmount:i.eventWillUnmount}))}componentDidUpdate(e){this.el&&this.props.seg!==e.seg&&iu(this.el,this.props.seg)}}class Km extends Te{render(){let{props:e,context:n}=this,{options:i}=n,{seg:s}=e,{ui:l}=s.eventRange,u=i.eventTimeFormat||e.defaultTimeFormat,p=$d(s,u,n,e.defaultDisplayEventTime,e.defaultDisplayEventEnd);return M(To,Object.assign({},e,{elTag:"a",elStyle:{borderColor:l.borderColor,backgroundColor:l.backgroundColor},elAttrs:Pd(s,n),defaultGenerator:Xm,timeText:p}),(h,y)=>M(Ie,null,M(h,{elTag:"div",elClasses:["fc-event-main"],elStyle:{color:y.textColor}}),!!y.isStartResizable&&M("div",{className:"fc-event-resizer fc-event-resizer-start"}),!!y.isEndResizable&&M("div",{className:"fc-event-resizer fc-event-resizer-end"})))}}function Xm(t){return M("div",{className:"fc-event-main-frame"},t.timeText&&M("div",{className:"fc-event-time"},t.timeText),M("div",{className:"fc-event-title-container"},M("div",{className:"fc-event-title fc-sticky"},t.event.title||M(Ie,null," "))))}const e1=Be({day:"numeric"});class Yd extends Te{constructor(){super(...arguments),this.refineRenderProps=Zi(t1)}render(){let{props:e,context:n}=this,{options:i}=n,s=this.refineRenderProps({date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,isMonthStart:e.isMonthStart||!1,showDayNumber:e.showDayNumber,extraRenderProps:e.extraRenderProps,viewApi:n.viewApi,dateEnv:n.dateEnv,monthStartFormat:i.monthStartFormat});return M(sn,Object.assign({},e,{elClasses:[...xo(s,n.theme),...e.elClasses||[]],elAttrs:Object.assign(Object.assign({},e.elAttrs),s.isDisabled?{}:{"data-date":go(e.date)}),renderProps:s,generatorName:"dayCellContent",customGenerator:i.dayCellContent,defaultGenerator:e.defaultGenerator,classNameGenerator:s.isDisabled?void 0:i.dayCellClassNames,didMount:i.dayCellDidMount,willUnmount:i.dayCellWillUnmount}))}}function Qd(t){return!!(t.dayCellContent||ro("dayCellContent",t))}function t1(t){let{date:e,dateEnv:n,dateProfile:i,isMonthStart:s}=t,l=Fd(e,t.todayRange,null,i),u=t.showDayNumber?n.format(e,s?t.monthStartFormat:e1):"";return Object.assign(Object.assign(Object.assign({date:n.toDate(e),view:t.viewApi},l),{isMonthStart:s,dayNumberText:u}),t.extraRenderProps)}class n1 extends Te{render(){let{props:e}=this,{seg:n}=e;return M(To,{elTag:"div",elClasses:["fc-bg-event"],elStyle:{backgroundColor:n.eventRange.ui.backgroundColor},defaultGenerator:r1,seg:n,timeText:"",isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday,disableDragging:!0,disableResizing:!0})}}function r1(t){let{title:e}=t.event;return e&&M("div",{className:"fc-event-title"},t.event.title)}function i1(t){return M("div",{className:`fc-${t}`})}const a1=t=>M(Zn.Consumer,null,e=>{let{dateEnv:n,options:i}=e,{date:s}=t,l=i.weekNumberFormat||t.defaultFormat,u=n.computeWeekNumber(s),p=n.format(s,l);return M(sn,Object.assign({},t,{renderProps:{num:u,text:p,date:s},generatorName:"weekNumberContent",customGenerator:i.weekNumberContent,defaultGenerator:s1,classNameGenerator:i.weekNumberClassNames,didMount:i.weekNumberDidMount,willUnmount:i.weekNumberWillUnmount}))});function s1(t){return t.text}const Gs=10;class o1 extends Te{constructor(){super(...arguments),this.state={titleId:pa()},this.handleRootEl=e=>{this.rootEl=e,this.props.elRef&&rn(this.props.elRef,e)},this.handleDocumentMouseDown=e=>{const n=fv(e);this.rootEl.contains(n)||this.handleCloseClick()},this.handleDocumentKeyDown=e=>{e.key==="Escape"&&this.handleCloseClick()},this.handleCloseClick=()=>{let{onClose:e}=this.props;e&&e()}}render(){let{theme:e,options:n}=this.context,{props:i,state:s}=this,l=["fc-popover",e.getClass("popover")].concat(i.extraClassNames||[]);return Yh(M("div",Object.assign({},i.extraAttrs,{id:i.id,className:l.join(" "),"aria-labelledby":s.titleId,ref:this.handleRootEl}),M("div",{className:"fc-popover-header "+e.getClass("popoverHeader")},M("span",{className:"fc-popover-title",id:s.titleId},i.title),M("span",{className:"fc-popover-close "+e.getIconClass("close"),title:n.closeHint,onClick:this.handleCloseClick})),M("div",{className:"fc-popover-body "+e.getClass("popoverContent")},i.children)),i.parentEl)}componentDidMount(){document.addEventListener("mousedown",this.handleDocumentMouseDown),document.addEventListener("keydown",this.handleDocumentKeyDown),this.updateSize()}componentWillUnmount(){document.removeEventListener("mousedown",this.handleDocumentMouseDown),document.removeEventListener("keydown",this.handleDocumentKeyDown)}updateSize(){let{isRtl:e}=this.context,{alignmentEl:n,alignGridTop:i}=this.props,{rootEl:s}=this,l=xm(n);if(l){let u=s.getBoundingClientRect(),p=i?tn(n,".fc-scrollgrid").getBoundingClientRect().top:l.top,h=e?l.right-u.width:l.left;p=Math.max(p,Gs),h=Math.min(h,document.documentElement.clientWidth-Gs-u.width),h=Math.max(h,Gs);let y=s.offsetParent.getBoundingClientRect();dv(s,{top:p-y.top,left:h-y.left})}}}class l1 extends Qn{constructor(){super(...arguments),this.handleRootEl=e=>{this.rootEl=e,e?this.context.registerInteractiveComponent(this,{el:e,useEventCenter:!1}):this.context.unregisterInteractiveComponent(this)}}render(){let{options:e,dateEnv:n}=this.context,{props:i}=this,{startDate:s,todayRange:l,dateProfile:u}=i,p=n.format(s,e.dayPopoverFormat);return M(Yd,{elRef:this.handleRootEl,date:s,dateProfile:u,todayRange:l},(h,y,g)=>M(o1,{elRef:g.ref,id:i.id,title:p,extraClassNames:["fc-more-popover"].concat(g.className||[]),extraAttrs:g,parentEl:i.parentEl,alignmentEl:i.alignmentEl,alignGridTop:i.alignGridTop,onClose:i.onClose},Qd(e)&&M(h,{elTag:"div",elClasses:["fc-more-popover-misc"]}),i.children))}queryHit(e,n,i,s){let{rootEl:l,props:u}=this;return e>=0&&e<i&&n>=0&&n<s?{dateProfile:u.dateProfile,dateSpan:Object.assign({allDay:!u.forceTimed,range:{start:u.startDate,end:u.endDate}},u.extraDateSpan),dayEl:l,rect:{left:0,top:0,right:i,bottom:s},layer:1}:null}}class c1 extends Te{constructor(){super(...arguments),this.state={isPopoverOpen:!1,popoverId:pa()},this.handleLinkEl=e=>{this.linkEl=e,this.props.elRef&&rn(this.props.elRef,e)},this.handleClick=e=>{let{props:n,context:i}=this,{moreLinkClick:s}=i.options,l=du(n).start;function u(p){let{def:h,instance:y,range:g}=p.eventRange;return{event:new bt(i,h,y),start:i.dateEnv.toDate(g.start),end:i.dateEnv.toDate(g.end),isStart:p.isStart,isEnd:p.isEnd}}typeof s=="function"&&(s=s({date:l,allDay:!!n.allDayDate,allSegs:n.allSegs.map(u),hiddenSegs:n.hiddenSegs.map(u),jsEvent:e,view:i.viewApi})),!s||s==="popover"?this.setState({isPopoverOpen:!0}):typeof s=="string"&&i.calendarApi.zoomTo(l,s)},this.handlePopoverClose=()=>{this.setState({isPopoverOpen:!1})}}render(){let{props:e,state:n}=this;return M(Zn.Consumer,null,i=>{let{viewApi:s,options:l,calendarApi:u}=i,{moreLinkText:p}=l,{moreCnt:h}=e,y=du(e),g=typeof p=="function"?p.call(u,h):`+${h} ${p}`,S=Pr(l.moreLinkHint,[h],g),A={num:h,shortText:`+${h}`,text:g,view:s};return M(Ie,null,!!e.moreCnt&&M(sn,{elTag:e.elTag||"a",elRef:this.handleLinkEl,elClasses:[...e.elClasses||[],"fc-more-link"],elStyle:e.elStyle,elAttrs:Object.assign(Object.assign(Object.assign({},e.elAttrs),hd(this.handleClick)),{title:S,"aria-expanded":n.isPopoverOpen,"aria-controls":n.isPopoverOpen?n.popoverId:""}),renderProps:A,generatorName:"moreLinkContent",customGenerator:l.moreLinkContent,defaultGenerator:e.defaultGenerator||u1,classNameGenerator:l.moreLinkClassNames,didMount:l.moreLinkDidMount,willUnmount:l.moreLinkWillUnmount},e.children),n.isPopoverOpen&&M(l1,{id:n.popoverId,startDate:y.start,endDate:y.end,dateProfile:e.dateProfile,todayRange:e.todayRange,extraDateSpan:e.extraDateSpan,parentEl:this.parentEl,alignmentEl:e.alignmentElRef?e.alignmentElRef.current:this.linkEl,alignGridTop:e.alignGridTop,forceTimed:e.forceTimed,onClose:this.handlePopoverClose},e.popoverContent()))})}componentDidMount(){this.updateParentEl()}componentDidUpdate(){this.updateParentEl()}updateParentEl(){this.linkEl&&(this.parentEl=tn(this.linkEl,".fc-view-harness"))}}function u1(t){return t.text}function du(t){if(t.allDayDate)return{start:t.allDayDate,end:Ye(t.allDayDate,1)};let{hiddenSegs:e}=t;return{start:d1(e),end:p1(e)}}function d1(t){return t.reduce(f1).eventRange.range.start}function f1(t,e){return t.eventRange.range.start<e.eventRange.range.start?t:e}function p1(t){return t.reduce(h1).eventRange.range.end}function h1(t,e){return t.eventRange.range.end>e.eventRange.range.end?t:e}class v1{constructor(){this.handlers=[]}set(e){this.currentValue=e;for(let n of this.handlers)n(e)}subscribe(e){this.handlers.push(e),this.currentValue!==void 0&&e(this.currentValue)}}class g1 extends v1{constructor(){super(...arguments),this.map=new Map}handle(e){const{map:n}=this;let i=!1;e.isActive?(n.set(e.id,e),i=!0):n.has(e.id)&&(n.delete(e.id),i=!0),i&&this.set(n)}}const m1=[],qd={code:"en",week:{dow:0,doy:4},direction:"ltr",buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day",list:"list"},weekText:"W",weekTextLong:"Week",closeHint:"Close",timeHint:"Time",eventHint:"Event",allDayText:"all-day",moreLinkText:"more",noEventsText:"No events to display"},Jd=Object.assign(Object.assign({},qd),{buttonHints:{prev:"Previous $0",next:"Next $0",today(t,e){return e==="day"?"Today":`This ${t}`}},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint(t){return`Show ${t} more event${t===1?"":"s"}`}});function y1(t){let e=t.length>0?t[0].code:"en",n=m1.concat(t),i={en:Jd};for(let s of n)i[s.code]=s;return{map:i,defaultCode:e}}function Kd(t,e){return typeof t=="object"&&!Array.isArray(t)?Xd(t.code,[t.code],t):b1(t,e)}function b1(t,e){let n=[].concat(t||[]),i=_1(n,e)||Jd;return Xd(t,n,i)}function _1(t,e){for(let n=0;n<t.length;n+=1){let i=t[n].toLocaleLowerCase().split("-");for(let s=i.length;s>0;s-=1){let l=i.slice(0,s).join("-");if(e[l])return e[l]}}return null}function Xd(t,e,n){let i=bo([qd,n],["buttonText"]);delete i.code;let{week:s}=i;return delete i.week,{codeArg:t,codes:e,week:s,simpleNumberFormat:new Intl.NumberFormat(t),options:i}}function qn(t){return{id:Gn(),name:t.name,premiumReleaseDate:t.premiumReleaseDate?new Date(t.premiumReleaseDate):void 0,deps:t.deps||[],reducers:t.reducers||[],isLoadingFuncs:t.isLoadingFuncs||[],contextInit:[].concat(t.contextInit||[]),eventRefiners:t.eventRefiners||{},eventDefMemberAdders:t.eventDefMemberAdders||[],eventSourceRefiners:t.eventSourceRefiners||{},isDraggableTransformers:t.isDraggableTransformers||[],eventDragMutationMassagers:t.eventDragMutationMassagers||[],eventDefMutationAppliers:t.eventDefMutationAppliers||[],dateSelectionTransformers:t.dateSelectionTransformers||[],datePointTransforms:t.datePointTransforms||[],dateSpanTransforms:t.dateSpanTransforms||[],views:t.views||{},viewPropsTransformers:t.viewPropsTransformers||[],isPropsValid:t.isPropsValid||null,externalDefTransforms:t.externalDefTransforms||[],viewContainerAppends:t.viewContainerAppends||[],eventDropTransformers:t.eventDropTransformers||[],componentInteractions:t.componentInteractions||[],calendarInteractions:t.calendarInteractions||[],themeClasses:t.themeClasses||{},eventSourceDefs:t.eventSourceDefs||[],cmdFormatter:t.cmdFormatter,recurringTypes:t.recurringTypes||[],namedTimeZonedImpl:t.namedTimeZonedImpl,initialView:t.initialView||"",elementDraggingImpl:t.elementDraggingImpl,optionChangeHandlers:t.optionChangeHandlers||{},scrollGridImpl:t.scrollGridImpl||null,listenerRefiners:t.listenerRefiners||{},optionRefiners:t.optionRefiners||{},propSetHandlers:t.propSetHandlers||{}}}function w1(t,e){let n={},i={premiumReleaseDate:void 0,reducers:[],isLoadingFuncs:[],contextInit:[],eventRefiners:{},eventDefMemberAdders:[],eventSourceRefiners:{},isDraggableTransformers:[],eventDragMutationMassagers:[],eventDefMutationAppliers:[],dateSelectionTransformers:[],datePointTransforms:[],dateSpanTransforms:[],views:{},viewPropsTransformers:[],isPropsValid:null,externalDefTransforms:[],viewContainerAppends:[],eventDropTransformers:[],componentInteractions:[],calendarInteractions:[],themeClasses:{},eventSourceDefs:[],cmdFormatter:null,recurringTypes:[],namedTimeZonedImpl:null,initialView:"",elementDraggingImpl:null,optionChangeHandlers:{},scrollGridImpl:null,listenerRefiners:{},optionRefiners:{},propSetHandlers:{}};function s(l){for(let u of l){const p=u.name,h=n[p];h===void 0?(n[p]=u.id,s(u.deps),i=A1(i,u)):h!==u.id&&console.warn(`Duplicate plugin '${p}'`)}}return t&&s(t),s(e),i}function L1(){let t=[],e=[],n;return(i,s)=>((!n||!bn(i,t)||!bn(s,e))&&(n=w1(i,s)),t=i,e=s,n)}function A1(t,e){return{premiumReleaseDate:C1(t.premiumReleaseDate,e.premiumReleaseDate),reducers:t.reducers.concat(e.reducers),isLoadingFuncs:t.isLoadingFuncs.concat(e.isLoadingFuncs),contextInit:t.contextInit.concat(e.contextInit),eventRefiners:Object.assign(Object.assign({},t.eventRefiners),e.eventRefiners),eventDefMemberAdders:t.eventDefMemberAdders.concat(e.eventDefMemberAdders),eventSourceRefiners:Object.assign(Object.assign({},t.eventSourceRefiners),e.eventSourceRefiners),isDraggableTransformers:t.isDraggableTransformers.concat(e.isDraggableTransformers),eventDragMutationMassagers:t.eventDragMutationMassagers.concat(e.eventDragMutationMassagers),eventDefMutationAppliers:t.eventDefMutationAppliers.concat(e.eventDefMutationAppliers),dateSelectionTransformers:t.dateSelectionTransformers.concat(e.dateSelectionTransformers),datePointTransforms:t.datePointTransforms.concat(e.datePointTransforms),dateSpanTransforms:t.dateSpanTransforms.concat(e.dateSpanTransforms),views:Object.assign(Object.assign({},t.views),e.views),viewPropsTransformers:t.viewPropsTransformers.concat(e.viewPropsTransformers),isPropsValid:e.isPropsValid||t.isPropsValid,externalDefTransforms:t.externalDefTransforms.concat(e.externalDefTransforms),viewContainerAppends:t.viewContainerAppends.concat(e.viewContainerAppends),eventDropTransformers:t.eventDropTransformers.concat(e.eventDropTransformers),calendarInteractions:t.calendarInteractions.concat(e.calendarInteractions),componentInteractions:t.componentInteractions.concat(e.componentInteractions),themeClasses:Object.assign(Object.assign({},t.themeClasses),e.themeClasses),eventSourceDefs:t.eventSourceDefs.concat(e.eventSourceDefs),cmdFormatter:e.cmdFormatter||t.cmdFormatter,recurringTypes:t.recurringTypes.concat(e.recurringTypes),namedTimeZonedImpl:e.namedTimeZonedImpl||t.namedTimeZonedImpl,initialView:t.initialView||e.initialView,elementDraggingImpl:t.elementDraggingImpl||e.elementDraggingImpl,optionChangeHandlers:Object.assign(Object.assign({},t.optionChangeHandlers),e.optionChangeHandlers),scrollGridImpl:e.scrollGridImpl||t.scrollGridImpl,listenerRefiners:Object.assign(Object.assign({},t.listenerRefiners),e.listenerRefiners),optionRefiners:Object.assign(Object.assign({},t.optionRefiners),e.optionRefiners),propSetHandlers:Object.assign(Object.assign({},t.propSetHandlers),e.propSetHandlers)}}function C1(t,e){return t===void 0?e:e===void 0?t:new Date(Math.max(t.valueOf(),e.valueOf()))}class wn extends Jr{}wn.prototype.classes={root:"fc-theme-standard",tableCellShaded:"fc-cell-shaded",buttonGroup:"fc-button-group",button:"fc-button fc-button-primary",buttonActive:"fc-button-active"};wn.prototype.baseIconClass="fc-icon";wn.prototype.iconClasses={close:"fc-icon-x",prev:"fc-icon-chevron-left",next:"fc-icon-chevron-right",prevYear:"fc-icon-chevrons-left",nextYear:"fc-icon-chevrons-right"};wn.prototype.rtlIconClasses={prev:"fc-icon-chevron-right",next:"fc-icon-chevron-left",prevYear:"fc-icon-chevrons-right",nextYear:"fc-icon-chevrons-left"};wn.prototype.iconOverrideOption="buttonIcons";wn.prototype.iconOverrideCustomButtonOption="icon";wn.prototype.iconOverridePrefix="fc-icon-";function E1(t,e){let n={},i;for(i in t)lo(i,n,t,e);for(i in e)lo(i,n,t,e);return n}function lo(t,e,n,i){if(e[t])return e[t];let s=S1(t,e,n,i);return s&&(e[t]=s),s}function S1(t,e,n,i){let s=n[t],l=i[t],u=g=>s&&s[g]!==null?s[g]:l&&l[g]!==null?l[g]:null,p=u("component"),h=u("superType"),y=null;if(h){if(h===t)throw new Error("Can't have a custom view type that references itself");y=lo(h,e,n,i)}return!p&&y&&(p=y.component),p?{type:t,component:p,defaults:Object.assign(Object.assign({},y?y.defaults:{}),s?s.rawOptions:{}),overrides:Object.assign(Object.assign({},y?y.overrides:{}),l?l.rawOptions:{})}:null}function fu(t){return qr(t,x1)}function x1(t){let e=typeof t=="function"?{component:t}:t,{component:n}=e;return e.content?n=pu(e):n&&!(n.prototype instanceof Te)&&(n=pu(Object.assign(Object.assign({},e),{content:n}))),{superType:e.type,component:n,rawOptions:e}}function pu(t){return e=>M(Zn.Consumer,null,n=>M(sn,{elTag:"div",elClasses:Ld(n.viewSpec),renderProps:Object.assign(Object.assign({},e),{nextDayThreshold:n.options.nextDayThreshold}),generatorName:void 0,customGenerator:t.content,classNameGenerator:t.classNames,didMount:t.didMount,willUnmount:t.willUnmount}))}function D1(t,e,n,i){let s=fu(t),l=fu(e.views),u=E1(s,l);return qr(u,p=>T1(p,l,e,n,i))}function T1(t,e,n,i,s){let l=t.overrides.duration||t.defaults.duration||i.duration||n.duration,u=null,p="",h="",y={};if(l&&(u=k1(l),u)){let A=to(u);p=A.unit,A.value===1&&(h=p,y=e[p]?e[p].rawOptions:{})}let g=A=>{let w=A.buttonText||{},O=t.defaults.buttonTextKey;return O!=null&&w[O]!=null?w[O]:w[t.type]!=null?w[t.type]:w[h]!=null?w[h]:null},S=A=>{let w=A.buttonHints||{},O=t.defaults.buttonTextKey;return O!=null&&w[O]!=null?w[O]:w[t.type]!=null?w[t.type]:w[h]!=null?w[h]:null};return{type:t.type,component:t.component,duration:u,durationUnit:p,singleUnit:h,optionDefaults:t.defaults,optionOverrides:Object.assign(Object.assign({},y),t.overrides),buttonTextOverride:g(i)||g(n)||t.overrides.buttonText,buttonTextDefault:g(s)||t.defaults.buttonText||g(Hr)||t.type,buttonTitleOverride:S(i)||S(n)||t.overrides.buttonHint,buttonTitleDefault:S(s)||t.defaults.buttonHint||S(Hr)}}let hu={};function k1(t){let e=JSON.stringify(t),n=hu[e];return n===void 0&&(n=ye(t),hu[e]=n),n}function R1(t,e){switch(e.type){case"CHANGE_VIEW_TYPE":t=e.viewType}return t}function O1(t,e){switch(e.type){case"SET_OPTION":return Object.assign(Object.assign({},t),{[e.optionName]:e.rawOptionValue});default:return t}}function M1(t,e,n,i){let s;switch(e.type){case"CHANGE_VIEW_TYPE":return i.build(e.dateMarker||n);case"CHANGE_DATE":return i.build(e.dateMarker);case"PREV":if(s=i.buildPrev(t,n),s.isValid)return s;break;case"NEXT":if(s=i.buildNext(t,n),s.isValid)return s;break}return t}function I1(t,e,n){let i=e?e.activeRange:null;return tf({},V1(t,n),i,n)}function N1(t,e,n,i){let s=n?n.activeRange:null;switch(e.type){case"ADD_EVENT_SOURCES":return tf(t,e.sources,s,i);case"REMOVE_EVENT_SOURCE":return P1(t,e.sourceId);case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return n?nf(t,s,i):t;case"FETCH_EVENT_SOURCES":return ko(t,e.sourceIds?md(e.sourceIds):rf(t,i),s,e.isRefetch||!1,i);case"RECEIVE_EVENTS":case"RECEIVE_EVENT_ERROR":return B1(t,e.sourceId,e.fetchId,e.fetchRange);case"REMOVE_ALL_EVENT_SOURCES":return{};default:return t}}function $1(t,e,n){let i=e?e.activeRange:null;return ko(t,rf(t,n),i,!0,n)}function ef(t){for(let e in t)if(t[e].isFetching)return!0;return!1}function tf(t,e,n,i){let s={};for(let l of e)s[l.sourceId]=l;return n&&(s=nf(s,n,i)),Object.assign(Object.assign({},t),s)}function P1(t,e){return hr(t,n=>n.sourceId!==e)}function nf(t,e,n){return ko(t,hr(t,i=>H1(i,e,n)),e,!1,n)}function H1(t,e,n){return af(t,n)?!n.options.lazyFetching||!t.fetchRange||t.isFetching||e.start<t.fetchRange.start||e.end>t.fetchRange.end:!t.latestFetchId}function ko(t,e,n,i,s){let l={};for(let u in t){let p=t[u];e[u]?l[u]=j1(p,n,i,s):l[u]=p}return l}function j1(t,e,n,i){let{options:s,calendarApi:l}=i,u=i.pluginHooks.eventSourceDefs[t.sourceDefId],p=Gn();return u.fetch({eventSource:t,range:e,isRefetch:n,context:i},h=>{let{rawEvents:y}=h;s.eventSourceSuccess&&(y=s.eventSourceSuccess.call(l,y,h.response)||y),t.success&&(y=t.success.call(l,y,h.response)||y),i.dispatch({type:"RECEIVE_EVENTS",sourceId:t.sourceId,fetchId:p,fetchRange:e,rawEvents:y})},h=>{let y=!1;s.eventSourceFailure&&(s.eventSourceFailure.call(l,h),y=!0),t.failure&&(t.failure(h),y=!0),y||console.warn(h.message,h),i.dispatch({type:"RECEIVE_EVENT_ERROR",sourceId:t.sourceId,fetchId:p,fetchRange:e,error:h})}),Object.assign(Object.assign({},t),{isFetching:!0,latestFetchId:p})}function B1(t,e,n,i){let s=t[e];return s&&n===s.latestFetchId?Object.assign(Object.assign({},t),{[e]:Object.assign(Object.assign({},s),{isFetching:!1,fetchRange:i})}):t}function rf(t,e){return hr(t,n=>af(n,e))}function V1(t,e){let n=kd(e),i=[].concat(t.eventSources||[]),s=[];t.initialEvents&&i.unshift(t.initialEvents),t.events&&i.unshift(t.events);for(let l of i){let u=Td(l,e,n);u&&s.push(u)}return s}function af(t,e){return!e.pluginHooks.eventSourceDefs[t.sourceDefId].ignoreRange}function F1(t,e){switch(e.type){case"UNSELECT_DATES":return null;case"SELECT_DATES":return e.selection;default:return t}}function U1(t,e){switch(e.type){case"UNSELECT_EVENT":return"";case"SELECT_EVENT":return e.eventInstanceId;default:return t}}function z1(t,e){let n;switch(e.type){case"UNSET_EVENT_DRAG":return null;case"SET_EVENT_DRAG":return n=e.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return t}}function W1(t,e){let n;switch(e.type){case"UNSET_EVENT_RESIZE":return null;case"SET_EVENT_RESIZE":return n=e.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return t}}function G1(t,e,n,i,s){let l=t.headerToolbar?vu(t.headerToolbar,t,e,n,i,s):null,u=t.footerToolbar?vu(t.footerToolbar,t,e,n,i,s):null;return{header:l,footer:u}}function vu(t,e,n,i,s,l){let u={},p=[],h=!1;for(let y in t){let g=t[y],S=Z1(g,e,n,i,s,l);u[y]=S.widgets,p.push(...S.viewsWithButtons),h=h||S.hasTitle}return{sectionWidgets:u,viewsWithButtons:p,hasTitle:h}}function Z1(t,e,n,i,s,l){let u=e.direction==="rtl",p=e.customButtons||{},h=n.buttonText||{},y=e.buttonText||{},g=n.buttonHints||{},S=e.buttonHints||{},A=t?t.split(" "):[],w=[],O=!1;return{widgets:A.map($=>$.split(",").map(H=>{if(H==="title")return O=!0,{buttonName:H};let V,Q,E,X,z,q;if(V=p[H])E=Y=>{V.click&&V.click.call(Y.target,Y,Y.target)},(X=i.getCustomButtonIconClass(V))||(X=i.getIconClass(H,u))||(z=V.text),q=V.hint||V.text;else if(Q=s[H]){w.push(H),E=()=>{l.changeView(H)},(z=Q.buttonTextOverride)||(X=i.getIconClass(H,u))||(z=Q.buttonTextDefault);let Y=Q.buttonTextOverride||Q.buttonTextDefault;q=Pr(Q.buttonTitleOverride||Q.buttonTitleDefault||e.viewHint,[Y,H],Y)}else if(l[H])if(E=()=>{l[H]()},(z=h[H])||(X=i.getIconClass(H,u))||(z=y[H]),H==="prevYear"||H==="nextYear"){let Y=H==="prevYear"?"prev":"next";q=Pr(g[Y]||S[Y],[y.year||"year","year"],y[H])}else q=Y=>Pr(g[H]||S[H],[y[Y]||Y,Y],y[H]);return{buttonName:H,buttonClick:E,buttonIcon:X,buttonText:z,buttonHint:q}})),viewsWithButtons:w,hasTitle:O}}class Y1{constructor(e,n,i){this.type=e,this.getCurrentData=n,this.dateEnv=i}get calendar(){return this.getCurrentData().calendarApi}get title(){return this.getCurrentData().viewTitle}get activeStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start)}get activeEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end)}get currentStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start)}get currentEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end)}getOption(e){return this.getCurrentData().options[e]}}let Q1={ignoreRange:!0,parseMeta(t){return Array.isArray(t.events)?t.events:null},fetch(t,e){e({rawEvents:t.eventSource.meta})}};const q1=qn({name:"array-event-source",eventSourceDefs:[Q1]});let J1={parseMeta(t){return typeof t.events=="function"?t.events:null},fetch(t,e,n){const{dateEnv:i}=t.context,s=t.eventSource.meta;vm(s.bind(null,Hd(t.range,i)),l=>e({rawEvents:l}),n)}};const K1=qn({name:"func-event-source",eventSourceDefs:[J1]}),X1={method:String,extraParams:I,startParam:String,endParam:String,timeZoneParam:String};let ey={parseMeta(t){return t.url&&(t.format==="json"||!t.format)?{url:t.url,format:"json",method:(t.method||"GET").toUpperCase(),extraParams:t.extraParams,startParam:t.startParam,endParam:t.endParam,timeZoneParam:t.timeZoneParam}:null},fetch(t,e,n){const{meta:i}=t.eventSource,s=ny(i,t.range,t.context);gm(i.method,i.url,s).then(([l,u])=>{e({rawEvents:l,response:u})},n)}};const ty=qn({name:"json-event-source",eventSourceRefiners:X1,eventSourceDefs:[ey]});function ny(t,e,n){let{dateEnv:i,options:s}=n,l,u,p,h,y={};return l=t.startParam,l==null&&(l=s.startParam),u=t.endParam,u==null&&(u=s.endParam),p=t.timeZoneParam,p==null&&(p=s.timeZoneParam),typeof t.extraParams=="function"?h=t.extraParams():h=t.extraParams||{},Object.assign(y,h),y[l]=i.formatIso(e.start),y[u]=i.formatIso(e.end),i.timeZone!=="local"&&(y[p]=i.timeZone),y}const ry={daysOfWeek:I,startTime:ye,endTime:ye,duration:ye,startRecur:I,endRecur:I};let iy={parse(t,e){if(t.daysOfWeek||t.startTime||t.endTime||t.startRecur||t.endRecur){let n={daysOfWeek:t.daysOfWeek||null,startTime:t.startTime||null,endTime:t.endTime||null,startRecur:t.startRecur?e.createMarker(t.startRecur):null,endRecur:t.endRecur?e.createMarker(t.endRecur):null},i;return t.duration&&(i=t.duration),!i&&t.startTime&&t.endTime&&(i=Av(t.endTime,t.startTime)),{allDayGuess:!t.startTime&&!t.endTime,duration:i,typeData:n}}return null},expand(t,e,n){let i=vr(e,{start:t.startRecur,end:t.endRecur});return i?sy(t.daysOfWeek,t.startTime,i,n):[]}};const ay=qn({name:"simple-recurring-event",recurringTypes:[iy],eventRefiners:ry});function sy(t,e,n,i){let s=t?md(t):null,l=De(n.start),u=n.end,p=[];for(;l<u;){let h;(!s||s[l.getUTCDay()])&&(e?h=i.add(l,e):h=l,p.push(h)),l=Ye(l,1)}return p}const oy=qn({name:"change-handler",optionChangeHandlers:{events(t,e){gu([t],e)},eventSources:gu}});function gu(t,e){let n=_o(e.getCurrentData().eventSources);if(n.length===1&&t.length===1&&Array.isArray(n[0]._raw)&&Array.isArray(t[0])){e.dispatch({type:"RESET_RAW_EVENTS",sourceId:n[0].sourceId,rawEvents:t[0]});return}let i=[];for(let s of t){let l=!1;for(let u=0;u<n.length;u+=1)if(n[u]._raw===s){n.splice(u,1),l=!0;break}l||i.push(s)}for(let s of n)e.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:s.sourceId});for(let s of i)e.calendarApi.addEventSource(s)}function ly(t,e){e.emitter.trigger("datesSet",Object.assign(Object.assign({},Hd(t.activeRange,e.dateEnv)),{view:e.viewApi}))}function cy(t,e){let{emitter:n}=e;n.hasHandlers("eventsSet")&&n.trigger("eventsSet",So(t,e))}const uy=[q1,K1,ty,ay,oy,qn({name:"misc",isLoadingFuncs:[t=>ef(t.eventSources)],propSetHandlers:{dateProfile:ly,eventStore:cy}})];class dy{constructor(e,n){this.runTaskOption=e,this.drainedOption=n,this.queue=[],this.delayedRunner=new vo(this.drain.bind(this))}request(e,n){this.queue.push(e),this.delayedRunner.request(n)}pause(e){this.delayedRunner.pause(e)}resume(e,n){this.delayedRunner.resume(e,n)}drain(){let{queue:e}=this;for(;e.length;){let n=[],i;for(;i=e.shift();)this.runTask(i),n.push(i);this.drained(n)}}runTask(e){this.runTaskOption&&this.runTaskOption(e)}drained(e){this.drainedOption&&this.drainedOption(e)}}function fy(t,e,n){let i;return/^(year|month)$/.test(t.currentRangeUnit)?i=t.currentRange:i=t.activeRange,n.formatRange(i.start,i.end,Be(e.titleFormat||py(t)),{isEndExclusive:t.isRangeAllDay,defaultSeparator:e.titleRangeSeparator})}function py(t){let{currentRangeUnit:e}=t;if(e==="year")return{year:"numeric"};if(e==="month")return{year:"numeric",month:"long"};let n=ea(t.currentRange.start,t.currentRange.end);return n!==null&&n>1?{year:"numeric",month:"short",day:"numeric"}:{year:"numeric",month:"long",day:"numeric"}}class hy{constructor(e){this.computeCurrentViewData=ve(this._computeCurrentViewData),this.organizeRawLocales=ve(y1),this.buildLocale=ve(Kd),this.buildPluginHooks=L1(),this.buildDateEnv=ve(vy),this.buildTheme=ve(gy),this.parseToolbars=ve(G1),this.buildViewSpecs=ve(D1),this.buildDateProfileGenerator=Zi(my),this.buildViewApi=ve(yy),this.buildViewUiProps=Zi(wy),this.buildEventUiBySource=ve(by,jt),this.buildEventUiBases=ve(_y),this.parseContextBusinessHours=Zi(Ly),this.buildTitle=ve(fy),this.emitter=new Wg,this.actionRunner=new dy(this._handleAction.bind(this),this.updateData.bind(this)),this.currentCalendarOptionsInput={},this.currentCalendarOptionsRefined={},this.currentViewOptionsInput={},this.currentViewOptionsRefined={},this.currentCalendarOptionsRefiners={},this.optionsForRefining=[],this.optionsForHandling=[],this.getCurrentData=()=>this.data,this.dispatch=A=>{this.actionRunner.request(A)},this.props=e,this.actionRunner.pause();let n={},i=this.computeOptionsData(e.optionOverrides,n,e.calendarApi),s=i.calendarOptions.initialView||i.pluginHooks.initialView,l=this.computeCurrentViewData(s,i,e.optionOverrides,n);e.calendarApi.currentDataManager=this,this.emitter.setThisContext(e.calendarApi),this.emitter.setOptions(l.options);let u=Eg(i.calendarOptions,i.dateEnv),p=l.dateProfileGenerator.build(u);yn(p.activeRange,u)||(u=p.currentRange.start);let h={dateEnv:i.dateEnv,options:i.calendarOptions,pluginHooks:i.pluginHooks,calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData};for(let A of i.pluginHooks.contextInit)A(h);let y=I1(i.calendarOptions,p,h),g={dynamicOptionOverrides:n,currentViewType:s,currentDate:u,dateProfile:p,businessHours:this.parseContextBusinessHours(h),eventSources:y,eventUiBases:{},eventStore:zn(),renderableEventStore:zn(),dateSelection:null,eventSelection:"",eventDrag:null,eventResize:null,selectionConfig:this.buildViewUiProps(h).selectionConfig},S=Object.assign(Object.assign({},h),g);for(let A of i.pluginHooks.reducers)Object.assign(g,A(null,null,S));Zs(g,h)&&this.emitter.trigger("loading",!0),this.state=g,this.updateData(),this.actionRunner.resume()}resetOptions(e,n){let{props:i}=this;n===void 0?i.optionOverrides=e:(i.optionOverrides=Object.assign(Object.assign({},i.optionOverrides||{}),e),this.optionsForRefining.push(...n)),(n===void 0||n.length)&&this.actionRunner.request({type:"NOTHING"})}_handleAction(e){let{props:n,state:i,emitter:s}=this,l=O1(i.dynamicOptionOverrides,e),u=this.computeOptionsData(n.optionOverrides,l,n.calendarApi),p=R1(i.currentViewType,e),h=this.computeCurrentViewData(p,u,n.optionOverrides,l);n.calendarApi.currentDataManager=this,s.setThisContext(n.calendarApi),s.setOptions(h.options);let y={dateEnv:u.dateEnv,options:u.calendarOptions,pluginHooks:u.pluginHooks,calendarApi:n.calendarApi,dispatch:this.dispatch,emitter:s,getCurrentData:this.getCurrentData},{currentDate:g,dateProfile:S}=i;this.data&&this.data.dateProfileGenerator!==h.dateProfileGenerator&&(S=h.dateProfileGenerator.build(g)),g=Cg(g,e),S=M1(S,e,g,h.dateProfileGenerator),(e.type==="PREV"||e.type==="NEXT"||!yn(S.currentRange,g))&&(g=S.currentRange.start);let A=N1(i.eventSources,e,S,y),w=Bg(i.eventStore,e,A,S,y),B=ef(A)&&!h.options.progressiveEventRendering&&i.renderableEventStore||w,{eventUiSingleBase:$,selectionConfig:H}=this.buildViewUiProps(y),V=this.buildEventUiBySource(A),Q=this.buildEventUiBases(B.defs,$,V),E={dynamicOptionOverrides:l,currentViewType:p,currentDate:g,dateProfile:S,eventSources:A,eventStore:w,renderableEventStore:B,selectionConfig:H,eventUiBases:Q,businessHours:this.parseContextBusinessHours(y),dateSelection:F1(i.dateSelection,e),eventSelection:U1(i.eventSelection,e),eventDrag:z1(i.eventDrag,e),eventResize:W1(i.eventResize,e)},X=Object.assign(Object.assign({},y),E);for(let Y of u.pluginHooks.reducers)Object.assign(E,Y(i,e,X));let z=Zs(i,y),q=Zs(E,y);!z&&q?s.trigger("loading",!0):z&&!q&&s.trigger("loading",!1),this.state=E,n.onAction&&n.onAction(e)}updateData(){let{props:e,state:n}=this,i=this.data,s=this.computeOptionsData(e.optionOverrides,n.dynamicOptionOverrides,e.calendarApi),l=this.computeCurrentViewData(n.currentViewType,s,e.optionOverrides,n.dynamicOptionOverrides),u=this.data=Object.assign(Object.assign(Object.assign({viewTitle:this.buildTitle(n.dateProfile,l.options,s.dateEnv),calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},s),l),n),p=s.pluginHooks.optionChangeHandlers,h=i&&i.calendarOptions,y=s.calendarOptions;if(h&&h!==y){h.timeZone!==y.timeZone&&(n.eventSources=u.eventSources=$1(u.eventSources,n.dateProfile,u),n.eventStore=u.eventStore=tu(u.eventStore,i.dateEnv,u.dateEnv),n.renderableEventStore=u.renderableEventStore=tu(u.renderableEventStore,i.dateEnv,u.dateEnv));for(let g in p)(this.optionsForHandling.indexOf(g)!==-1||h[g]!==y[g])&&p[g](y[g],u)}this.optionsForHandling=[],e.onData&&e.onData(u)}computeOptionsData(e,n,i){if(!this.optionsForRefining.length&&e===this.stableOptionOverrides&&n===this.stableDynamicOptionOverrides)return this.stableCalendarOptionsData;let{refinedOptions:s,pluginHooks:l,localeDefaults:u,availableLocaleData:p,extra:h}=this.processRawCalendarOptions(e,n);mu(h);let y=this.buildDateEnv(s.timeZone,s.locale,s.weekNumberCalculation,s.firstDay,s.weekText,l,p,s.defaultRangeSeparator),g=this.buildViewSpecs(l.views,this.stableOptionOverrides,this.stableDynamicOptionOverrides,u),S=this.buildTheme(s,l),A=this.parseToolbars(s,this.stableOptionOverrides,S,g,i);return this.stableCalendarOptionsData={calendarOptions:s,pluginHooks:l,dateEnv:y,viewSpecs:g,theme:S,toolbarConfig:A,localeDefaults:u,availableRawLocales:p.map}}processRawCalendarOptions(e,n){let{locales:i,locale:s}=Vs([Hr,e,n]),l=this.organizeRawLocales(i),u=l.map,p=this.buildLocale(s||l.defaultCode,u).options,h=this.buildPluginHooks(e.plugins||[],uy),y=this.currentCalendarOptionsRefiners=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Yc),Qc),qc),h.listenerRefiners),h.optionRefiners),g={},S=Vs([Hr,p,e,n]),A={},w=this.currentCalendarOptionsInput,O=this.currentCalendarOptionsRefined,B=!1;for(let $ in S)this.optionsForRefining.indexOf($)===-1&&(S[$]===w[$]||$n[$]&&$ in w&&$n[$](w[$],S[$]))?A[$]=O[$]:y[$]?(A[$]=y[$](S[$]),B=!0):g[$]=w[$];return B&&(this.currentCalendarOptionsInput=S,this.currentCalendarOptionsRefined=A,this.stableOptionOverrides=e,this.stableDynamicOptionOverrides=n),this.optionsForHandling.push(...this.optionsForRefining),this.optionsForRefining=[],{rawOptions:this.currentCalendarOptionsInput,refinedOptions:this.currentCalendarOptionsRefined,pluginHooks:h,availableLocaleData:l,localeDefaults:p,extra:g}}_computeCurrentViewData(e,n,i,s){let l=n.viewSpecs[e];if(!l)throw new Error(`viewType "${e}" is not available. Please make sure you've loaded all neccessary plugins`);let{refinedOptions:u,extra:p}=this.processRawViewOptions(l,n.pluginHooks,n.localeDefaults,i,s);mu(p);let h=this.buildDateProfileGenerator({dateProfileGeneratorClass:l.optionDefaults.dateProfileGeneratorClass,duration:l.duration,durationUnit:l.durationUnit,usesMinMaxTime:l.optionDefaults.usesMinMaxTime,dateEnv:n.dateEnv,calendarApi:this.props.calendarApi,slotMinTime:u.slotMinTime,slotMaxTime:u.slotMaxTime,showNonCurrentDates:u.showNonCurrentDates,dayCount:u.dayCount,dateAlignment:u.dateAlignment,dateIncrement:u.dateIncrement,hiddenDays:u.hiddenDays,weekends:u.weekends,nowInput:u.now,validRangeInput:u.validRange,visibleRangeInput:u.visibleRange,fixedWeekCount:u.fixedWeekCount}),y=this.buildViewApi(e,this.getCurrentData,n.dateEnv);return{viewSpec:l,options:u,dateProfileGenerator:h,viewApi:y}}processRawViewOptions(e,n,i,s,l){let u=Vs([Hr,e.optionDefaults,i,s,e.optionOverrides,l]),p=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Yc),Qc),qc),tg),n.listenerRefiners),n.optionRefiners),h={},y=this.currentViewOptionsInput,g=this.currentViewOptionsRefined,S=!1,A={};for(let w in u)u[w]===y[w]||$n[w]&&$n[w](u[w],y[w])?h[w]=g[w]:(u[w]===this.currentCalendarOptionsInput[w]||$n[w]&&$n[w](u[w],this.currentCalendarOptionsInput[w])?w in this.currentCalendarOptionsRefined&&(h[w]=this.currentCalendarOptionsRefined[w]):p[w]?h[w]=p[w](u[w]):A[w]=u[w],S=!0);return S&&(this.currentViewOptionsInput=u,this.currentViewOptionsRefined=h),{rawOptions:this.currentViewOptionsInput,refinedOptions:this.currentViewOptionsRefined,extra:A}}}function vy(t,e,n,i,s,l,u,p){let h=Kd(e||u.defaultCode,u.map);return new dg({calendarSystem:"gregory",timeZone:t,namedTimeZoneImpl:l.namedTimeZonedImpl,locale:h,weekNumberCalculation:n,firstDay:i,weekText:s,cmdFormatter:l.cmdFormatter,defaultSeparator:p})}function gy(t,e){let n=e.themeClasses[t.themeSystem]||wn;return new n(t)}function my(t){let e=t.dateProfileGeneratorClass||Ed;return new e(t)}function yy(t,e,n){return new Y1(t,e,n)}function by(t){return qr(t,e=>e.ui)}function _y(t,e,n){let i={"":e};for(let s in t){let l=t[s];l.sourceId&&n[l.sourceId]&&(i[s]=n[l.sourceId])}return i}function wy(t){let{options:e}=t;return{eventUiSingleBase:sa({display:e.eventDisplay,editable:e.editable,startEditable:e.eventStartEditable,durationEditable:e.eventDurationEditable,constraint:e.eventConstraint,overlap:typeof e.eventOverlap=="boolean"?e.eventOverlap:void 0,allow:e.eventAllow,backgroundColor:e.eventBackgroundColor,borderColor:e.eventBorderColor,textColor:e.eventTextColor,color:e.eventColor},t),selectionConfig:sa({constraint:e.selectConstraint,overlap:typeof e.selectOverlap=="boolean"?e.selectOverlap:void 0,allow:e.selectAllow},t)}}function Zs(t,e){for(let n of e.pluginHooks.isLoadingFuncs)if(n(t))return!0;return!1}function Ly(t){return Qg(t.options.businessHours,t)}function mu(t,e){for(let n in t)console.warn(`Unknown option '${n}'`+(e?` for view '${e}'`:""))}class Ay extends Te{render(){let e=this.props.widgetGroups.map(n=>this.renderWidgetGroup(n));return M("div",{className:"fc-toolbar-chunk"},...e)}renderWidgetGroup(e){let{props:n}=this,{theme:i}=this.context,s=[],l=!0;for(let u of e){let{buttonName:p,buttonClick:h,buttonText:y,buttonIcon:g,buttonHint:S}=u;if(p==="title")l=!1,s.push(M("h2",{className:"fc-toolbar-title",id:n.titleId},n.title));else{let A=p===n.activeButton,w=!n.isTodayEnabled&&p==="today"||!n.isPrevEnabled&&p==="prev"||!n.isNextEnabled&&p==="next",O=[`fc-${p}-button`,i.getClass("button")];A&&O.push(i.getClass("buttonActive")),s.push(M("button",{type:"button",title:typeof S=="function"?S(n.navUnit):S,disabled:w,"aria-pressed":A,className:O.join(" "),onClick:h},y||(g?M("span",{className:g,role:"img"}):"")))}}if(s.length>1){let u=l&&i.getClass("buttonGroup")||"";return M("div",{className:u},...s)}return s[0]}}class yu extends Te{render(){let{model:e,extraClassName:n}=this.props,i=!1,s,l,u=e.sectionWidgets,p=u.center;return u.left?(i=!0,s=u.left):s=u.start,u.right?(i=!0,l=u.right):l=u.end,M("div",{className:[n||"","fc-toolbar",i?"fc-toolbar-ltr":""].join(" ")},this.renderSection("start",s||[]),this.renderSection("center",p||[]),this.renderSection("end",l||[]))}renderSection(e,n){let{props:i}=this;return M(Ay,{key:e,widgetGroups:n,title:i.title,navUnit:i.navUnit,activeButton:i.activeButton,isTodayEnabled:i.isTodayEnabled,isPrevEnabled:i.isPrevEnabled,isNextEnabled:i.isNextEnabled,titleId:i.titleId})}}class Cy extends Te{constructor(){super(...arguments),this.state={availableWidth:null},this.handleEl=e=>{this.el=e,rn(this.props.elRef,e),this.updateAvailableWidth()},this.handleResize=()=>{this.updateAvailableWidth()}}render(){let{props:e,state:n}=this,{aspectRatio:i}=e,s=["fc-view-harness",i||e.liquid||e.height?"fc-view-harness-active":"fc-view-harness-passive"],l="",u="";return i?n.availableWidth!==null?l=n.availableWidth/i:u=`${1/i*100}%`:l=e.height||"",M("div",{"aria-labelledby":e.labeledById,ref:this.handleEl,className:s.join(" "),style:{height:l,paddingBottom:u}},e.children)}componentDidMount(){this.context.addResizeHandler(this.handleResize)}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}updateAvailableWidth(){this.el&&this.props.aspectRatio&&this.setState({availableWidth:this.el.offsetWidth})}}class Ey extends Vd{constructor(e){super(e),this.handleSegClick=(n,i)=>{let{component:s}=this,{context:l}=s,u=so(i);if(u&&s.isValidSegDownEl(n.target)){let p=tn(n.target,".fc-event-forced-url"),h=p?p.querySelector("a[href]").href:"";l.emitter.trigger("eventClick",{el:i,event:new bt(s.context,u.eventRange.def,u.eventRange.instance),jsEvent:n,view:l.viewApi}),h&&!n.defaultPrevented&&(window.location.href=h)}},this.destroy=pd(e.el,"click",".fc-event",this.handleSegClick)}}class Sy extends Vd{constructor(e){super(e),this.handleEventElRemove=n=>{n===this.currentSegEl&&this.handleSegLeave(null,this.currentSegEl)},this.handleSegEnter=(n,i)=>{so(i)&&(this.currentSegEl=i,this.triggerEvent("eventMouseEnter",n,i))},this.handleSegLeave=(n,i)=>{this.currentSegEl&&(this.currentSegEl=null,this.triggerEvent("eventMouseLeave",n,i))},this.removeHoverListeners=hv(e.el,".fc-event",this.handleSegEnter,this.handleSegLeave)}destroy(){this.removeHoverListeners()}triggerEvent(e,n,i){let{component:s}=this,{context:l}=s,u=so(i);(!n||s.isValidSegDownEl(n.target))&&l.emitter.trigger(e,{el:i,event:new bt(l,u.eventRange.def,u.eventRange.instance),jsEvent:n,view:l.viewApi})}}class xy extends Yn{constructor(){super(...arguments),this.buildViewContext=ve(hg),this.buildViewPropTransformers=ve(Ty),this.buildToolbarProps=ve(Dy),this.headerRef=nn(),this.footerRef=nn(),this.interactionsStore={},this.state={viewLabelId:pa()},this.registerInteractiveComponent=(e,n)=>{let i=bm(e,n),u=[Ey,Sy].concat(this.props.pluginHooks.componentInteractions).map(p=>new p(i));this.interactionsStore[e.uid]=u,su[e.uid]=i},this.unregisterInteractiveComponent=e=>{let n=this.interactionsStore[e.uid];if(n){for(let i of n)i.destroy();delete this.interactionsStore[e.uid]}delete su[e.uid]},this.resizeRunner=new vo(()=>{this.props.emitter.trigger("_resize",!0),this.props.emitter.trigger("windowResize",{view:this.props.viewApi})}),this.handleWindowResize=e=>{let{options:n}=this.props;n.handleWindowResize&&e.target===window&&this.resizeRunner.request(n.windowResizeDelay)}}render(){let{props:e}=this,{toolbarConfig:n,options:i}=e,s=this.buildToolbarProps(e.viewSpec,e.dateProfile,e.dateProfileGenerator,e.currentDate,Kr(e.options.now,e.dateEnv),e.viewTitle),l=!1,u="",p;e.isHeightAuto||e.forPrint?u="":i.height!=null?l=!0:i.contentHeight!=null?u=i.contentHeight:p=Math.max(i.aspectRatio,.5);let h=this.buildViewContext(e.viewSpec,e.viewApi,e.options,e.dateProfileGenerator,e.dateEnv,e.theme,e.pluginHooks,e.dispatch,e.getCurrentData,e.emitter,e.calendarApi,this.registerInteractiveComponent,this.unregisterInteractiveComponent),y=n.header&&n.header.hasTitle?this.state.viewLabelId:void 0;return M(Zn.Provider,{value:h},n.header&&M(yu,Object.assign({ref:this.headerRef,extraClassName:"fc-header-toolbar",model:n.header,titleId:y},s)),M(Cy,{liquid:l,height:u,aspectRatio:p,labeledById:y},this.renderView(e),this.buildAppendContent()),n.footer&&M(yu,Object.assign({ref:this.footerRef,extraClassName:"fc-footer-toolbar",model:n.footer,titleId:""},s)))}componentDidMount(){let{props:e}=this;this.calendarInteractions=e.pluginHooks.calendarInteractions.map(i=>new i(e)),window.addEventListener("resize",this.handleWindowResize);let{propSetHandlers:n}=e.pluginHooks;for(let i in n)n[i](e[i],e)}componentDidUpdate(e){let{props:n}=this,{propSetHandlers:i}=n.pluginHooks;for(let s in i)n[s]!==e[s]&&i[s](n[s],n)}componentWillUnmount(){window.removeEventListener("resize",this.handleWindowResize),this.resizeRunner.clear();for(let e of this.calendarInteractions)e.destroy();this.props.emitter.trigger("_unmount")}buildAppendContent(){let{props:e}=this,n=e.pluginHooks.viewContainerAppends.map(i=>i(e));return M(Ie,{},...n)}renderView(e){let{pluginHooks:n}=e,{viewSpec:i}=e,s={dateProfile:e.dateProfile,businessHours:e.businessHours,eventStore:e.renderableEventStore,eventUiBases:e.eventUiBases,dateSelection:e.dateSelection,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,isHeightAuto:e.isHeightAuto,forPrint:e.forPrint},l=this.buildViewPropTransformers(n.viewPropsTransformers);for(let p of l)Object.assign(s,p.transform(s,e));let u=i.component;return M(u,Object.assign({},s))}}function Dy(t,e,n,i,s,l){let u=n.build(s,void 0,!1),p=n.buildPrev(e,i,!1),h=n.buildNext(e,i,!1);return{title:l,activeButton:t.type,navUnit:t.singleUnit,isTodayEnabled:u.isValid&&!yn(e.currentRange,s),isPrevEnabled:p.isValid,isNextEnabled:h.isValid}}function Ty(t){return t.map(e=>new e)}class ky extends _m{constructor(e,n={}){super(),this.isRendering=!1,this.isRendered=!1,this.currentClassNames=[],this.customContentRenderId=0,this.handleAction=i=>{switch(i.type){case"SET_EVENT_DRAG":case"SET_EVENT_RESIZE":this.renderRunner.tryDrain()}},this.handleData=i=>{this.currentData=i,this.renderRunner.request(i.calendarOptions.rerenderDelay)},this.handleRenderRequest=()=>{if(this.isRendering){this.isRendered=!0;let{currentData:i}=this;ia(()=>{Wr(M(ym,{options:i.calendarOptions,theme:i.theme,emitter:i.emitter},(s,l,u,p)=>(this.setClassNames(s),this.setHeight(l),M(wd.Provider,{value:this.customContentRenderId},M(xy,Object.assign({isHeightAuto:u,forPrint:p},i))))),this.el)})}else this.isRendered&&(this.isRendered=!1,Wr(null,this.el),this.setClassNames([]),this.setHeight(""))},nv(e),this.el=e,this.renderRunner=new vo(this.handleRenderRequest),new hy({optionOverrides:n,calendarApi:this,onAction:this.handleAction,onData:this.handleData})}render(){let e=this.isRendering;e?this.customContentRenderId+=1:this.isRendering=!0,this.renderRunner.request(),e&&this.updateSize()}destroy(){this.isRendering&&(this.isRendering=!1,this.renderRunner.request())}updateSize(){ia(()=>{super.updateSize()})}batchRendering(e){this.renderRunner.pause("batchRendering"),e(),this.renderRunner.resume("batchRendering")}pauseRendering(){this.renderRunner.pause("pauseRendering")}resumeRendering(){this.renderRunner.resume("pauseRendering",!0)}resetOptions(e,n){this.currentDataManager.resetOptions(e,n)}setClassNames(e){if(!bn(e,this.currentClassNames)){let{classList:n}=this.el;for(let i of this.currentClassNames)n.remove(i);for(let i of e)n.add(i);this.currentClassNames=e}}setHeight(e){fd(this.el,"height",e)}}const Ry={headerToolbar:!0,footerToolbar:!0,events:!0,eventSources:!0,resources:!0},ji=typeof document!="undefined"?document.createDocumentFragment():null,Oy=Oe.extend({render(t){return t("aside",{style:{display:"none"}},this.$slots.default||[])},mounted(){ji&&ji.appendChild(this.$el)},beforeDestroy(){ji&&ji.removeChild(this.$el)}}),My=Oy,Bn=typeof document!="undefined"?document.createDocumentFragment():null,Iy=Oe.extend({props:{inPlaceOf:typeof Element!="undefined"?Element:Object,reportEl:Function,elTag:String,elClasses:Array,elStyle:Object,elAttrs:Object},render(t){return t(this.elTag,{class:this.elClasses,style:this.elStyle,attrs:this.elAttrs},this.$slots.default||[])},mounted(){bu(this.$el,this.inPlaceOf),this.inPlaceOf.style.display="none",this.reportEl(this.$el)},updated(){Bn&&this.inPlaceOf.parentNode!==Bn&&(bu(this.$el,this.inPlaceOf),this.reportEl(this.$el))},beforeDestroy(){Bn&&this.inPlaceOf.parentNode===Bn&&Bn.removeChild(this.inPlaceOf),this.reportEl(null)}}),Ny=Iy;function bu(t,e){var n;(n=e.parentNode)===null||n===void 0||n.insertBefore(t,e.nextSibling),Bn&&Bn.appendChild(e)}const $y=Oe.extend({props:{options:Object},data(){return{renderId:0,customRenderingMap:new Map}},methods:{getApi(){return this.calendar},buildOptions(t){return Object.assign(Object.assign({},t),{customRenderingMetaMap:Hy(this.$scopedSlots),handleCustomRendering:this.handleCustomRendering,customRenderingReplaces:!0})}},render(t){const e=[];for(const n of this.customRenderingMap.values()){const i=typeof n.generatorMeta=="function"?n.generatorMeta(n.renderProps):n.generatorMeta;e.push(t("div",{key:n.id},[t(Ny,{key:n.id,props:{inPlaceOf:n.containerEl,reportEl:n.reportNewContainerEl,elTag:n.elTag,elClasses:n.elClasses,elStyle:n.elStyle,elAttrs:n.elAttrs}},i)]))}return t("div",{attrs:{"data-fc-render-id":this.renderId}},[t(My,e)])},mounted(){const t=new g1;this.handleCustomRendering=t.handle.bind(t);const e=this.buildOptions(this.options),n=new ky(this.$el,e);this.calendar=n,n.render(),t.subscribe(i=>{this.customRenderingMap=i,this.renderId++,this.needCustomRenderingResize=!0})},beforeUpdate(){this.getApi().resumeRendering()},updated(){this.needCustomRenderingResize&&(this.needCustomRenderingResize=!1,this.getApi().updateSize())},beforeDestroy(){this.getApi().destroy()},watch:Py()}),sf=$y;function Py(){let t={options:{deep:!0,handler(e){let n=this.getApi();n.pauseRendering();let i=this.buildOptions(e);n.resetOptions(i),this.renderId++}}};for(let e in Ry)t[`options.${e}`]={deep:!0,handler(n){if(n!==void 0){let i=this.getApi();i.pauseRendering(),i.resetOptions({[e]:n},[e]),this.renderId++}}};return t}function Hy(t){const e={};for(const n in t)e[jy(n)]=t[n];return e}function jy(t){return t.split("-").map((e,n)=>n?By(e):e).join("")}function By(t){return t.charAt(0).toUpperCase()+t.slice(1)}let _u=!1;function Vy(t){_u||(_u=!0,t.component("FullCalendar",sf))}let la;typeof globalThis!="undefined"?la=globalThis.Vue:la=window.Vue;la&&la.use({install:Vy});class Fy extends Qn{constructor(){super(...arguments),this.headerElRef=nn()}renderSimpleLayout(e,n){let{props:i,context:s}=this,l=[],u=uu(s.options);return e&&l.push({type:"header",key:"header",isSticky:u,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),l.push({type:"body",key:"body",liquid:!0,chunk:{content:n}}),M(Jc,{elClasses:["fc-daygrid"],viewSpec:s.viewSpec},M(Zd,{liquid:!i.isHeightAuto&&!i.forPrint,collapsibleWidth:i.forPrint,cols:[],sections:l}))}renderHScrollLayout(e,n,i,s){let l=this.context.pluginHooks.scrollGridImpl;if(!l)throw new Error("No ScrollGrid implementation");let{props:u,context:p}=this,h=!u.forPrint&&uu(p.options),y=!u.forPrint&&qm(p.options),g=[];return e&&g.push({type:"header",key:"header",isSticky:h,chunks:[{key:"main",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),g.push({type:"body",key:"body",liquid:!0,chunks:[{key:"main",content:n}]}),y&&g.push({type:"footer",key:"footer",isSticky:!0,chunks:[{key:"main",content:Qm}]}),M(Jc,{elClasses:["fc-daygrid"],viewSpec:p.viewSpec},M(l,{liquid:!u.isHeightAuto&&!u.forPrint,forPrint:u.forPrint,collapsibleWidth:u.forPrint,colGroups:[{cols:[{span:i,minWidth:s}]}],sections:g}))}}function Bi(t,e){let n=[];for(let i=0;i<e;i+=1)n[i]=[];for(let i of t)n[i.row].push(i);return n}function Vi(t,e){let n=[];for(let i=0;i<e;i+=1)n[i]=[];for(let i of t)n[i.firstCol].push(i);return n}function wu(t,e){let n=[];if(t){for(let i=0;i<e;i+=1)n[i]={affectedInstances:t.affectedInstances,isEvent:t.isEvent,segs:[]};for(let i of t.segs)n[i.row].segs.push(i)}else for(let i=0;i<e;i+=1)n[i]=null;return n}const of=Be({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"narrow"});function lf(t){let{display:e}=t.eventRange.ui;return e==="list-item"||e==="auto"&&!t.eventRange.def.allDay&&t.firstCol===t.lastCol&&t.isStart&&t.isEnd}class cf extends Te{render(){let{props:e}=this;return M(Km,Object.assign({},e,{elClasses:["fc-daygrid-event","fc-daygrid-block-event","fc-h-event"],defaultTimeFormat:of,defaultDisplayEventEnd:e.defaultDisplayEventEnd,disableResizing:!e.seg.eventRange.def.allDay}))}}class uf extends Te{render(){let{props:e,context:n}=this,{options:i}=n,{seg:s}=e,l=i.eventTimeFormat||of,u=$d(s,l,n,!0,e.defaultDisplayEventEnd);return M(To,Object.assign({},e,{elTag:"a",elClasses:["fc-daygrid-event","fc-daygrid-dot-event"],elAttrs:Pd(e.seg,n),defaultGenerator:Uy,timeText:u,isResizing:!1,isDateSelecting:!1}))}}function Uy(t){return M(Ie,null,M("div",{className:"fc-daygrid-event-dot",style:{borderColor:t.borderColor||t.backgroundColor}}),t.timeText&&M("div",{className:"fc-event-time"},t.timeText),M("div",{className:"fc-event-title"},t.event.title||M(Ie,null," ")))}class zy extends Te{constructor(){super(...arguments),this.compileSegs=ve(Wy)}render(){let{props:e}=this,{allSegs:n,invisibleSegs:i}=this.compileSegs(e.singlePlacements);return M(c1,{elClasses:["fc-daygrid-more-link"],dateProfile:e.dateProfile,todayRange:e.todayRange,allDayDate:e.allDayDate,moreCnt:e.moreCnt,allSegs:n,hiddenSegs:i,alignmentElRef:e.alignmentElRef,alignGridTop:e.alignGridTop,extraDateSpan:e.extraDateSpan,popoverContent:()=>{let s=(e.eventDrag?e.eventDrag.affectedInstances:null)||(e.eventResize?e.eventResize.affectedInstances:null)||{};return M(Ie,null,n.map(l=>{let u=l.eventRange.instance.instanceId;return M("div",{className:"fc-daygrid-event-harness",key:u,style:{visibility:s[u]?"hidden":""}},lf(l)?M(uf,Object.assign({seg:l,isDragging:!1,isSelected:u===e.eventSelection,defaultDisplayEventEnd:!1},jr(l,e.todayRange))):M(cf,Object.assign({seg:l,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:u===e.eventSelection,defaultDisplayEventEnd:!1},jr(l,e.todayRange))))}))}})}}function Wy(t){let e=[],n=[];for(let i of t)e.push(i.seg),i.isVisible||n.push(i.seg);return{allSegs:e,invisibleSegs:n}}const Gy=Be({week:"narrow"});class Zy extends Qn{constructor(){super(...arguments),this.rootElRef=nn(),this.state={dayNumberId:pa()},this.handleRootEl=e=>{rn(this.rootElRef,e),rn(this.props.elRef,e)}}render(){let{context:e,props:n,state:i,rootElRef:s}=this,{options:l,dateEnv:u}=e,{date:p,dateProfile:h}=n;const y=n.showDayNumber&&Qy(p,h.currentRange,u);return M(Yd,{elTag:"td",elRef:this.handleRootEl,elClasses:["fc-daygrid-day",...n.extraClassNames||[]],elAttrs:Object.assign(Object.assign(Object.assign({},n.extraDataAttrs),n.showDayNumber?{"aria-labelledby":i.dayNumberId}:{}),{role:"gridcell"}),defaultGenerator:Yy,date:p,dateProfile:h,todayRange:n.todayRange,showDayNumber:n.showDayNumber,isMonthStart:y,extraRenderProps:n.extraRenderProps},(g,S)=>M("div",{ref:n.innerElRef,className:"fc-daygrid-day-frame fc-scrollgrid-sync-inner",style:{minHeight:n.minHeight}},n.showWeekNumber&&M(a1,{elTag:"a",elClasses:["fc-daygrid-week-number"],elAttrs:oo(e,p,"week"),date:p,defaultFormat:Gy}),!S.isDisabled&&(n.showDayNumber||Qd(l)||n.forceDayTop)?M("div",{className:"fc-daygrid-day-top"},M(g,{elTag:"a",elClasses:["fc-daygrid-day-number",y&&"fc-daygrid-month-start"],elAttrs:Object.assign(Object.assign({},oo(e,p)),{id:i.dayNumberId})})):n.showDayNumber?M("div",{className:"fc-daygrid-day-top",style:{visibility:"hidden"}},M("a",{className:"fc-daygrid-day-number"}," ")):void 0,M("div",{className:"fc-daygrid-day-events",ref:n.fgContentElRef},n.fgContent,M("div",{className:"fc-daygrid-day-bottom",style:{marginTop:n.moreMarginTop}},M(zy,{allDayDate:p,singlePlacements:n.singlePlacements,moreCnt:n.moreCnt,alignmentElRef:s,alignGridTop:!n.showDayNumber,extraDateSpan:n.extraDateSpan,dateProfile:n.dateProfile,eventSelection:n.eventSelection,eventDrag:n.eventDrag,eventResize:n.eventResize,todayRange:n.todayRange}))),M("div",{className:"fc-daygrid-day-bg"},n.bgContent)))}}function Yy(t){return t.dayNumberText||M(Ie,null," ")}function Qy(t,e,n){const{start:i,end:s}=e,l=_n(s,-1),u=n.getYear(i),p=n.getMonth(i),h=n.getYear(l),y=n.getMonth(l);return!(u===h&&p===y)&&(t.valueOf()===i.valueOf()||n.getDay(t)===1&&t.valueOf()<s.valueOf())}function df(t){return t.eventRange.instance.instanceId+":"+t.firstCol}function ff(t){return df(t)+":"+t.lastCol}function qy(t,e,n,i,s,l,u){let p=new Xy(H=>{let V=t[H.index].eventRange.instance.instanceId+":"+H.span.start+":"+(H.span.end-1);return s[V]||1});p.allowReslicing=!0,p.strictOrder=i,e===!0||n===!0?(p.maxCoord=l,p.hiddenConsumes=!0):typeof e=="number"?p.maxStackCnt=e:typeof n=="number"&&(p.maxStackCnt=n,p.hiddenConsumes=!0);let h=[],y=[];for(let H=0;H<t.length;H+=1){let V=t[H],Q=ff(V);s[Q]!=null?h.push({index:H,span:{start:V.firstCol,end:V.lastCol+1}}):y.push(V)}let g=p.addSegs(h),S=p.toRects(),{singleColPlacements:A,multiColPlacements:w,leftoverMargins:O}=Jy(S,t,u),B=[],$=[];for(let H of y){w[H.firstCol].push({seg:H,isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let V=H.firstCol;V<=H.lastCol;V+=1)A[V].push({seg:fr(H,V,V+1,u),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let H=0;H<u.length;H+=1)B.push(0);for(let H of g){let V=t[H.index],Q=H.span;w[Q.start].push({seg:fr(V,Q.start,Q.end,u),isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let E=Q.start;E<Q.end;E+=1)B[E]+=1,A[E].push({seg:fr(V,E,E+1,u),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let H=0;H<u.length;H+=1)$.push(O[H]);return{singleColPlacements:A,multiColPlacements:w,moreCnts:B,moreMarginTops:$}}function Jy(t,e,n){let i=Ky(t,n.length),s=[],l=[],u=[];for(let p=0;p<n.length;p+=1){let h=i[p],y=[],g=0,S=0;for(let w of h){let O=e[w.index];y.push({seg:fr(O,p,p+1,n),isVisible:!0,isAbsolute:!1,absoluteTop:w.levelCoord,marginTop:w.levelCoord-g}),g=w.levelCoord+w.thickness}let A=[];g=0,S=0;for(let w of h){let O=e[w.index],B=w.span.end-w.span.start>1,$=w.span.start===p;S+=w.levelCoord-g,g=w.levelCoord+w.thickness,B?(S+=w.thickness,$&&A.push({seg:fr(O,w.span.start,w.span.end,n),isVisible:!0,isAbsolute:!0,absoluteTop:w.levelCoord,marginTop:0})):$&&(A.push({seg:fr(O,w.span.start,w.span.end,n),isVisible:!0,isAbsolute:!1,absoluteTop:w.levelCoord,marginTop:S}),S=0)}s.push(y),l.push(A),u.push(S)}return{singleColPlacements:s,multiColPlacements:l,leftoverMargins:u}}function Ky(t,e){let n=[];for(let i=0;i<e;i+=1)n.push([]);for(let i of t)for(let s=i.span.start;s<i.span.end;s+=1)n[s].push(i);return n}function fr(t,e,n,i){if(t.firstCol===e&&t.lastCol===n-1)return t;let s=t.eventRange,l=s.range,u=vr(l,{start:i[e].date,end:Ye(i[n-1].date,1)});return Object.assign(Object.assign({},t),{firstCol:e,lastCol:n-1,eventRange:{def:s.def,ui:Object.assign(Object.assign({},s.ui),{durationEditable:!1}),instance:s.instance,range:u},isStart:t.isStart&&u.start.valueOf()===l.start.valueOf(),isEnd:t.isEnd&&u.end.valueOf()===l.end.valueOf()})}class Xy extends Tm{constructor(){super(...arguments),this.hiddenConsumes=!1,this.forceHidden={}}addSegs(e){const n=super.addSegs(e),{entriesByLevel:i}=this,s=l=>!this.forceHidden[Br(l)];for(let l=0;l<i.length;l+=1)i[l]=i[l].filter(s);return n}handleInvalidInsertion(e,n,i){const{entriesByLevel:s,forceHidden:l}=this,{touchingEntry:u,touchingLevel:p,touchingLateral:h}=e;if(this.hiddenConsumes&&u){const y=Br(u);if(!l[y])if(this.allowReslicing){const g=Object.assign(Object.assign({},u),{span:Ud(u.span,n.span)}),S=Br(g);l[S]=!0,s[p][h]=g,i.push(g),this.splitEntry(u,n,i)}else l[y]=!0,i.push(u)}super.handleInvalidInsertion(e,n,i)}}class pf extends Qn{constructor(){super(...arguments),this.cellElRefs=new Vn,this.frameElRefs=new Vn,this.fgElRefs=new Vn,this.segHarnessRefs=new Vn,this.rootElRef=nn(),this.state={framePositions:null,maxContentHeight:null,segHeights:{}},this.handleResize=e=>{e&&this.updateSizing(!0)}}render(){let{props:e,state:n,context:i}=this,{options:s}=i,l=e.cells.length,u=Vi(e.businessHourSegs,l),p=Vi(e.bgEventSegs,l),h=Vi(this.getHighlightSegs(),l),y=Vi(this.getMirrorSegs(),l),{singleColPlacements:g,multiColPlacements:S,moreCnts:A,moreMarginTops:w}=qy(rm(e.fgEventSegs,s.eventOrder),e.dayMaxEvents,e.dayMaxEventRows,s.eventOrderStrict,n.segHeights,n.maxContentHeight,e.cells),O=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{};return M("tr",{ref:this.rootElRef,role:"row"},e.renderIntro&&e.renderIntro(),e.cells.map((B,$)=>{let H=this.renderFgSegs($,e.forPrint?g[$]:S[$],e.todayRange,O),V=this.renderFgSegs($,eb(y[$],S),e.todayRange,{},!!e.eventDrag,!!e.eventResize,!1);return M(Zy,{key:B.key,elRef:this.cellElRefs.createRef(B.key),innerElRef:this.frameElRefs.createRef(B.key),dateProfile:e.dateProfile,date:B.date,showDayNumber:e.showDayNumbers,showWeekNumber:e.showWeekNumbers&&$===0,forceDayTop:e.showWeekNumbers,todayRange:e.todayRange,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,extraRenderProps:B.extraRenderProps,extraDataAttrs:B.extraDataAttrs,extraClassNames:B.extraClassNames,extraDateSpan:B.extraDateSpan,moreCnt:A[$],moreMarginTop:w[$],singlePlacements:g[$],fgContentElRef:this.fgElRefs.createRef(B.key),fgContent:M(Ie,null,M(Ie,null,H),M(Ie,null,V)),bgContent:M(Ie,null,this.renderFillSegs(h[$],"highlight"),this.renderFillSegs(u[$],"non-business"),this.renderFillSegs(p[$],"bg-event")),minHeight:e.cellMinHeight})}))}componentDidMount(){this.updateSizing(!0),this.context.addResizeHandler(this.handleResize)}componentDidUpdate(e,n){let i=this.props;this.updateSizing(!jt(e,i))}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}getHighlightSegs(){let{props:e}=this;return e.eventDrag&&e.eventDrag.segs.length?e.eventDrag.segs:e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:e.dateSelectionSegs}getMirrorSegs(){let{props:e}=this;return e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:[]}renderFgSegs(e,n,i,s,l,u,p){let{context:h}=this,{eventSelection:y}=this.props,{framePositions:g}=this.state,S=this.props.cells.length===1,A=l||u||p,w=[];if(g)for(let O of n){let{seg:B}=O,{instanceId:$}=B.eventRange.instance,H=O.isVisible&&!s[$],V=O.isAbsolute,Q="",E="";V&&(h.isRtl?(E=0,Q=g.lefts[B.lastCol]-g.lefts[B.firstCol]):(Q=0,E=g.rights[B.firstCol]-g.rights[B.lastCol])),w.push(M("div",{className:"fc-daygrid-event-harness"+(V?" fc-daygrid-event-harness-abs":""),key:df(B),ref:A?null:this.segHarnessRefs.createRef(ff(B)),style:{visibility:H?"":"hidden",marginTop:V?"":O.marginTop,top:V?O.absoluteTop:"",left:Q,right:E}},lf(B)?M(uf,Object.assign({seg:B,isDragging:l,isSelected:$===y,defaultDisplayEventEnd:S},jr(B,i))):M(cf,Object.assign({seg:B,isDragging:l,isResizing:u,isDateSelecting:p,isSelected:$===y,defaultDisplayEventEnd:S},jr(B,i)))))}return w}renderFillSegs(e,n){let{isRtl:i}=this.context,{todayRange:s}=this.props,{framePositions:l}=this.state,u=[];if(l)for(let p of e){let h=i?{right:0,left:l.lefts[p.lastCol]-l.lefts[p.firstCol]}:{left:0,right:l.rights[p.firstCol]-l.rights[p.lastCol]};u.push(M("div",{key:cm(p.eventRange),className:"fc-daygrid-bg-harness",style:h},n==="bg-event"?M(n1,Object.assign({seg:p},jr(p,s))):i1(n)))}return M(Ie,{},...u)}updateSizing(e){let{props:n,state:i,frameElRefs:s}=this;if(!n.forPrint&&n.clientWidth!==null){if(e){let h=n.cells.map(y=>s.currentMap[y.key]);if(h.length){let y=this.rootElRef.current,g=new oa(y,h,!0,!1);(!i.framePositions||!i.framePositions.similarTo(g))&&this.setState({framePositions:new oa(y,h,!0,!1)})}}const l=this.state.segHeights,u=this.querySegHeights(),p=n.dayMaxEvents===!0||n.dayMaxEventRows===!0;this.safeSetState({segHeights:Object.assign(Object.assign({},l),u),maxContentHeight:p?this.computeMaxContentHeight():null})}}querySegHeights(){let e=this.segHarnessRefs.currentMap,n={};for(let i in e){let s=Math.round(e[i].getBoundingClientRect().height);n[i]=Math.max(n[i]||0,s)}return n}computeMaxContentHeight(){let e=this.props.cells[0].key,n=this.cellElRefs.currentMap[e],i=this.fgElRefs.currentMap[e];return n.getBoundingClientRect().bottom-i.getBoundingClientRect().top}getCellEls(){let e=this.cellElRefs.currentMap;return this.props.cells.map(n=>e[n.key])}}pf.addStateEquality({segHeights:jt});function eb(t,e){if(!t.length)return[];let n=tb(e);return t.map(i=>({seg:i,isVisible:!0,isAbsolute:!0,absoluteTop:n[i.eventRange.instance.instanceId],marginTop:0}))}function tb(t){let e={};for(let n of t)for(let i of n)e[i.seg.eventRange.instance.instanceId]=i.absoluteTop;return e}class nb extends Qn{constructor(){super(...arguments),this.splitBusinessHourSegs=ve(Bi),this.splitBgEventSegs=ve(Bi),this.splitFgEventSegs=ve(Bi),this.splitDateSelectionSegs=ve(Bi),this.splitEventDrag=ve(wu),this.splitEventResize=ve(wu),this.rowRefs=new Vn}render(){let{props:e,context:n}=this,i=e.cells.length,s=this.splitBusinessHourSegs(e.businessHourSegs,i),l=this.splitBgEventSegs(e.bgEventSegs,i),u=this.splitFgEventSegs(e.fgEventSegs,i),p=this.splitDateSelectionSegs(e.dateSelectionSegs,i),h=this.splitEventDrag(e.eventDrag,i),y=this.splitEventResize(e.eventResize,i),g=i>=7&&e.clientWidth?e.clientWidth/n.options.aspectRatio/6:null;return M(Do,{unit:"day"},(S,A)=>M(Ie,null,e.cells.map((w,O)=>M(pf,{ref:this.rowRefs.createRef(O),key:w.length?w[0].date.toISOString():O,showDayNumbers:i>1,showWeekNumbers:e.showWeekNumbers,todayRange:A,dateProfile:e.dateProfile,cells:w,renderIntro:e.renderRowIntro,businessHourSegs:s[O],eventSelection:e.eventSelection,bgEventSegs:l[O].filter(rb),fgEventSegs:u[O],dateSelectionSegs:p[O],eventDrag:h[O],eventResize:y[O],dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,clientWidth:e.clientWidth,clientHeight:e.clientHeight,cellMinHeight:g,forPrint:e.forPrint}))))}componentDidMount(){this.registerInteractiveComponent()}componentDidUpdate(){this.registerInteractiveComponent()}registerInteractiveComponent(){if(!this.rootEl){const e=this.rowRefs.currentMap[0].getCellEls()[0],n=e?e.closest(".fc-daygrid-body"):null;n&&(this.rootEl=n,this.context.registerInteractiveComponent(this,{el:n,isHitComboAllowed:this.props.isHitComboAllowed}))}}componentWillUnmount(){this.rootEl&&(this.context.unregisterInteractiveComponent(this),this.rootEl=null)}prepareHits(){this.rowPositions=new oa(this.rootEl,this.rowRefs.collect().map(e=>e.getCellEls()[0]),!1,!0),this.colPositions=new oa(this.rootEl,this.rowRefs.currentMap[0].getCellEls(),!0,!1)}queryHit(e,n){let{colPositions:i,rowPositions:s}=this,l=i.leftToIndex(e),u=s.topToIndex(n);if(u!=null&&l!=null){let p=this.props.cells[u][l];return{dateProfile:this.props.dateProfile,dateSpan:Object.assign({range:this.getCellRange(u,l),allDay:!0},p.extraDateSpan),dayEl:this.getCellEl(u,l),rect:{left:i.lefts[l],right:i.rights[l],top:s.tops[u],bottom:s.bottoms[u]},layer:0}}return null}getCellEl(e,n){return this.rowRefs.currentMap[e].getCellEls()[n]}getCellRange(e,n){let i=this.props.cells[e][n].date,s=Ye(i,1);return{start:i,end:s}}}function rb(t){return t.eventRange.def.allDay}class ib extends Qn{constructor(){super(...arguments),this.elRef=nn(),this.needsScrollReset=!1}render(){let{props:e}=this,{dayMaxEventRows:n,dayMaxEvents:i,expandRows:s}=e,l=i===!0||n===!0;l&&!s&&(l=!1,n=null,i=null);let u=["fc-daygrid-body",l?"fc-daygrid-body-balanced":"fc-daygrid-body-unbalanced",s?"":"fc-daygrid-body-natural"];return M("div",{ref:this.elRef,className:u.join(" "),style:{width:e.clientWidth,minWidth:e.tableMinWidth}},M("table",{role:"presentation",className:"fc-scrollgrid-sync-table",style:{width:e.clientWidth,minWidth:e.tableMinWidth,height:s?e.clientHeight:""}},e.colGroupNode,M("tbody",{role:"presentation"},M(nb,{dateProfile:e.dateProfile,cells:e.cells,renderRowIntro:e.renderRowIntro,showWeekNumbers:e.showWeekNumbers,clientWidth:e.clientWidth,clientHeight:e.clientHeight,businessHourSegs:e.businessHourSegs,bgEventSegs:e.bgEventSegs,fgEventSegs:e.fgEventSegs,dateSelectionSegs:e.dateSelectionSegs,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,dayMaxEvents:i,dayMaxEventRows:n,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed}))))}componentDidMount(){this.requestScrollReset()}componentDidUpdate(e){e.dateProfile!==this.props.dateProfile?this.requestScrollReset():this.flushScrollReset()}requestScrollReset(){this.needsScrollReset=!0,this.flushScrollReset()}flushScrollReset(){if(this.needsScrollReset&&this.props.clientWidth){const e=ab(this.elRef.current,this.props.dateProfile);if(e){const n=e.closest(".fc-daygrid-body"),i=n.closest(".fc-scroller"),s=e.getBoundingClientRect().top-n.getBoundingClientRect().top;i.scrollTop=s?s+1:0}this.needsScrollReset=!1}}}function ab(t,e){let n;return e.currentRangeUnit.match(/year|month/)&&(n=t.querySelector(`[data-date="${jv(e.currentDate)}-01"]`)),n||(n=t.querySelector(`[data-date="${go(e.currentDate)}"]`)),n}class sb extends Hm{constructor(){super(...arguments),this.forceDayIfListItem=!0}sliceRange(e,n){return n.sliceRange(e)}}class ob extends Qn{constructor(){super(...arguments),this.slicer=new sb,this.tableRef=nn()}render(){let{props:e,context:n}=this;return M(ib,Object.assign({ref:this.tableRef},this.slicer.sliceProps(e,e.dateProfile,e.nextDayThreshold,n,e.dayTableModel),{dateProfile:e.dateProfile,cells:e.dayTableModel.cells,colGroupNode:e.colGroupNode,tableMinWidth:e.tableMinWidth,renderRowIntro:e.renderRowIntro,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.showWeekNumbers,expandRows:e.expandRows,headerAlignElRef:e.headerAlignElRef,clientWidth:e.clientWidth,clientHeight:e.clientHeight,forPrint:e.forPrint}))}}class lb extends Fy{constructor(){super(...arguments),this.buildDayTableModel=ve(cb),this.headerRef=nn(),this.tableRef=nn()}render(){let{options:e,dateProfileGenerator:n}=this.context,{props:i}=this,s=this.buildDayTableModel(i.dateProfile,n),l=e.dayHeaders&&M(Im,{ref:this.headerRef,dateProfile:i.dateProfile,dates:s.headerDates,datesRepDistinctDays:s.rowCnt===1}),u=p=>M(ob,{ref:this.tableRef,dateProfile:i.dateProfile,dayTableModel:s,businessHours:i.businessHours,dateSelection:i.dateSelection,eventStore:i.eventStore,eventUiBases:i.eventUiBases,eventSelection:i.eventSelection,eventDrag:i.eventDrag,eventResize:i.eventResize,nextDayThreshold:e.nextDayThreshold,colGroupNode:p.tableColGroupNode,tableMinWidth:p.tableMinWidth,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.weekNumbers,expandRows:!i.isHeightAuto,headerAlignElRef:this.headerElRef,clientWidth:p.clientWidth,clientHeight:p.clientHeight,forPrint:i.forPrint});return e.dayMinWidth?this.renderHScrollLayout(l,u,s.colCnt,e.dayMinWidth):this.renderSimpleLayout(l,u)}}function cb(t,e){let n=new $m(t.renderRange,e);return new Pm(n,/year|month|week/.test(t.currentRangeUnit))}class ub extends Ed{buildRenderRange(e,n,i){let s=super.buildRenderRange(e,n,i),{props:l}=this;return db({currentRange:s,snapToWeek:/^(year|month)$/.test(n),fixedWeekCount:l.fixedWeekCount,dateEnv:l.dateEnv})}}function db(t){let{dateEnv:e,currentRange:n}=t,{start:i,end:s}=n,l;if(t.snapToWeek&&(i=e.startOfWeek(i),l=e.startOfWeek(s),l.valueOf()!==s.valueOf()&&(s=Fc(l,1))),t.fixedWeekCount){let u=e.startOfWeek(e.startOfMonth(Ye(n.end,-1))),p=Math.ceil(xv(u,s));s=Fc(s,6-p)}return{start:i,end:s}}var fb=':root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{clear:both;content:"";display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-daygrid-day-frame{min-height:100%;position:relative}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{padding:4px;position:relative;z-index:4}.fc .fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{left:0;position:absolute;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{min-height:2em;position:relative}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{left:0;position:absolute;right:0;top:0}.fc .fc-daygrid-bg-harness{bottom:0;position:absolute;top:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{margin-top:1px;z-index:6}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;margin:0 2px}.fc .fc-daygrid-day-bottom:after,.fc .fc-daygrid-day-bottom:before{clear:both;content:"";display:table}.fc .fc-daygrid-more-link{border-radius:3px;cursor:pointer;line-height:1;margin-top:1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap;z-index:4}.fc .fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc .fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0;z-index:5}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-more-link{float:left}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px 0;left:0}.fc-direction-rtl .fc-daygrid-more-link{float:right}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px;right:0}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative;white-space:nowrap}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{align-items:center;display:flex;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;font-weight:700;min-width:0;overflow:hidden}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-daygrid-event-dot-width)/2);box-sizing:content-box;height:0;margin:0 4px;width:0}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}';cd(fb);var pb=qn({name:"@fullcalendar/daygrid",initialView:"dayGridMonth",views:{dayGrid:{component:lb,dateProfileGeneratorClass:ub},dayGridDay:{type:"dayGrid",duration:{days:1}},dayGridWeek:{type:"dayGrid",duration:{weeks:1}},dayGridMonth:{type:"dayGrid",duration:{months:1},fixedWeekCount:!0},dayGridYear:{type:"dayGrid",duration:{years:1}}}}),it="top",wt="bottom",Lt="right",at="left",Ro="auto",ei=[it,wt,Lt,at],gr="start",Yr="end",hb="clippingParents",hf="viewport",$r="popper",vb="reference",Lu=ei.reduce(function(t,e){return t.concat([e+"-"+gr,e+"-"+Yr])},[]),vf=[].concat(ei,[Ro]).reduce(function(t,e){return t.concat([e,e+"-"+gr,e+"-"+Yr])},[]),gb="beforeRead",mb="read",yb="afterRead",bb="beforeMain",_b="main",wb="afterMain",Lb="beforeWrite",Ab="write",Cb="afterWrite",Eb=[gb,mb,yb,bb,_b,wb,Lb,Ab,Cb];function Bt(t){return t?(t.nodeName||"").toLowerCase():null}function pt(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Wn(t){var e=pt(t).Element;return t instanceof e||t instanceof Element}function _t(t){var e=pt(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function Oo(t){if(typeof ShadowRoot=="undefined")return!1;var e=pt(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Sb(t){var e=t.state;Object.keys(e.elements).forEach(function(n){var i=e.styles[n]||{},s=e.attributes[n]||{},l=e.elements[n];!_t(l)||!Bt(l)||(Object.assign(l.style,i),Object.keys(s).forEach(function(u){var p=s[u];p===!1?l.removeAttribute(u):l.setAttribute(u,p===!0?"":p)}))})}function xb(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach(function(i){var s=e.elements[i],l=e.attributes[i]||{},u=Object.keys(e.styles.hasOwnProperty(i)?e.styles[i]:n[i]),p=u.reduce(function(h,y){return h[y]="",h},{});!_t(s)||!Bt(s)||(Object.assign(s.style,p),Object.keys(l).forEach(function(h){s.removeAttribute(h)}))})}}const gf={name:"applyStyles",enabled:!0,phase:"write",fn:Sb,effect:xb,requires:["computeStyles"]};function Ht(t){return t.split("-")[0]}var Un=Math.max,ca=Math.min,mr=Math.round;function co(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function mf(){return!/^((?!chrome|android).)*safari/i.test(co())}function yr(t,e,n){e===void 0&&(e=!1),n===void 0&&(n=!1);var i=t.getBoundingClientRect(),s=1,l=1;e&&_t(t)&&(s=t.offsetWidth>0&&mr(i.width)/t.offsetWidth||1,l=t.offsetHeight>0&&mr(i.height)/t.offsetHeight||1);var u=Wn(t)?pt(t):window,p=u.visualViewport,h=!mf()&&n,y=(i.left+(h&&p?p.offsetLeft:0))/s,g=(i.top+(h&&p?p.offsetTop:0))/l,S=i.width/s,A=i.height/l;return{width:S,height:A,top:g,right:y+S,bottom:g+A,left:y,x:y,y:g}}function Mo(t){var e=yr(t),n=t.offsetWidth,i=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-i)<=1&&(i=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:i}}function yf(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&Oo(n)){var i=e;do{if(i&&t.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function an(t){return pt(t).getComputedStyle(t)}function Db(t){return["table","td","th"].indexOf(Bt(t))>=0}function Ln(t){return((Wn(t)?t.ownerDocument:t.document)||window.document).documentElement}function ha(t){return Bt(t)==="html"?t:t.assignedSlot||t.parentNode||(Oo(t)?t.host:null)||Ln(t)}function Au(t){return!_t(t)||an(t).position==="fixed"?null:t.offsetParent}function Tb(t){var e=/firefox/i.test(co()),n=/Trident/i.test(co());if(n&&_t(t)){var i=an(t);if(i.position==="fixed")return null}var s=ha(t);for(Oo(s)&&(s=s.host);_t(s)&&["html","body"].indexOf(Bt(s))<0;){var l=an(s);if(l.transform!=="none"||l.perspective!=="none"||l.contain==="paint"||["transform","perspective"].indexOf(l.willChange)!==-1||e&&l.willChange==="filter"||e&&l.filter&&l.filter!=="none")return s;s=s.parentNode}return null}function ti(t){for(var e=pt(t),n=Au(t);n&&Db(n)&&an(n).position==="static";)n=Au(n);return n&&(Bt(n)==="html"||Bt(n)==="body"&&an(n).position==="static")?e:n||Tb(t)||e}function Io(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Vr(t,e,n){return Un(t,ca(e,n))}function kb(t,e,n){var i=Vr(t,e,n);return i>n?n:i}function bf(){return{top:0,right:0,bottom:0,left:0}}function _f(t){return Object.assign({},bf(),t)}function wf(t,e){return e.reduce(function(n,i){return n[i]=t,n},{})}var Rb=function(e,n){return e=typeof e=="function"?e(Object.assign({},n.rects,{placement:n.placement})):e,_f(typeof e!="number"?e:wf(e,ei))};function Ob(t){var e,n=t.state,i=t.name,s=t.options,l=n.elements.arrow,u=n.modifiersData.popperOffsets,p=Ht(n.placement),h=Io(p),y=[at,Lt].indexOf(p)>=0,g=y?"height":"width";if(!(!l||!u)){var S=Rb(s.padding,n),A=Mo(l),w=h==="y"?it:at,O=h==="y"?wt:Lt,B=n.rects.reference[g]+n.rects.reference[h]-u[h]-n.rects.popper[g],$=u[h]-n.rects.reference[h],H=ti(l),V=H?h==="y"?H.clientHeight||0:H.clientWidth||0:0,Q=B/2-$/2,E=S[w],X=V-A[g]-S[O],z=V/2-A[g]/2+Q,q=Vr(E,z,X),Y=h;n.modifiersData[i]=(e={},e[Y]=q,e.centerOffset=q-z,e)}}function Mb(t){var e=t.state,n=t.options,i=n.element,s=i===void 0?"[data-popper-arrow]":i;s!=null&&(typeof s=="string"&&(s=e.elements.popper.querySelector(s),!s)||yf(e.elements.popper,s)&&(e.elements.arrow=s))}const Ib={name:"arrow",enabled:!0,phase:"main",fn:Ob,effect:Mb,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function br(t){return t.split("-")[1]}var Nb={top:"auto",right:"auto",bottom:"auto",left:"auto"};function $b(t,e){var n=t.x,i=t.y,s=e.devicePixelRatio||1;return{x:mr(n*s)/s||0,y:mr(i*s)/s||0}}function Cu(t){var e,n=t.popper,i=t.popperRect,s=t.placement,l=t.variation,u=t.offsets,p=t.position,h=t.gpuAcceleration,y=t.adaptive,g=t.roundOffsets,S=t.isFixed,A=u.x,w=A===void 0?0:A,O=u.y,B=O===void 0?0:O,$=typeof g=="function"?g({x:w,y:B}):{x:w,y:B};w=$.x,B=$.y;var H=u.hasOwnProperty("x"),V=u.hasOwnProperty("y"),Q=at,E=it,X=window;if(y){var z=ti(n),q="clientHeight",Y="clientWidth";if(z===pt(n)&&(z=Ln(n),an(z).position!=="static"&&p==="absolute"&&(q="scrollHeight",Y="scrollWidth")),z=z,s===it||(s===at||s===Lt)&&l===Yr){E=wt;var _e=S&&z===X&&X.visualViewport?X.visualViewport.height:z[q];B-=_e-i.height,B*=h?1:-1}if(s===at||(s===it||s===wt)&&l===Yr){Q=Lt;var oe=S&&z===X&&X.visualViewport?X.visualViewport.width:z[Y];w-=oe-i.width,w*=h?1:-1}}var ke=Object.assign({position:p},y&&Nb),Ce=g===!0?$b({x:w,y:B},pt(n)):{x:w,y:B};if(w=Ce.x,B=Ce.y,h){var pe;return Object.assign({},ke,(pe={},pe[E]=V?"0":"",pe[Q]=H?"0":"",pe.transform=(X.devicePixelRatio||1)<=1?"translate("+w+"px, "+B+"px)":"translate3d("+w+"px, "+B+"px, 0)",pe))}return Object.assign({},ke,(e={},e[E]=V?B+"px":"",e[Q]=H?w+"px":"",e.transform="",e))}function Pb(t){var e=t.state,n=t.options,i=n.gpuAcceleration,s=i===void 0?!0:i,l=n.adaptive,u=l===void 0?!0:l,p=n.roundOffsets,h=p===void 0?!0:p,y={placement:Ht(e.placement),variation:br(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Cu(Object.assign({},y,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:u,roundOffsets:h})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Cu(Object.assign({},y,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:h})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Hb={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Pb,data:{}};var Fi={passive:!0};function jb(t){var e=t.state,n=t.instance,i=t.options,s=i.scroll,l=s===void 0?!0:s,u=i.resize,p=u===void 0?!0:u,h=pt(e.elements.popper),y=[].concat(e.scrollParents.reference,e.scrollParents.popper);return l&&y.forEach(function(g){g.addEventListener("scroll",n.update,Fi)}),p&&h.addEventListener("resize",n.update,Fi),function(){l&&y.forEach(function(g){g.removeEventListener("scroll",n.update,Fi)}),p&&h.removeEventListener("resize",n.update,Fi)}}const Bb={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:jb,data:{}};var Vb={left:"right",right:"left",bottom:"top",top:"bottom"};function Qi(t){return t.replace(/left|right|bottom|top/g,function(e){return Vb[e]})}var Fb={start:"end",end:"start"};function Eu(t){return t.replace(/start|end/g,function(e){return Fb[e]})}function No(t){var e=pt(t),n=e.pageXOffset,i=e.pageYOffset;return{scrollLeft:n,scrollTop:i}}function $o(t){return yr(Ln(t)).left+No(t).scrollLeft}function Ub(t,e){var n=pt(t),i=Ln(t),s=n.visualViewport,l=i.clientWidth,u=i.clientHeight,p=0,h=0;if(s){l=s.width,u=s.height;var y=mf();(y||!y&&e==="fixed")&&(p=s.offsetLeft,h=s.offsetTop)}return{width:l,height:u,x:p+$o(t),y:h}}function zb(t){var e,n=Ln(t),i=No(t),s=(e=t.ownerDocument)==null?void 0:e.body,l=Un(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),u=Un(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),p=-i.scrollLeft+$o(t),h=-i.scrollTop;return an(s||n).direction==="rtl"&&(p+=Un(n.clientWidth,s?s.clientWidth:0)-l),{width:l,height:u,x:p,y:h}}function Po(t){var e=an(t),n=e.overflow,i=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+i)}function Lf(t){return["html","body","#document"].indexOf(Bt(t))>=0?t.ownerDocument.body:_t(t)&&Po(t)?t:Lf(ha(t))}function Fr(t,e){var n;e===void 0&&(e=[]);var i=Lf(t),s=i===((n=t.ownerDocument)==null?void 0:n.body),l=pt(i),u=s?[l].concat(l.visualViewport||[],Po(i)?i:[]):i,p=e.concat(u);return s?p:p.concat(Fr(ha(u)))}function uo(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Wb(t,e){var n=yr(t,!1,e==="fixed");return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}function Su(t,e,n){return e===hf?uo(Ub(t,n)):Wn(e)?Wb(e,n):uo(zb(Ln(t)))}function Gb(t){var e=Fr(ha(t)),n=["absolute","fixed"].indexOf(an(t).position)>=0,i=n&&_t(t)?ti(t):t;return Wn(i)?e.filter(function(s){return Wn(s)&&yf(s,i)&&Bt(s)!=="body"}):[]}function Zb(t,e,n,i){var s=e==="clippingParents"?Gb(t):[].concat(e),l=[].concat(s,[n]),u=l[0],p=l.reduce(function(h,y){var g=Su(t,y,i);return h.top=Un(g.top,h.top),h.right=ca(g.right,h.right),h.bottom=ca(g.bottom,h.bottom),h.left=Un(g.left,h.left),h},Su(t,u,i));return p.width=p.right-p.left,p.height=p.bottom-p.top,p.x=p.left,p.y=p.top,p}function Af(t){var e=t.reference,n=t.element,i=t.placement,s=i?Ht(i):null,l=i?br(i):null,u=e.x+e.width/2-n.width/2,p=e.y+e.height/2-n.height/2,h;switch(s){case it:h={x:u,y:e.y-n.height};break;case wt:h={x:u,y:e.y+e.height};break;case Lt:h={x:e.x+e.width,y:p};break;case at:h={x:e.x-n.width,y:p};break;default:h={x:e.x,y:e.y}}var y=s?Io(s):null;if(y!=null){var g=y==="y"?"height":"width";switch(l){case gr:h[y]=h[y]-(e[g]/2-n[g]/2);break;case Yr:h[y]=h[y]+(e[g]/2-n[g]/2);break}}return h}function Qr(t,e){e===void 0&&(e={});var n=e,i=n.placement,s=i===void 0?t.placement:i,l=n.strategy,u=l===void 0?t.strategy:l,p=n.boundary,h=p===void 0?hb:p,y=n.rootBoundary,g=y===void 0?hf:y,S=n.elementContext,A=S===void 0?$r:S,w=n.altBoundary,O=w===void 0?!1:w,B=n.padding,$=B===void 0?0:B,H=_f(typeof $!="number"?$:wf($,ei)),V=A===$r?vb:$r,Q=t.rects.popper,E=t.elements[O?V:A],X=Zb(Wn(E)?E:E.contextElement||Ln(t.elements.popper),h,g,u),z=yr(t.elements.reference),q=Af({reference:z,element:Q,strategy:"absolute",placement:s}),Y=uo(Object.assign({},Q,q)),_e=A===$r?Y:z,oe={top:X.top-_e.top+H.top,bottom:_e.bottom-X.bottom+H.bottom,left:X.left-_e.left+H.left,right:_e.right-X.right+H.right},ke=t.modifiersData.offset;if(A===$r&&ke){var Ce=ke[s];Object.keys(oe).forEach(function(pe){var Ge=[Lt,wt].indexOf(pe)>=0?1:-1,Ve=[it,wt].indexOf(pe)>=0?"y":"x";oe[pe]+=Ce[Ve]*Ge})}return oe}function Yb(t,e){e===void 0&&(e={});var n=e,i=n.placement,s=n.boundary,l=n.rootBoundary,u=n.padding,p=n.flipVariations,h=n.allowedAutoPlacements,y=h===void 0?vf:h,g=br(i),S=g?p?Lu:Lu.filter(function(O){return br(O)===g}):ei,A=S.filter(function(O){return y.indexOf(O)>=0});A.length===0&&(A=S);var w=A.reduce(function(O,B){return O[B]=Qr(t,{placement:B,boundary:s,rootBoundary:l,padding:u})[Ht(B)],O},{});return Object.keys(w).sort(function(O,B){return w[O]-w[B]})}function Qb(t){if(Ht(t)===Ro)return[];var e=Qi(t);return[Eu(t),e,Eu(e)]}function qb(t){var e=t.state,n=t.options,i=t.name;if(!e.modifiersData[i]._skip){for(var s=n.mainAxis,l=s===void 0?!0:s,u=n.altAxis,p=u===void 0?!0:u,h=n.fallbackPlacements,y=n.padding,g=n.boundary,S=n.rootBoundary,A=n.altBoundary,w=n.flipVariations,O=w===void 0?!0:w,B=n.allowedAutoPlacements,$=e.options.placement,H=Ht($),V=H===$,Q=h||(V||!O?[Qi($)]:Qb($)),E=[$].concat(Q).reduce(function(lt,Je){return lt.concat(Ht(Je)===Ro?Yb(e,{placement:Je,boundary:g,rootBoundary:S,padding:y,flipVariations:O,allowedAutoPlacements:B}):Je)},[]),X=e.rects.reference,z=e.rects.popper,q=new Map,Y=!0,_e=E[0],oe=0;oe<E.length;oe++){var ke=E[oe],Ce=Ht(ke),pe=br(ke)===gr,Ge=[it,wt].indexOf(Ce)>=0,Ve=Ge?"width":"height",te=Qr(e,{placement:ke,boundary:g,rootBoundary:S,altBoundary:A,padding:y}),Pe=Ge?pe?Lt:at:pe?wt:it;X[Ve]>z[Ve]&&(Pe=Qi(Pe));var re=Qi(Pe),Re=[];if(l&&Re.push(te[Ce]<=0),p&&Re.push(te[Pe]<=0,te[re]<=0),Re.every(function(lt){return lt})){_e=ke,Y=!1;break}q.set(ke,Re)}if(Y)for(var st=O?3:1,Qe=function(Je){var Ke=E.find(function(Vt){var Fe=q.get(Vt);if(Fe)return Fe.slice(0,Je).every(function(Ft){return Ft})});if(Ke)return _e=Ke,"break"},ot=st;ot>0;ot--){var ht=Qe(ot);if(ht==="break")break}e.placement!==_e&&(e.modifiersData[i]._skip=!0,e.placement=_e,e.reset=!0)}}const Jb={name:"flip",enabled:!0,phase:"main",fn:qb,requiresIfExists:["offset"],data:{_skip:!1}};function xu(t,e,n){return n===void 0&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function Du(t){return[it,Lt,wt,at].some(function(e){return t[e]>=0})}function Kb(t){var e=t.state,n=t.name,i=e.rects.reference,s=e.rects.popper,l=e.modifiersData.preventOverflow,u=Qr(e,{elementContext:"reference"}),p=Qr(e,{altBoundary:!0}),h=xu(u,i),y=xu(p,s,l),g=Du(h),S=Du(y);e.modifiersData[n]={referenceClippingOffsets:h,popperEscapeOffsets:y,isReferenceHidden:g,hasPopperEscaped:S},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":g,"data-popper-escaped":S})}const Xb={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Kb};function e_(t,e,n){var i=Ht(t),s=[at,it].indexOf(i)>=0?-1:1,l=typeof n=="function"?n(Object.assign({},e,{placement:t})):n,u=l[0],p=l[1];return u=u||0,p=(p||0)*s,[at,Lt].indexOf(i)>=0?{x:p,y:u}:{x:u,y:p}}function t_(t){var e=t.state,n=t.options,i=t.name,s=n.offset,l=s===void 0?[0,0]:s,u=vf.reduce(function(g,S){return g[S]=e_(S,e.rects,l),g},{}),p=u[e.placement],h=p.x,y=p.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=h,e.modifiersData.popperOffsets.y+=y),e.modifiersData[i]=u}const n_={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:t_};function r_(t){var e=t.state,n=t.name;e.modifiersData[n]=Af({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}const i_={name:"popperOffsets",enabled:!0,phase:"read",fn:r_,data:{}};function a_(t){return t==="x"?"y":"x"}function s_(t){var e=t.state,n=t.options,i=t.name,s=n.mainAxis,l=s===void 0?!0:s,u=n.altAxis,p=u===void 0?!1:u,h=n.boundary,y=n.rootBoundary,g=n.altBoundary,S=n.padding,A=n.tether,w=A===void 0?!0:A,O=n.tetherOffset,B=O===void 0?0:O,$=Qr(e,{boundary:h,rootBoundary:y,padding:S,altBoundary:g}),H=Ht(e.placement),V=br(e.placement),Q=!V,E=Io(H),X=a_(E),z=e.modifiersData.popperOffsets,q=e.rects.reference,Y=e.rects.popper,_e=typeof B=="function"?B(Object.assign({},e.rects,{placement:e.placement})):B,oe=typeof _e=="number"?{mainAxis:_e,altAxis:_e}:Object.assign({mainAxis:0,altAxis:0},_e),ke=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,Ce={x:0,y:0};if(z){if(l){var pe,Ge=E==="y"?it:at,Ve=E==="y"?wt:Lt,te=E==="y"?"height":"width",Pe=z[E],re=Pe+$[Ge],Re=Pe-$[Ve],st=w?-Y[te]/2:0,Qe=V===gr?q[te]:Y[te],ot=V===gr?-Y[te]:-q[te],ht=e.elements.arrow,lt=w&&ht?Mo(ht):{width:0,height:0},Je=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:bf(),Ke=Je[Ge],Vt=Je[Ve],Fe=Vr(0,q[te],lt[te]),Ft=Q?q[te]/2-st-Fe-Ke-oe.mainAxis:Qe-Fe-Ke-oe.mainAxis,At=Q?-q[te]/2+st+Fe+Vt+oe.mainAxis:ot+Fe+Vt+oe.mainAxis,be=e.elements.arrow&&ti(e.elements.arrow),Jn=be?E==="y"?be.clientTop||0:be.clientLeft||0:0,An=(pe=ke==null?void 0:ke[E])!=null?pe:0,Me=Pe+Ft-An-Jn,Ue=Pe+At-An,Xe=Vr(w?ca(re,Me):re,Pe,w?Un(Re,Ue):Re);z[E]=Xe,Ce[E]=Xe-Pe}if(p){var vt,Cn=E==="x"?it:at,Kn=E==="x"?wt:Lt,ct=z[X],Ct=X==="y"?"height":"width",Ut=ct+$[Cn],Dt=ct-$[Kn],on=[it,at].indexOf(H)!==-1,et=(vt=ke==null?void 0:ke[X])!=null?vt:0,En=on?Ut:ct-q[Ct]-Y[Ct]-et+oe.altAxis,Et=on?ct+q[Ct]+Y[Ct]-et-oe.altAxis:Dt,zt=w&&on?kb(En,ct,Et):Vr(w?En:Ut,ct,w?Et:Dt);z[X]=zt,Ce[X]=zt-ct}e.modifiersData[i]=Ce}}const o_={name:"preventOverflow",enabled:!0,phase:"main",fn:s_,requiresIfExists:["offset"]};function l_(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function c_(t){return t===pt(t)||!_t(t)?No(t):l_(t)}function u_(t){var e=t.getBoundingClientRect(),n=mr(e.width)/t.offsetWidth||1,i=mr(e.height)/t.offsetHeight||1;return n!==1||i!==1}function d_(t,e,n){n===void 0&&(n=!1);var i=_t(e),s=_t(e)&&u_(e),l=Ln(e),u=yr(t,s,n),p={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(i||!i&&!n)&&((Bt(e)!=="body"||Po(l))&&(p=c_(e)),_t(e)?(h=yr(e,!0),h.x+=e.clientLeft,h.y+=e.clientTop):l&&(h.x=$o(l))),{x:u.left+p.scrollLeft-h.x,y:u.top+p.scrollTop-h.y,width:u.width,height:u.height}}function f_(t){var e=new Map,n=new Set,i=[];t.forEach(function(l){e.set(l.name,l)});function s(l){n.add(l.name);var u=[].concat(l.requires||[],l.requiresIfExists||[]);u.forEach(function(p){if(!n.has(p)){var h=e.get(p);h&&s(h)}}),i.push(l)}return t.forEach(function(l){n.has(l.name)||s(l)}),i}function p_(t){var e=f_(t);return Eb.reduce(function(n,i){return n.concat(e.filter(function(s){return s.phase===i}))},[])}function h_(t){var e;return function(){return e||(e=new Promise(function(n){Promise.resolve().then(function(){e=void 0,n(t())})})),e}}function v_(t){var e=t.reduce(function(n,i){var s=n[i.name];return n[i.name]=s?Object.assign({},s,i,{options:Object.assign({},s.options,i.options),data:Object.assign({},s.data,i.data)}):i,n},{});return Object.keys(e).map(function(n){return e[n]})}var Tu={placement:"bottom",modifiers:[],strategy:"absolute"};function ku(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return!e.some(function(i){return!(i&&typeof i.getBoundingClientRect=="function")})}function g_(t){t===void 0&&(t={});var e=t,n=e.defaultModifiers,i=n===void 0?[]:n,s=e.defaultOptions,l=s===void 0?Tu:s;return function(p,h,y){y===void 0&&(y=l);var g={placement:"bottom",orderedModifiers:[],options:Object.assign({},Tu,l),modifiersData:{},elements:{reference:p,popper:h},attributes:{},styles:{}},S=[],A=!1,w={state:g,setOptions:function(H){var V=typeof H=="function"?H(g.options):H;B(),g.options=Object.assign({},l,g.options,V),g.scrollParents={reference:Wn(p)?Fr(p):p.contextElement?Fr(p.contextElement):[],popper:Fr(h)};var Q=p_(v_([].concat(i,g.options.modifiers)));return g.orderedModifiers=Q.filter(function(E){return E.enabled}),O(),w.update()},forceUpdate:function(){if(!A){var H=g.elements,V=H.reference,Q=H.popper;if(ku(V,Q)){g.rects={reference:d_(V,ti(Q),g.options.strategy==="fixed"),popper:Mo(Q)},g.reset=!1,g.placement=g.options.placement,g.orderedModifiers.forEach(function(oe){return g.modifiersData[oe.name]=Object.assign({},oe.data)});for(var E=0;E<g.orderedModifiers.length;E++){if(g.reset===!0){g.reset=!1,E=-1;continue}var X=g.orderedModifiers[E],z=X.fn,q=X.options,Y=q===void 0?{}:q,_e=X.name;typeof z=="function"&&(g=z({state:g,options:Y,name:_e,instance:w})||g)}}}},update:h_(function(){return new Promise(function($){w.forceUpdate(),$(g)})}),destroy:function(){B(),A=!0}};if(!ku(p,h))return w;w.setOptions(y).then(function($){!A&&y.onFirstUpdate&&y.onFirstUpdate($)});function O(){g.orderedModifiers.forEach(function($){var H=$.name,V=$.options,Q=V===void 0?{}:V,E=$.effect;if(typeof E=="function"){var X=E({state:g,name:H,instance:w,options:Q}),z=function(){};S.push(X||z)}})}function B(){S.forEach(function($){return $()}),S=[]}return w}}var m_=[Bb,i_,Hb,gf,n_,Jb,o_,Ib,Xb],y_=g_({defaultModifiers:m_}),b_="tippy-box",Cf="tippy-content",__="tippy-backdrop",Ef="tippy-arrow",Sf="tippy-svg-arrow",Hn={passive:!0,capture:!0},xf=function(){return document.body};function Ys(t,e,n){if(Array.isArray(t)){var i=t[e];return i==null?Array.isArray(n)?n[e]:n:i}return t}function Ho(t,e){var n={}.toString.call(t);return n.indexOf("[object")===0&&n.indexOf(e+"]")>-1}function Df(t,e){return typeof t=="function"?t.apply(void 0,e):t}function Ru(t,e){if(e===0)return t;var n;return function(i){clearTimeout(n),n=setTimeout(function(){t(i)},e)}}function w_(t){return t.split(/\s+/).filter(Boolean)}function ur(t){return[].concat(t)}function Ou(t,e){t.indexOf(e)===-1&&t.push(e)}function L_(t){return t.filter(function(e,n){return t.indexOf(e)===n})}function A_(t){return t.split("-")[0]}function ua(t){return[].slice.call(t)}function Mu(t){return Object.keys(t).reduce(function(e,n){return t[n]!==void 0&&(e[n]=t[n]),e},{})}function Ur(){return document.createElement("div")}function va(t){return["Element","Fragment"].some(function(e){return Ho(t,e)})}function C_(t){return Ho(t,"NodeList")}function E_(t){return Ho(t,"MouseEvent")}function S_(t){return!!(t&&t._tippy&&t._tippy.reference===t)}function x_(t){return va(t)?[t]:C_(t)?ua(t):Array.isArray(t)?t:ua(document.querySelectorAll(t))}function Qs(t,e){t.forEach(function(n){n&&(n.style.transitionDuration=e+"ms")})}function Iu(t,e){t.forEach(function(n){n&&n.setAttribute("data-state",e)})}function D_(t){var e,n=ur(t),i=n[0];return i!=null&&(e=i.ownerDocument)!=null&&e.body?i.ownerDocument:document}function T_(t,e){var n=e.clientX,i=e.clientY;return t.every(function(s){var l=s.popperRect,u=s.popperState,p=s.props,h=p.interactiveBorder,y=A_(u.placement),g=u.modifiersData.offset;if(!g)return!0;var S=y==="bottom"?g.top.y:0,A=y==="top"?g.bottom.y:0,w=y==="right"?g.left.x:0,O=y==="left"?g.right.x:0,B=l.top-i+S>h,$=i-l.bottom-A>h,H=l.left-n+w>h,V=n-l.right-O>h;return B||$||H||V})}function qs(t,e,n){var i=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(s){t[i](s,n)})}function Nu(t,e){for(var n=e;n;){var i;if(t.contains(n))return!0;n=n.getRootNode==null||(i=n.getRootNode())==null?void 0:i.host}return!1}var Pt={isTouch:!1},$u=0;function k_(){Pt.isTouch||(Pt.isTouch=!0,window.performance&&document.addEventListener("mousemove",Tf))}function Tf(){var t=performance.now();t-$u<20&&(Pt.isTouch=!1,document.removeEventListener("mousemove",Tf)),$u=t}function R_(){var t=document.activeElement;if(S_(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}function O_(){document.addEventListener("touchstart",k_,Hn),window.addEventListener("blur",R_)}var M_=typeof window!="undefined"&&typeof document!="undefined",I_=M_?!!window.msCrypto:!1,N_={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},$_={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},xt=Object.assign({appendTo:xf,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},N_,$_),P_=Object.keys(xt),H_=function(e){var n=Object.keys(e);n.forEach(function(i){xt[i]=e[i]})};function kf(t){var e=t.plugins||[],n=e.reduce(function(i,s){var l=s.name,u=s.defaultValue;if(l){var p;i[l]=t[l]!==void 0?t[l]:(p=xt[l])!=null?p:u}return i},{});return Object.assign({},t,n)}function j_(t,e){var n=e?Object.keys(kf(Object.assign({},xt,{plugins:e}))):P_,i=n.reduce(function(s,l){var u=(t.getAttribute("data-tippy-"+l)||"").trim();if(!u)return s;if(l==="content")s[l]=u;else try{s[l]=JSON.parse(u)}catch(p){s[l]=u}return s},{});return i}function Pu(t,e){var n=Object.assign({},e,{content:Df(e.content,[t])},e.ignoreAttributes?{}:j_(t,e.plugins));return n.aria=Object.assign({},xt.aria,n.aria),n.aria={expanded:n.aria.expanded==="auto"?e.interactive:n.aria.expanded,content:n.aria.content==="auto"?e.interactive?null:"describedby":n.aria.content},n}var B_=function(){return"innerHTML"};function fo(t,e){t[B_()]=e}function Hu(t){var e=Ur();return t===!0?e.className=Ef:(e.className=Sf,va(t)?e.appendChild(t):fo(e,t)),e}function ju(t,e){va(e.content)?(fo(t,""),t.appendChild(e.content)):typeof e.content!="function"&&(e.allowHTML?fo(t,e.content):t.textContent=e.content)}function po(t){var e=t.firstElementChild,n=ua(e.children);return{box:e,content:n.find(function(i){return i.classList.contains(Cf)}),arrow:n.find(function(i){return i.classList.contains(Ef)||i.classList.contains(Sf)}),backdrop:n.find(function(i){return i.classList.contains(__)})}}function Rf(t){var e=Ur(),n=Ur();n.className=b_,n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var i=Ur();i.className=Cf,i.setAttribute("data-state","hidden"),ju(i,t.props),e.appendChild(n),n.appendChild(i),s(t.props,t.props);function s(l,u){var p=po(e),h=p.box,y=p.content,g=p.arrow;u.theme?h.setAttribute("data-theme",u.theme):h.removeAttribute("data-theme"),typeof u.animation=="string"?h.setAttribute("data-animation",u.animation):h.removeAttribute("data-animation"),u.inertia?h.setAttribute("data-inertia",""):h.removeAttribute("data-inertia"),h.style.maxWidth=typeof u.maxWidth=="number"?u.maxWidth+"px":u.maxWidth,u.role?h.setAttribute("role",u.role):h.removeAttribute("role"),(l.content!==u.content||l.allowHTML!==u.allowHTML)&&ju(y,t.props),u.arrow?g?l.arrow!==u.arrow&&(h.removeChild(g),h.appendChild(Hu(u.arrow))):h.appendChild(Hu(u.arrow)):g&&h.removeChild(g)}return{popper:e,onUpdate:s}}Rf.$$tippy=!0;var V_=1,Ui=[],Js=[];function F_(t,e){var n=Pu(t,Object.assign({},xt,kf(Mu(e)))),i,s,l,u=!1,p=!1,h=!1,y=!1,g,S,A,w=[],O=Ru(Me,n.interactiveDebounce),B,$=V_++,H=null,V=L_(n.plugins),Q={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},E={id:$,reference:t,popper:Ur(),popperInstance:H,props:n,state:Q,plugins:V,clearDelayTimeouts:En,setProps:Et,setContent:zt,show:Sn,hide:Se,hideWithInteractivity:Tt,enable:on,disable:et,unmount:tt,destroy:Wt};if(!n.render)return E;var X=n.render(E),z=X.popper,q=X.onUpdate;z.setAttribute("data-tippy-root",""),z.id="tippy-"+E.id,E.popper=z,t._tippy=E,z._tippy=E;var Y=V.map(function(N){return N.fn(E)}),_e=t.hasAttribute("aria-expanded");return be(),st(),Pe(),re("onCreate",[E]),n.showOnCreate&&Ut(),z.addEventListener("mouseenter",function(){E.props.interactive&&E.state.isVisible&&E.clearDelayTimeouts()}),z.addEventListener("mouseleave",function(){E.props.interactive&&E.props.trigger.indexOf("mouseenter")>=0&&Ge().addEventListener("mousemove",O)}),E;function oe(){var N=E.props.touch;return Array.isArray(N)?N:[N,0]}function ke(){return oe()[0]==="hold"}function Ce(){var N;return!!((N=E.props.render)!=null&&N.$$tippy)}function pe(){return B||t}function Ge(){var N=pe().parentNode;return N?D_(N):document}function Ve(){return po(z)}function te(N){return E.state.isMounted&&!E.state.isVisible||Pt.isTouch||g&&g.type==="focus"?0:Ys(E.props.delay,N?0:1,xt.delay)}function Pe(N){N===void 0&&(N=!1),z.style.pointerEvents=E.props.interactive&&!N?"":"none",z.style.zIndex=""+E.props.zIndex}function re(N,Z,ne){if(ne===void 0&&(ne=!0),Y.forEach(function(le){le[N]&&le[N].apply(le,Z)}),ne){var ce;(ce=E.props)[N].apply(ce,Z)}}function Re(){var N=E.props.aria;if(N.content){var Z="aria-"+N.content,ne=z.id,ce=ur(E.props.triggerTarget||t);ce.forEach(function(le){var Le=le.getAttribute(Z);if(E.state.isVisible)le.setAttribute(Z,Le?Le+" "+ne:ne);else{var ze=Le&&Le.replace(ne,"").trim();ze?le.setAttribute(Z,ze):le.removeAttribute(Z)}})}}function st(){if(!(_e||!E.props.aria.expanded)){var N=ur(E.props.triggerTarget||t);N.forEach(function(Z){E.props.interactive?Z.setAttribute("aria-expanded",E.state.isVisible&&Z===pe()?"true":"false"):Z.removeAttribute("aria-expanded")})}}function Qe(){Ge().removeEventListener("mousemove",O),Ui=Ui.filter(function(N){return N!==O})}function ot(N){if(!(Pt.isTouch&&(h||N.type==="mousedown"))){var Z=N.composedPath&&N.composedPath()[0]||N.target;if(!(E.props.interactive&&Nu(z,Z))){if(ur(E.props.triggerTarget||t).some(function(ne){return Nu(ne,Z)})){if(Pt.isTouch||E.state.isVisible&&E.props.trigger.indexOf("click")>=0)return}else re("onClickOutside",[E,N]);E.props.hideOnClick===!0&&(E.clearDelayTimeouts(),E.hide(),p=!0,setTimeout(function(){p=!1}),E.state.isMounted||Ke())}}}function ht(){h=!0}function lt(){h=!1}function Je(){var N=Ge();N.addEventListener("mousedown",ot,!0),N.addEventListener("touchend",ot,Hn),N.addEventListener("touchstart",lt,Hn),N.addEventListener("touchmove",ht,Hn)}function Ke(){var N=Ge();N.removeEventListener("mousedown",ot,!0),N.removeEventListener("touchend",ot,Hn),N.removeEventListener("touchstart",lt,Hn),N.removeEventListener("touchmove",ht,Hn)}function Vt(N,Z){Ft(N,function(){!E.state.isVisible&&z.parentNode&&z.parentNode.contains(z)&&Z()})}function Fe(N,Z){Ft(N,Z)}function Ft(N,Z){var ne=Ve().box;function ce(le){le.target===ne&&(qs(ne,"remove",ce),Z())}if(N===0)return Z();qs(ne,"remove",S),qs(ne,"add",ce),S=ce}function At(N,Z,ne){ne===void 0&&(ne=!1);var ce=ur(E.props.triggerTarget||t);ce.forEach(function(le){le.addEventListener(N,Z,ne),w.push({node:le,eventType:N,handler:Z,options:ne})})}function be(){ke()&&(At("touchstart",An,{passive:!0}),At("touchend",Ue,{passive:!0})),w_(E.props.trigger).forEach(function(N){if(N!=="manual")switch(At(N,An),N){case"mouseenter":At("mouseleave",Ue);break;case"focus":At(I_?"focusout":"blur",Xe);break;case"focusin":At("focusout",Xe);break}})}function Jn(){w.forEach(function(N){var Z=N.node,ne=N.eventType,ce=N.handler,le=N.options;Z.removeEventListener(ne,ce,le)}),w=[]}function An(N){var Z,ne=!1;if(!(!E.state.isEnabled||vt(N)||p)){var ce=((Z=g)==null?void 0:Z.type)==="focus";g=N,B=N.currentTarget,st(),!E.state.isVisible&&E_(N)&&Ui.forEach(function(le){return le(N)}),N.type==="click"&&(E.props.trigger.indexOf("mouseenter")<0||u)&&E.props.hideOnClick!==!1&&E.state.isVisible?ne=!0:Ut(N),N.type==="click"&&(u=!ne),ne&&!ce&&Dt(N)}}function Me(N){var Z=N.target,ne=pe().contains(Z)||z.contains(Z);if(!(N.type==="mousemove"&&ne)){var ce=Ct().concat(z).map(function(le){var Le,ze=le._tippy,ut=(Le=ze.popperInstance)==null?void 0:Le.state;return ut?{popperRect:le.getBoundingClientRect(),popperState:ut,props:n}:null}).filter(Boolean);T_(ce,N)&&(Qe(),Dt(N))}}function Ue(N){var Z=vt(N)||E.props.trigger.indexOf("click")>=0&&u;if(!Z){if(E.props.interactive){E.hideWithInteractivity(N);return}Dt(N)}}function Xe(N){E.props.trigger.indexOf("focusin")<0&&N.target!==pe()||E.props.interactive&&N.relatedTarget&&z.contains(N.relatedTarget)||Dt(N)}function vt(N){return Pt.isTouch?ke()!==N.type.indexOf("touch")>=0:!1}function Cn(){Kn();var N=E.props,Z=N.popperOptions,ne=N.placement,ce=N.offset,le=N.getReferenceClientRect,Le=N.moveTransition,ze=Ce()?po(z).arrow:null,ut=le?{getBoundingClientRect:le,contextElement:le.contextElement||pe()}:t,Gt={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(xn){var Zt=xn.state;if(Ce()){var wr=Ve(),gt=wr.box;["placement","reference-hidden","escaped"].forEach(function(Xn){Xn==="placement"?gt.setAttribute("data-placement",Zt.placement):Zt.attributes.popper["data-popper-"+Xn]?gt.setAttribute("data-"+Xn,""):gt.removeAttribute("data-"+Xn)}),Zt.attributes.popper={}}}},kt=[{name:"offset",options:{offset:ce}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!Le}},Gt];Ce()&&ze&&kt.push({name:"arrow",options:{element:ze,padding:3}}),kt.push.apply(kt,(Z==null?void 0:Z.modifiers)||[]),E.popperInstance=y_(ut,z,Object.assign({},Z,{placement:ne,onFirstUpdate:A,modifiers:kt}))}function Kn(){E.popperInstance&&(E.popperInstance.destroy(),E.popperInstance=null)}function ct(){var N=E.props.appendTo,Z,ne=pe();E.props.interactive&&N===xf||N==="parent"?Z=ne.parentNode:Z=Df(N,[ne]),Z.contains(z)||Z.appendChild(z),E.state.isMounted=!0,Cn()}function Ct(){return ua(z.querySelectorAll("[data-tippy-root]"))}function Ut(N){E.clearDelayTimeouts(),N&&re("onTrigger",[E,N]),Je();var Z=te(!0),ne=oe(),ce=ne[0],le=ne[1];Pt.isTouch&&ce==="hold"&&le&&(Z=le),Z?i=setTimeout(function(){E.show()},Z):E.show()}function Dt(N){if(E.clearDelayTimeouts(),re("onUntrigger",[E,N]),!E.state.isVisible){Ke();return}if(!(E.props.trigger.indexOf("mouseenter")>=0&&E.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(N.type)>=0&&u)){var Z=te(!1);Z?s=setTimeout(function(){E.state.isVisible&&E.hide()},Z):l=requestAnimationFrame(function(){E.hide()})}}function on(){E.state.isEnabled=!0}function et(){E.hide(),E.state.isEnabled=!1}function En(){clearTimeout(i),clearTimeout(s),cancelAnimationFrame(l)}function Et(N){if(!E.state.isDestroyed){re("onBeforeUpdate",[E,N]),Jn();var Z=E.props,ne=Pu(t,Object.assign({},Z,Mu(N),{ignoreAttributes:!0}));E.props=ne,be(),Z.interactiveDebounce!==ne.interactiveDebounce&&(Qe(),O=Ru(Me,ne.interactiveDebounce)),Z.triggerTarget&&!ne.triggerTarget?ur(Z.triggerTarget).forEach(function(ce){ce.removeAttribute("aria-expanded")}):ne.triggerTarget&&t.removeAttribute("aria-expanded"),st(),Pe(),q&&q(Z,ne),E.popperInstance&&(Cn(),Ct().forEach(function(ce){requestAnimationFrame(ce._tippy.popperInstance.forceUpdate)})),re("onAfterUpdate",[E,N])}}function zt(N){E.setProps({content:N})}function Sn(){var N=E.state.isVisible,Z=E.state.isDestroyed,ne=!E.state.isEnabled,ce=Pt.isTouch&&!E.props.touch,le=Ys(E.props.duration,0,xt.duration);if(!(N||Z||ne||ce)&&!pe().hasAttribute("disabled")&&(re("onShow",[E],!1),E.props.onShow(E)!==!1)){if(E.state.isVisible=!0,Ce()&&(z.style.visibility="visible"),Pe(),Je(),E.state.isMounted||(z.style.transition="none"),Ce()){var Le=Ve(),ze=Le.box,ut=Le.content;Qs([ze,ut],0)}A=function(){var kt;if(!(!E.state.isVisible||y)){if(y=!0,z.offsetHeight,z.style.transition=E.props.moveTransition,Ce()&&E.props.animation){var ln=Ve(),xn=ln.box,Zt=ln.content;Qs([xn,Zt],le),Iu([xn,Zt],"visible")}Re(),st(),Ou(Js,E),(kt=E.popperInstance)==null||kt.forceUpdate(),re("onMount",[E]),E.props.animation&&Ce()&&Fe(le,function(){E.state.isShown=!0,re("onShown",[E])})}},ct()}}function Se(){var N=!E.state.isVisible,Z=E.state.isDestroyed,ne=!E.state.isEnabled,ce=Ys(E.props.duration,1,xt.duration);if(!(N||Z||ne)&&(re("onHide",[E],!1),E.props.onHide(E)!==!1)){if(E.state.isVisible=!1,E.state.isShown=!1,y=!1,u=!1,Ce()&&(z.style.visibility="hidden"),Qe(),Ke(),Pe(!0),Ce()){var le=Ve(),Le=le.box,ze=le.content;E.props.animation&&(Qs([Le,ze],ce),Iu([Le,ze],"hidden"))}Re(),st(),E.props.animation?Ce()&&Vt(ce,E.unmount):E.unmount()}}function Tt(N){Ge().addEventListener("mousemove",O),Ou(Ui,O),O(N)}function tt(){E.state.isVisible&&E.hide(),E.state.isMounted&&(Kn(),Ct().forEach(function(N){N._tippy.unmount()}),z.parentNode&&z.parentNode.removeChild(z),Js=Js.filter(function(N){return N!==E}),E.state.isMounted=!1,re("onHidden",[E]))}function Wt(){E.state.isDestroyed||(E.clearDelayTimeouts(),E.unmount(),Jn(),delete t._tippy,E.state.isDestroyed=!0,re("onDestroy",[E]))}}function ni(t,e){e===void 0&&(e={});var n=xt.plugins.concat(e.plugins||[]);O_();var i=Object.assign({},e,{plugins:n}),s=x_(t),l=s.reduce(function(u,p){var h=p&&F_(p,i);return h&&u.push(h),u},[]);return va(t)?l[0]:l}ni.defaultProps=xt;ni.setDefaultProps=H_;ni.currentInput=Pt;Object.assign({},gf,{effect:function(e){var n=e.state,i={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(n.elements.popper.style,i.popper),n.styles=i,n.elements.arrow&&Object.assign(n.elements.arrow.style,i.arrow)}});ni.setDefaultProps({render:Rf});const U_={components:{FullCalendar:sf},props:["events"],data(){return{calendarOptions:{plugins:[pb],initialView:"dayGridMonth",contentHeight:"auto",locale:"cs",buttonText:{today:"dnes"},eventTimeFormat:{hour:"numeric",minute:"2-digit",meridiem:!1},eventClick(t){t.jsEvent.preventDefault(),ni(t.el,{content:`
+                                <div class="p-2 flex flex-col gap-3 text-white">
+                                    ${t.event.title!==void 0?`
+                                            <div class="flex gap-2 items-baseline">
+                                                <strong>${t.event.title}</strong>
+                                            </div>
+                                        `:""}
+                                    ${t.event.allDay?"":`
+                                            <div class="flex gap-2 items-baseline">
+                                                <i class="ico--clock" aria-label="Místo konání"></i>
+                                                <div>${t.event.start.toLocaleTimeString("cs-CZ",{hour:"2-digit",minute:"2-digit"})+" - "+t.event.end.toLocaleTimeString("cs-CZ",{hour:"2-digit",minute:"2-digit"})}</div>
+                                            </div>
+                                        `}
+                                    ${t.event.extendedProps.location!==void 0?`
+                                            <div class="flex gap-2 items-baseline">
+                                                <i class="ico--location" aria-label="Místo konání"></i>
+                                                <div>${t.event.extendedProps.location}</div>
+                                            </div>
+                                        `:""}
+                                    ${t.event.extendedProps.description!==void 0?`
+                                            <div class="flex gap-2 items-baseline">
+                                                <i class="ico--info" aria-label="Popis"></i>
+                                                <div class="[&_a]:underline">${t.event.extendedProps.description}</div>
+                                            </div>
+                                        `:""}
+                                    ${t.event.url!==""?`
+                                            <div class="flex gap-2 items-baseline">
+                                                <i class="ico--link" aria-label="Adresa"></i>
+                                                <a class="underline cursor-pointer" href="${t.event.url}">${t.event.url}</a>
+                                            </div>
+                                        `:""}
+                                </div>
+                            `,trigger:t.event.url!==""&&t.event.extendedProps.location===void 0&&t.event.extendedProps.url===void 0?"hover":"click",allowHTML:!0,interactive:!0,onShow(n){n.popper.style.minWidth="250px"}}).show()},events:JSON.parse(this.events)}}}};var z_=function(){var e=this,n=e._self._c;return n("FullCalendar",{attrs:{options:e.calendarOptions}})},W_=[],G_=Ne(U_,z_,W_,!1,null,null,null,null);const Z_=G_.exports,Y_={props:{links:{type:Object,default:function(){return{praha:"https://praha.pirati.cz",stredocesky:"https://stredocesky.pirati.cz",jihocesky:"https://jihocesky.pirati.cz",plzensky:"https://plzensky.pirati.cz",karlovarsky:"https://karlovarsky.pirati.cz",ustecky:"https://ustecky.pirati.cz",liberecky:"https://liberecky.pirati.cz",kralovehradecky:"https://kralovehradecky.pirati.cz",moravskoslezsky:"https://moravskoslezsky.pirati.cz",pardubicky:"https://pardubicky.pirati.cz",vysocina:"https://vysocina.pirati.cz",jihomoravsky:"https://jihomoravsky.pirati.cz",olomoucky:"https://olomoucky.pirati.cz",zlinsky:"https://zlinsky.pirati.cz"}}}},methods:{selectRegion(t){const e=this.$props.links[t.id];window.open(e,"_blank")}},data(){return{current:null,regions:[{id:"jihocesky",name:"Jihočeský kraj",polygon:"M173.5,445.61L179.5,447.36L185.61599999999999,452.692L184.61599999999999,455.789L188.963,462.31L196.57,463.669L198.743,470.46099999999996L203.905,477.25299999999993L206.079,483.50199999999995L211.78400000000002,483.77299999999997L221.56500000000003,493.01L226.72700000000003,494.911L232.43300000000002,501.704L228.35800000000003,506.051L237.32400000000004,515.0169999999999H247.64800000000005L257.97200000000004,516.9179999999999L266.39400000000006,521.8089999999999L278.34800000000007,511.75599999999986L280.79300000000006,505.50799999999987L287.0420000000001,510.9419999999999L293.83400000000006,512.2999999999998L299.2680000000001,510.94199999999984L308.2340000000001,516.9189999999999L311.7660000000001,511.2139999999999L310.68000000000006,505.77999999999986L311.76700000000005,496.54299999999984L319.3740000000001,490.29499999999985L322.09100000000007,482.4159999999998L329.1550000000001,482.68699999999984L338.9360000000001,485.67499999999984L340.5660000000001,482.68699999999984L338.1210000000001,478.33999999999986L339.4790000000001,472.36199999999985L341.9240000000001,465.02599999999984L341.1090000000001,455.5169999999998L340.5660000000001,445.4639999999998L343.5540000000001,439.75899999999984L352.5200000000001,442.74699999999984L360.1270000000001,444.3779999999998L362.5720000000001,452.5279999999998L374.2550000000001,449.8109999999998L377.5150000000001,445.4629999999998L385.3940000000001,445.7349999999998L397.3490000000001,451.9829999999998L401.4240000000001,453.88499999999976L405.5010000000001,459.85699999999974L408.7510000000001,452.85699999999974L404.7510000000001,446.60699999999974L400.2510000000001,442.60699999999974L405.7510000000001,436.85699999999974L406.7510000000001,430.60699999999974L412.0010000000001,429.60699999999974L412.7510000000001,425.10699999999974L405.5010000000001,419.35699999999974L398.5010000000001,420.85699999999974L390.0010000000001,420.60699999999974L383.5010000000001,414.10699999999974L384.5010000000001,408.60699999999974L381.2510000000001,404.10699999999974L374.0010000000001,405.35699999999974L366.0010000000001,402.35699999999974L361.0010000000001,405.10699999999974L355.5010000000001,400.10699999999974L352.7510000000001,395.10699999999974L346.5010000000001,391.60699999999974L341.7510000000001,394.35699999999974L336.2510000000001,389.85699999999974L333.5010000000001,384.85699999999974L334.7510000000001,380.35699999999974L332.0010000000001,374.60699999999974V366.85699999999974L335.0010000000001,363.10699999999974L335.2510000000001,356.10699999999974L333.5010000000001,349.60699999999974L330.2510000000001,344.85699999999974L328.0010000000001,339.35699999999974L323.7510000000001,339.85699999999974L316.0010000000001,333.35699999999974L310.7510000000001,337.10699999999974L312.2510000000001,344.85699999999974L305.7510000000001,348.35699999999974L302.2510000000001,352.35699999999974L295.0010000000001,349.35699999999974L287.0010000000001,347.35699999999974L282.5010000000001,348.10699999999974L276.0010000000001,345.10699999999974L269.7510000000001,348.85699999999974C269.7510000000001,348.85699999999974,266.10300000000007,348.62199999999973,265.5010000000001,348.60699999999974S261.5010000000001,343.60699999999974,261.5010000000001,343.60699999999974H255.5010000000001L252.5010000000001,347.35699999999974L239.0010000000001,348.85699999999974L235.2510000000001,344.85699999999974H230.5010000000001L227.7510000000001,349.60699999999974L220.7510000000001,353.10699999999974L216.2510000000001,350.85699999999974L202.5010000000001,350.35699999999974L199.7510000000001,354.35699999999974L201.2510000000001,359.85699999999974V364.35699999999974L200.5010000000001,372.10699999999974L204.0010000000001,377.85699999999974L199.5010000000001,384.85699999999974L196.0010000000001,387.60699999999974V391.35699999999974L193.0010000000001,394.10699999999974L196.7510000000001,398.35699999999974L192.0010000000001,400.85699999999974L195.0010000000001,406.85699999999974L192.5010000000001,412.85699999999974L186.5010000000001,415.10699999999974L185.0010000000001,417.85699999999974L180.5010000000001,416.35699999999974L179.2510000000001,426.10699999999974L181.7510000000001,430.10699999999974L180.5010000000001,433.60699999999974L175.2510000000001,435.85699999999974L173.57600000000008,441.83199999999977L173.5,445.61Z"},{id:"plzensky",name:"Plzeňský kraj",polygon:"M151.027,246.771L147.637,255.059L141.986,256.566V265.042L134.452,259.39099999999996L126.541,258.44899999999996L111.472,268.24299999999994V273.89399999999995L107.61099999999999,277.75499999999994L101.30099999999999,274.6479999999999L98.09899999999999,276.1549999999999L91.883,272.38699999999994L84.34899999999999,275.58899999999994L78.981,280.95699999999994L73.99,276.5299999999999L69.469,280.2979999999999L62.355999999999995,280.0069999999999L54.477,291.9609999999999L54,299.11L45.784,306.63300000000004L52.033,313.696L59.64,318.858L59.097,326.737L64.259,332.71500000000003L63.987,340.05L72.138,345.75600000000003L71.32300000000001,354.721L72.68100000000001,360.969L79.20200000000001,364.501L84.90800000000002,370.479L89.25500000000001,377.81399999999996L97.13400000000001,379.98799999999994L99.85100000000001,378.08699999999993L106.91400000000002,379.44499999999994L115.88000000000001,385.96599999999995L116.96700000000001,393.30099999999993L124.84600000000002,401.17999999999995V404.9839999999999L132.181,410.68999999999994L133.53900000000002,416.3949999999999L138.43,419.9269999999999H145.222L151.743,426.4479999999999L157.72,435.1409999999999L158.535,444.6509999999999L169.674,451.9859999999999L173.501,445.6109999999999L173.576,441.8359999999999L175.251,435.8609999999999L180.501,433.6109999999999L181.751,430.1109999999999L179.251,426.1109999999999L180.501,416.3609999999999L185.001,417.8609999999999L186.501,415.1109999999999L192.501,412.8609999999999L195.001,406.8609999999999L192.001,400.8609999999999L196.751,398.3609999999999L193.001,394.1109999999999L196.001,391.3609999999999V387.6109999999999L199.501,384.8609999999999L204.001,377.8609999999999L200.501,372.1109999999999L201.251,364.3609999999999V359.8609999999999L199.751,354.3609999999999L202.501,350.3609999999999L199.251,344.8609999999999L199.501,338.8609999999999L200.751,334.3609999999999L197.501,331.8609999999999L194.001,327.3609999999999L195.751,322.3609999999999L191.751,318.1109999999999L197.001,314.3609999999999H202.501L207.251,308.6109999999999L205.001,304.1109999999999L207.501,299.8609999999999L205.251,293.8609999999999L210.001,289.1109999999999L208.751,285.3609999999999L209.251,278.8609999999999L205.001,276.1109999999999L200.001,275.1109999999999L199.751,271.1109999999999L194.751,272.1109999999999C194.751,272.1109999999999,189.695,265.40499999999986,189.501,265.3609999999999S185.001,267.1109999999999,185.001,267.1109999999999L180.501,264.8609999999999L176.501,262.6109999999999L175.751,258.3609999999999L169.001,257.8609999999999L165.001,260.3609999999999L161.501,257.1109999999999L164.251,253.61099999999988L161.95600000000002,250.7269999999999L155.175,246.7709999999999L151.027,246.771Z"},{id:"karlovarsky",name:"Karlovarský kraj",polygon:"M69.47,280.299L62.357,280.008V274.846L57.195,272.401L57.466,266.42400000000004L42.251,256.1L32.742,251.21000000000004L28.665999999999997,243.87400000000002L24.590999999999998,239.25500000000002L26.493,230.83300000000003L20.244,221.324L15.761,216.841L18.886,210.728L16.169999999999998,203.936H24.863999999999997L27.037,206.11V212.08700000000002H31.656L34.237,214.668L32.742000000000004,218.87900000000002L35.459,221.59600000000003V228.38800000000003L39.535000000000004,232.46400000000003L41.437000000000005,222.68300000000002C41.437000000000005,222.68300000000002,40.07900000000001,219.42200000000003,41.437000000000005,218.06400000000002S46.871,212.63000000000002,46.871,212.63000000000002L49.316,204.479L59.912000000000006,198.774V194.97L63.30800000000001,191.574L71.051,190.351L80.83200000000001,188.721L84.09200000000001,191.981L89.52600000000001,185.189L99.57900000000001,182.47199999999998L110.17500000000001,190.35099999999997L115.019,195.19499999999996H125.036L129.933,197.04499999999996C129.933,197.04499999999996,129.676,201.25999999999996,129.933,201.75399999999996S140.66899999999998,200.62399999999997,140.66899999999998,200.62399999999997L145.378,205.33299999999997L140.76299999999998,209.94799999999998L143.30599999999998,214.75099999999998L141.611,220.96599999999998L145.755,225.10999999999999L144.06,228.689L148.768,235.093L144.059,239.801L151.028,246.771L147.638,255.059L141.987,256.566V265.042L134.453,259.39099999999996L126.542,258.44899999999996L111.473,268.24299999999994V273.89399999999995L107.612,277.75499999999994L101.30199999999999,274.6479999999999L98.1,276.1549999999999L91.884,272.38699999999994L84.35,275.58899999999994L78.982,280.95699999999994L73.991,276.5299999999999L69.47,280.299Z"},{id:"jihomoravsky",name:"Jihomoravský kraj",polygon:"M546.667,336.777L540.5,330.61H522L518.333,336.61H506L502.75,339.86L501.5,344.61L506.75,348.11L505.25,351.11L500.25,354.11L503,360.61L500.75,365.36L502.75,370.36L503.25,379.36L493.5,383.86L491.75,387.86L487.25,390.86L491,395.61L487,398.86L485.75,403.36L491,408.61L485.25,412.11L486.75,417.11C486.75,417.11,491.12,419.697,491.25,420.36S489.5,423.61,489.5,423.61L485.75,424.61L483.5,430.11L478.75,428.86L475.75,433.61L470.25,436.36L464.5,434.61L460.25,437.11L454,432.86L447,435.86L444.75,441.11H438.75L435.5,445.61L432,446.61L429,452.36L423.25,448.11L417.75,453.86L413.25,450.61L408.75,452.86L405.5,459.86L409.03,460.409L416.09299999999996,461.223L424.24299999999994,467.201L432.39399999999995,468.016L434.29499999999996,464.755L442.44499999999994,465.57L454.3999999999999,473.992L455.7579999999999,478.34000000000003L471.51499999999993,487.033L490.26199999999994,486.762L504.66099999999994,489.479L510.09499999999997,483.22999999999996L513.083,475.08L523.136,474.537L527.483,479.155L537.536,480.78499999999997L538.8939999999999,487.578L544.0559999999999,485.947L553.0219999999999,491.382L561.1719999999999,489.208L566.6059999999999,492.74L569.3229999999999,506.324L573.6709999999998,505.781L576.9309999999998,494.37L579.1049999999998,486.491L588.0709999999998,475.351L590.2439999999998,467.74399999999997L593.5049999999998,466.38599999999997L598.3949999999998,461.496H603.5569999999998L613.6099999999998,465.84299999999996L622.3039999999997,471.00499999999994L630.9969999999997,465.29999999999995L638.3329999999997,470.18999999999994L644.8539999999997,468.55999999999995L651.6459999999997,462.3109999999999L649.4999999999998,459.61099999999993L645.7499999999998,454.11099999999993L639.4999999999998,452.61099999999993L639.2499999999998,448.61099999999993L633.4999999999998,445.11099999999993L626.9999999999998,447.61099999999993L621.4999999999998,442.61099999999993L616.2499999999998,442.86099999999993L616.4999999999998,437.11099999999993L608.2499999999998,436.11099999999993L601.9999999999998,432.61099999999993L602.7499999999998,426.86099999999993L599.7499999999998,423.61099999999993L591.4999999999998,426.86099999999993L587.7499999999998,422.11099999999993L592.7499999999998,416.86099999999993L597.2499999999998,413.86099999999993L597.9999999999998,408.86099999999993L591.2499999999998,408.11099999999993L592.7499999999998,402.86099999999993L589.7499999999998,397.61099999999993L593.3749999999998,392.73599999999993L589.4999999999998,386.11099999999993V382.36099999999993L586.3749999999998,379.23599999999993H579.5L578.5,373.86099999999993V368.86099999999993L572.5,365.11099999999993V360.61099999999993L568.625,356.73599999999993L566.25,351.61099999999993H560.75L557,355.86099999999993L561,359.86099999999993L565.125,363.98599999999993L560.75,370.36099999999993L557.75,373.36099999999993L550.25,367.86099999999993L553.75,364.36099999999993L549.25,358.36099999999993V351.86099999999993L554.25,346.61099999999993L548.5,344.86099999999993L543.75,344.61099999999993L546.667,336.777Z"},{id:"zlinsky",name:"Zlínský kraj",polygon:"M737.5,365.046L731.75,362.36L730.5,356.61L723.5,352.11L723,347.61L717.5,349.86H712.25L706.25,345.61L698.25,343.86L690.25,347.11L685.25,342.86H679.5L675.375,346.985L671.25,345.61L664.5,350.11V357.11C664.5,357.11,660.164,361.736,659.125,362.485S653.25,355.86,653.25,355.86L645.5,358.61L647.75,365.36L641,367.36L636,365.86L631.875,369.985L629,375.11L625.125,371.235L618.5,371.61L616.5,366.86L612.5,370.36L614.75,378.11L611,381.86L608.75,385.36L599.25,386.86L593.375,392.735L589.75,397.61L592.75,402.86L591.25,408.11L598,408.86L597.25,413.86L592.75,416.86L587.75,422.11L591.5,426.86L599.75,423.61L602.75,426.86L602,432.61L608.25,436.11L616.5,437.11L616.25,442.86L621.5,442.61L627,447.61L633.5,445.11L639.25,448.61L639.5,452.61L645.75,454.11L649.5,459.61L651.646,462.31H656.5369999999999L663.6009999999999,457.963L668.4909999999999,449.54L678.5439999999999,448.997L680.3099999999998,435.548L684.2489999999998,431.609L697.2899999999998,430.522L704.0829999999999,420.742V409.06L707.6139999999998,399.007V391.944L713.0479999999998,383.522L720.3839999999998,381.62L727.1759999999998,378.088L733.1539999999998,375.915L737.5,365.046Z"},{id:"vysocina",name:"Kraj Vysočina",polygon:"M502.75,339.86L495.5,332.61L489.667,332.44300000000004L482.5,323.94300000000004L468.5,320.77700000000004L466,314.94300000000004L459.333,315.11V311.44300000000004L452.5,315.77700000000004C452.5,315.77700000000004,452.729,321.25500000000005,452.5,321.44300000000004S444.833,318.77700000000004,444.833,318.77700000000004L441,316.77700000000004V311.77700000000004L435.833,309.11000000000007L431.833,308.27700000000004L427.66700000000003,303.94300000000004L420.66700000000003,299.44300000000004L411,299.61L402,292.61L396,293.11L392,296.36L392.5,302.36L386.75,302.11L384.75,306.36H379L375.75,309.36L371.75,308.36L368.75,310.11L368,314.11L364.25,317.61L364,323.36L371.75,327.11C371.75,327.11,372.032,331.726,372,332.36S367.25,335.61,367.25,335.61L363.5,333.86L361.25,337.86L356.75,337.11L350.25,337.36L342,336.11L336.5,341.61L336.25,346.86L333.5,349.61L335.25,356.11L335,363.11L332,366.86V374.61L334.75,380.36L333.5,384.86L336.25,389.86L341.75,394.36L346.5,391.61L352.75,395.11L355.5,400.11L361,405.11L366,402.36L374,405.36L381.25,404.11L384.5,408.61L383.5,414.11L390,420.61L398.5,420.86L405.5,419.36L412.75,425.11L412,429.61L406.75,430.61L405.75,436.86L400.25,442.61L404.75,446.61L408.75,452.86L413.25,450.61L417.75,453.86L423.25,448.11L429,452.36L432,446.61L435.5,445.61L438.75,441.11H444.75L447,435.86L454,432.86L460.25,437.11L464.5,434.61L470.25,436.36L475.75,433.61L478.75,428.86L483.5,430.11L485.75,424.61L489.5,423.61L491.25,420.36L486.75,417.11L485.25,412.11L491,408.61L485.75,403.36L487,398.86L491,395.61L487.25,390.86L491.75,387.86L493.5,383.86L503.25,379.36L502.75,370.36L500.75,365.36L503,360.61L500.25,354.11L505.25,351.11L506.75,348.11L501.5,344.61L502.75,339.86Z"},{id:"stredocesky",name:"Středočeský kraj",polygon:"M404.167,273.11L397.33399999999995,269.777L397.167,265.11L391.667,263.277L386,259.944L386.833,255.27700000000002L390.24800000000005,250.347L392.32000000000005,243.566L384.22100000000006,239.234L388.1770000000001,232.26500000000001L386.1050000000001,227.74400000000003L387.23500000000007,222.09400000000002L385.9170000000001,216.06600000000003L382.9030000000001,213.05200000000002L377.4410000000001,216.63100000000003L368.5880000000001,215.50100000000003V210.22700000000003L363.7850000000001,205.42400000000004L357.4750000000001,204.20000000000005L356.1570000000001,199.49100000000004L360.9600000000001,194.68800000000005L358.0410000000001,186.68300000000005L359.7360000000001,181.97400000000005L356.9110000000001,177.45300000000006L359.35700000000014,173.68500000000006L354.27200000000016,171.42500000000007V167.65800000000007L347.1610000000002,164.03200000000007L343.91200000000015,160.78300000000007H338.35500000000013L334.11700000000013,156.54500000000007L329.9730000000001,163.70200000000008L323.3800000000001,171.0480000000001L321.1200000000001,168.7880000000001L315.47000000000014,169.7290000000001V174.4380000000001L307.55900000000014,180.8420000000001L298.14100000000013,183.1020000000001L295.88100000000014,176.32100000000008L284.95300000000015,176.88600000000008L282.69300000000015,179.90100000000007L283.63500000000016,187.05900000000005H278.92600000000016L277.41900000000015,191.58000000000004H272.52200000000016L274.21700000000016,200.05600000000004L270.63800000000015,203.63500000000005L262.53900000000016,202.88200000000006L258.20600000000013,207.21500000000006H241.81900000000013L233.90800000000013,203.63600000000005L227.50400000000013,207.02600000000004V211.54700000000003L222.32400000000013,216.72700000000003H216.39100000000013L214.36600000000013,218.75100000000003L214.50800000000012,222.66000000000003L208.8570000000001,219.26900000000003L202.6420000000001,225.48400000000004L193.97700000000012,225.29600000000005L185.6890000000001,230.38200000000006L178.3430000000001,230.75800000000007L172.6920000000001,236.03200000000007L171.5620000000001,242.62400000000008L165.3460000000001,245.26100000000008L161.9560000000001,250.72300000000007L164.2510000000001,253.60700000000006L161.5010000000001,257.1070000000001L165.0010000000001,260.3570000000001L169.0010000000001,257.8570000000001L175.7510000000001,258.3570000000001L176.5010000000001,262.6070000000001L180.5010000000001,264.8570000000001L185.0010000000001,267.1070000000001L189.5010000000001,265.3570000000001L194.7510000000001,272.1070000000001L199.7510000000001,271.1070000000001L200.0010000000001,275.1070000000001L205.0010000000001,276.1070000000001L209.2510000000001,278.8570000000001L208.7510000000001,285.3570000000001L210.0010000000001,289.1070000000001L205.2510000000001,293.8570000000001L207.5010000000001,299.8570000000001L205.0010000000001,304.1070000000001L207.2510000000001,308.6070000000001L202.5010000000001,314.3570000000001H197L191.75,318.1070000000001L195.75,322.3570000000001L194,327.3570000000001L197.5,331.8570000000001L200.75,334.3570000000001L199.5,338.8570000000001L199.25,344.8570000000001L202.5,350.3570000000001L216.25,350.8570000000001L220.75,353.1070000000001L227.75,349.6070000000001L230.5,344.8570000000001H235.25L239,348.8570000000001L252.5,347.3570000000001L255.5,343.6070000000001H261.5L265.5,348.6070000000001L269.75,348.8570000000001L276,345.1070000000001L282.5,348.1070000000001L287,347.3570000000001L295,349.3570000000001L302.25,352.3570000000001L305.75,348.3570000000001L312.25,344.8570000000001L310.75,337.1070000000001L316,333.3570000000001L323.75,339.8570000000001L328,339.3570000000001L330.25,344.8570000000001L333.5,349.6070000000001L336.25,346.8570000000001L336.5,341.6070000000001L342,336.1070000000001L350.25,337.3570000000001L356.75,337.1070000000001L361.25,337.8570000000001L363.5,333.8570000000001L367.25,335.6070000000001L372,332.3570000000001L371.75,327.1070000000001L364,323.3570000000001L364.25,317.6070000000001L368,314.1070000000001L368.75,310.1070000000001L371.75,308.3570000000001L375.75,309.3570000000001L379,306.3570000000001H384.75L386.75,302.1070000000001L392.5,302.3570000000001L392,296.3570000000001L396,293.1070000000001L402,292.6070000000001L400,284.4410000000001L403.667,280.7740000000001L404.167,273.11ZM310,254.11L305.167,254.61L301.83399999999995,256.94300000000004L304.167,258.94300000000004L304.667,264.11L301.167,267.277L297.167,264.61L292,263.944L289.5,266.444L284.833,267.611L282.16600000000005,271.444L278.4990000000001,271.611L274.9990000000001,273.27799999999996L273.9990000000001,275.94499999999994L269.4990000000001,276.94499999999994L266.16600000000005,273.27799999999996L267.833,267.94499999999994L263.16600000000005,265.6119999999999L264.4990000000001,262.6119999999999L260.66600000000005,260.1119999999999L257.66600000000005,255.7789999999999L259.9990000000001,252.2789999999999L256.16600000000005,247.6119999999999L263.16600000000005,244.1119999999999L265.833,245.6119999999999L270.5,245.9449999999999L269.333,241.6119999999999L272.333,239.7789999999999L276.5,240.6119999999999L281.167,238.1119999999999L283.667,234.7789999999999L289.167,234.9459999999999L290.5,237.2789999999999L293.667,238.2789999999999L294.667,239.7789999999999L298.33399999999995,238.9459999999999L297.33399999999995,242.61299999999991L302.167,243.77999999999992L304.33399999999995,247.27999999999992H307.5009999999999L310.5009999999999,251.11299999999991L310,254.11Z"},{id:"praha",name:"Hlavní město Praha",polygon:"M256.167,247.61L263.167,244.11L265.83399999999995,245.61C265.83399999999995,245.61,270.00299999999993,246.41500000000002,270.5009999999999,245.943S269.33399999999995,241.61,269.33399999999995,241.61L272.33399999999995,239.77700000000002L276.5009999999999,240.61L281.1679999999999,238.11L283.6679999999999,234.77700000000002L289.1679999999999,234.94400000000002L290.5009999999999,237.27700000000002L293.6679999999999,238.27700000000002L294.6679999999999,239.77700000000002L298.33499999999987,238.94400000000002L297.33499999999987,242.61100000000002L302.1679999999999,243.77800000000002L304.33499999999987,247.27800000000002H307.50199999999984L310.50199999999984,251.11100000000002L310.00199999999984,254.11100000000002L305.1689999999998,254.61100000000002L301.8359999999998,256.944L304.1689999999998,258.944L304.6689999999998,264.111L301.1689999999998,267.27799999999996L297.1689999999998,264.611L292,263.944L289.5,266.444L284.833,267.611L282.16600000000005,271.444L278.4990000000001,271.611L274.9990000000001,273.27799999999996L273.9990000000001,275.94499999999994L269.4990000000001,276.94499999999994L266.16600000000005,273.27799999999996L267.833,267.94499999999994L263.16600000000005,265.6119999999999L264.4990000000001,262.6119999999999L260.66600000000005,260.1119999999999L257.66600000000005,255.7789999999999L259.9990000000001,252.2789999999999L256.167,247.61Z"},{id:"ustecky",name:"Ústecký kraj",polygon:"M110.174,190.351L119.683,185.189L119.412,177.85399999999998L122.67200000000001,174.593L132.453,172.963L140.604,174.04999999999998L143.864,168.07299999999998V163.72599999999997L146.58100000000002,158.83599999999998H149.841L151.471,163.72599999999997L155.546,162.36799999999997V156.39099999999996L158.128,153.80899999999997L159.62199999999999,149.86999999999998H163.42499999999998L165.05499999999998,155.03199999999998L169.402,157.749L177.82399999999998,151.772L178.367,141.72L182.30599999999998,137.781L186.789,140.09L192.22299999999998,135.20000000000002L195.755,138.73200000000003L202.27599999999998,135.20000000000002L209.611,134.38500000000002L211.24099999999999,138.18900000000002H214.23L219.11999999999998,133.29900000000004V125.69200000000004L225.36899999999997,124.60500000000003L229.71599999999998,120.25800000000004L235.421,123.79000000000003L244.11499999999998,119.17100000000003L247.647,115.63900000000004L254.982,116.18200000000004L258.514,109.11900000000004H263.404L265.306,111.29200000000004L275.087,107.76000000000005L276.174,100.96800000000005L268.02299999999997,98.25100000000005V93.08900000000004L259.873,91.45900000000005L262.861,86.02500000000005L265.578,78.96100000000004L273.729,82.76500000000004L275.631,84.66700000000004H280.52099999999996L288.128,81.95000000000005L293.018,86.84000000000005L297.909,91.45900000000005L298.18,97.43600000000005L294.105,104.22800000000005L303.34200000000004,102.59800000000006L301.71200000000005,112.10700000000006V116.45400000000005L295.31000000000006,118.69000000000005L294.36800000000005,126.03600000000006L287.96400000000006,123.58700000000006L280.8070000000001,122.64500000000007L282.3140000000001,128.67200000000005L277.5110000000001,133.47500000000005V137.33600000000004L273.3200000000001,141.52700000000004C273.3200000000001,141.52700000000004,269.2500000000001,147.21300000000005,269.3180000000001,148.26100000000005S272.7080000000001,153.72300000000004,272.7080000000001,153.72300000000004V158.80900000000005L279.8670000000001,170.67200000000005L284.9510000000001,176.88900000000007L282.6910000000001,179.90400000000005L283.6330000000001,187.06200000000004H278.9240000000001L277.4170000000001,191.58300000000003H272.5200000000001L274.2150000000001,200.05900000000003L270.6360000000001,203.63800000000003L262.5370000000001,202.88500000000005L258.20400000000006,207.21800000000005H241.81700000000006L233.90600000000006,203.63900000000004L227.50200000000007,207.02900000000002V211.55L222.32200000000006,216.73000000000002H216.38900000000007L214.36400000000006,218.75400000000002L214.50600000000006,222.663L208.85500000000005,219.27200000000002L202.64000000000004,225.48700000000002L193.97500000000005,225.29900000000004L185.68700000000004,230.38500000000005L178.34100000000004,230.76100000000005L172.69000000000003,236.03500000000005L171.56000000000003,242.62700000000007L165.34400000000002,245.26400000000007L161.95400000000004,250.72600000000006L155.17300000000003,246.77000000000007L151.02600000000004,246.77100000000007L144.05700000000004,239.80100000000007L148.76600000000005,235.09300000000007L144.05800000000005,228.68900000000008L145.75300000000004,225.11000000000007L141.60900000000004,220.96600000000007L143.30400000000003,214.75100000000006L140.76100000000002,209.94800000000006L145.37600000000003,205.33300000000006L140.66700000000003,200.62400000000005L129.93100000000004,201.75400000000005V197.04500000000004L125.03400000000003,195.19500000000005H115.01700000000004L110.174,190.351Z"},{id:"pardubicky",name:"Pardubický kraj",polygon:"M555.742,226.757L554,234.944L549.333,243.944L547.833,252.611L550.333,256.77799999999996L540.333,264.94499999999994V270.6119999999999L542.833,276.44499999999994L543.833,283.77899999999994L546.25,286.1959999999999L540.667,289.94499999999994L544.8330000000001,298.1119999999999L549.3330000000001,306.94499999999994V311.44499999999994L555.0000000000001,313.94499999999994V321.44499999999994L549.8330000000001,326.6119999999999V332.2789999999999L546.667,336.7789999999999L540.5,330.6119999999999H522L518.333,336.6119999999999H506L502.75,339.8619999999999L495.5,332.6119999999999L489.667,332.44499999999994L482.5,323.94499999999994L468.5,320.77899999999994L466,314.94499999999994L459.333,315.1119999999999V311.44499999999994L452.5,315.77899999999994V321.44499999999994L444.833,318.77899999999994L441,316.77899999999994V311.77899999999994L435.833,309.11199999999997L431.833,308.27899999999994L427.66700000000003,303.94499999999994L420.66700000000003,299.44499999999994L411,299.61L402,292.61L400,284.444L403.667,280.77700000000004L404.167,273.11000000000007L397.33399999999995,269.77700000000004L397.167,265.11000000000007L391.667,263.27700000000004L386,259.944L386.833,255.27700000000002L390.24800000000005,250.347L398.95900000000006,248.40300000000002L408.89500000000004,239.79900000000004L414.16900000000004,242.81300000000005C414.16900000000004,242.81300000000005,423.29800000000006,243.14300000000006,423.77400000000006,242.81300000000005S428.86000000000007,235.84400000000005,428.86000000000007,235.84400000000005H433.75700000000006V241.49500000000006L437.24100000000004,242.72000000000006L440.53700000000003,239.42400000000006L446.94100000000003,236.22200000000007L454.66400000000004,236.41000000000005L458.05500000000006,239.80000000000004V246.39300000000003H462.5760000000001L466.7200000000001,250.53700000000003L473.9720000000001,254.77500000000003L478.2100000000001,259.01300000000003L484.8020000000001,257.13000000000005H494.2200000000001L495.9150000000001,249.97300000000004L501.1890000000001,244.69900000000004L511.17100000000005,241.87400000000005V236.41200000000006H515.1260000000001L523.5210000000001,240.17100000000005L535.9080000000001,247.13600000000005L542.9710000000001,240.07300000000006L546.6390000000001,236.40500000000006L546.5030000000002,230.02000000000007L555.742,226.757Z"},{id:"kralovehradecky",name:"Královéhradecký kraj",polygon:"M401.151,127.863L409.302,128.406L418.267,132.481L420.984,135.198L427.233,136.285L434.025,132.481L436.74199999999996,138.458L440.54599999999994,146.88H445.43699999999995L452.49999999999994,144.16299999999998L456.84799999999996,152.313L456.304,157.475L463.097,152.585L467.715,147.966L475.86499999999995,153.67100000000002L479.941,153.943L481.299,147.966H492.438L506.294,161.55L501.67499999999995,165.626L500.58799999999997,173.505L491.895,176.765L479.397,186.546L480.484,191.98L487.54699999999997,200.13L493.525,197.142L496.921,200.53799999999998V204.749L500.792,208.62099999999998L505.75,208.01L511.456,218.063L519.335,224.31199999999998L520.693,234.36499999999998L523.521,240.16899999999998L515.126,236.41H511.171V241.87199999999999L501.18899999999996,244.69699999999997L495.91499999999996,249.97099999999998L494.21999999999997,257.128H484.80199999999996L478.21,259.01099999999997L473.972,254.77299999999997L466.71999999999997,250.53499999999997L462.57599999999996,246.39099999999996H458.05499999999995V239.8L454.66399999999993,236.41000000000003L446.9409999999999,236.22200000000004L440.5369999999999,239.42400000000004L437.24099999999993,242.72000000000003C437.24099999999993,242.72000000000003,434.0929999999999,241.62100000000004,433.75699999999995,241.49500000000003S433.75699999999995,235.84400000000002,433.75699999999995,235.84400000000002H428.85999999999996L423.77399999999994,242.81300000000002H414.1689999999999L408.8949999999999,239.799L398.95899999999995,248.40300000000002L390.24799999999993,250.347L392.31999999999994,243.566L384.22099999999995,239.234L388.17699999999996,232.26500000000001L386.10499999999996,227.74400000000003L387.23499999999996,222.09400000000002L385.917,216.06600000000003L382.90299999999996,213.05200000000002L377.441,216.63100000000003L368.58799999999997,215.50100000000003V210.22700000000003L363.78499999999997,205.42400000000004L357.47499999999997,204.20000000000005L356.157,199.49100000000004L360.96,194.68800000000005L358.041,186.68300000000005L359.736,181.97400000000005L356.911,177.45300000000006L359.357,173.68500000000006L367.26800000000003,178.77100000000007L374.425,174.06200000000007L385.35,177.82900000000006L388.552,182.72600000000006L393.449,179.90100000000007V174.81600000000006L399.288,171.04900000000006L403.809,175.57000000000005C403.809,175.57000000000005,413.317,173.60500000000005,413.415,173.49800000000005S413.415,169.91900000000004,413.415,169.91900000000004L407.764,164.26800000000003L410.778,158.24100000000004L407.011,154.47400000000005L408.517,150.33000000000004L405.316,142.60700000000003L407.19899999999996,134.69600000000003L401.151,127.863Z"},{id:"liberecky",name:"Liberecký kraj",polygon:"M401.151,127.863L407.197,134.697L405.314,142.608L408.51500000000004,150.33100000000002L407.00900000000007,154.47500000000002L410.77600000000007,158.24200000000002L407.76200000000006,164.269L413.41300000000007,169.92000000000002V173.49900000000002L403.8070000000001,175.57100000000003L399.28600000000006,171.05000000000004L393.44700000000006,174.81700000000004V179.90200000000004L388.55000000000007,182.72700000000003L385.34800000000007,177.83000000000004L374.42300000000006,174.06300000000005L367.2660000000001,178.77200000000005L359.3550000000001,173.68600000000004L354.2700000000001,171.42600000000004V167.65900000000005L347.1590000000001,164.03300000000004L343.9100000000001,160.78400000000005H338.35300000000007L334.11500000000007,156.54600000000005L329.97100000000006,163.70300000000006L323.37800000000004,171.04900000000006L321.11800000000005,168.78900000000007L315.4680000000001,169.73000000000008V174.43900000000008L307.5570000000001,180.84300000000007L298.13900000000007,183.10300000000007L295.8790000000001,176.32200000000006L284.9510000000001,176.88700000000006L279.8670000000001,170.67000000000004L272.7080000000001,158.80700000000004V153.72100000000003L269.3180000000001,148.25900000000004L273.3200000000001,141.52500000000003L277.5110000000001,137.33400000000003V133.47300000000004L282.3140000000001,128.67000000000004L280.8070000000001,122.64300000000004L287.96400000000006,123.58500000000004L294.36800000000005,126.03400000000003L295.31000000000006,118.68800000000003L301.71200000000005,116.45200000000003L318.557,121.61400000000003L323.99100000000004,113.73500000000003L334.04300000000006,113.19200000000002C334.04300000000006,113.19200000000002,340.65700000000004,114.42000000000002,341.1070000000001,114.00700000000002S342.7370000000001,104.49800000000002,342.7370000000001,104.49800000000002L344.9100000000001,95.80400000000002L340.29100000000005,91.18500000000002L344.63800000000003,86.83800000000002H351.973L355.777,90.37000000000002L361.75399999999996,87.11000000000001L365.01399999999995,92.81600000000002L369.90399999999994,90.64300000000001L375.33799999999997,97.16400000000002L372.893,102.59800000000001L375.60999999999996,111.02000000000001L380.364,115.77400000000002L384.847,120.25700000000002L385.39,128.13600000000002L387.156,129.90200000000002L393.269,124.33200000000002L401.151,127.863Z"},{id:"olomoucky",name:"Olomoucký kraj",polygon:"M617.687,214.259V224.60999999999999H612.75L608.25,229.10999999999999L598.25,235.60999999999999V242.60999999999999L594.75,246.10999999999999L597.5,251.10999999999999L591.5,259.61L589.75,267.36L593.875,271.485L590,277.86L588.75,285.36L592.375,288.985H597V294.36H603.25L607.25,298.36L614.5,296.36L620.5,305.11H625.5L629.75,307.36L634.75,303.86L639,308.11L644.5,305.11L652,309.11L650.25,317.61H658L660.75,325.11L666.75,327.11L671.875,332.235L671.25,337.36H676.75L679.5,342.86L675.375,346.985L671.25,345.61L664.5,350.11V357.11L659.125,362.485L653.25,355.86L645.5,358.61L647.75,365.36L641,367.36L636,365.86L631.875,369.985L629,375.11L625.125,371.235L618.5,371.61L616.5,366.86L612.5,370.36L614.75,378.11L611,381.86L608.75,385.36L599.25,386.86L593.375,392.735L589.5,386.11V382.36L586.375,379.235H579.5L578.5,373.86V368.86L572.5,365.11V360.61L568.625,356.735L566.25,351.61H560.75L557,355.86L561,359.86L565.125,363.985L560.75,370.36L557.75,373.36L550.25,367.86L553.75,364.36L549.25,358.36V351.86L554.25,346.61L548.5,344.86L543.75,344.61L546.667,336.777L549.8330000000001,332.277V326.61L555.0000000000001,321.44300000000004V313.94300000000004L549.3330000000001,311.44300000000004V306.94300000000004L544.8330000000001,298.11L540.667,289.94300000000004L546.25,286.194L543.833,283.77700000000004L542.833,276.44300000000004L540.333,270.61V264.94300000000004C540.333,264.94300000000004,550.221,257.03200000000004,550.333,256.77600000000007S547.833,252.60900000000007,547.833,252.60900000000007L549.333,243.94200000000006L554,234.94200000000006L555.742,226.75500000000005L564.435,222.67900000000006H571.228L571.4989999999999,214.25700000000006L567.016,209.77400000000006L562.534,208.00800000000007L559.273,196.32500000000007L552.21,192.52100000000007L556.014,185.18600000000006L564.436,187.35900000000007L570.6850000000001,188.71700000000007L581.009,191.70600000000007L585.22,195.9170000000001L592.4200000000001,193.60700000000008L593.5070000000001,200.67100000000008L599.2120000000001,205.0180000000001H607.9060000000001L610.0790000000001,212.62500000000009L617.687,214.259Z"},{id:"moravskoslezsky",name:"Moravskoslezský kraj",polygon:"M617.687,214.259V224.60999999999999H612.75L608.25,229.10999999999999L598.25,235.60999999999999V242.60999999999999L594.75,246.10999999999999L597.5,251.10999999999999L591.5,259.61L589.75,267.36L593.875,271.485L590,277.86L588.75,285.36L592.375,288.985H597V294.36H603.25L607.25,298.36L614.5,296.36L620.5,305.11H625.5L629.75,307.36L634.75,303.86L639,308.11L644.5,305.11L652,309.11L650.25,317.61H658L660.75,325.11L666.75,327.11L671.875,332.235L671.25,337.36H676.75L679.5,342.86H685.25L690.25,347.11L698.25,343.86L706.25,345.61L712.25,349.86H717.5L723,347.61L723.5,352.11L730.5,356.61L731.75,362.36L737.5,365.046L742.119,363.416L750.813,352.005L750.269,345.484L756.247,342.767L761.1379999999999,345.212L769.2879999999999,343.582L776.0799999999999,345.755L784.7739999999999,341.68L786.1319999999998,335.159L781.2409999999999,321.847L778.2529999999998,312.60999999999996H771.1889999999999L768.2009999999998,309.078L759.2349999999998,306.361L757.8769999999998,299.84L751.8989999999999,286.799L755.1599999999999,279.736L752.4429999999999,278.649L749.7259999999999,271.042L744.2919999999999,275.11699999999996L733.6959999999999,269.14L724.4579999999999,267.782L721.1979999999999,273.488L716.3069999999999,265.338L710.0579999999999,262.34900000000005L707.0699999999998,258.5450000000001L701.6359999999999,262.07700000000006L696.2019999999999,259.63200000000006L696.6089999999999,252.97500000000005L692.127,248.49300000000005L685.606,249.58000000000004L682.345,258.00200000000007C682.345,258.00200000000007,676.811,263.9390000000001,676.096,264.2510000000001S670.255,264.11500000000007,670.255,264.11500000000007L664.686,258.54600000000005L658.98,256.64400000000006L655.992,247.67900000000006L650.8299999999999,240.34300000000005L644.9879999999999,241.02300000000005L639.419,235.45300000000006V230.83400000000006L649.1999999999999,227.84500000000006L656.943,224.04100000000005V219.55800000000005L651.917,214.53200000000004L653.004,209.09800000000004L647.57,203.66400000000004L644.8520000000001,209.09800000000004L640.777,213.17300000000003L627.1930000000001,212.08600000000004L617.687,214.259Z"}]}}};var Q_=function(){var e=this,n=e._self._c;return n("div",{staticClass:"region-map flex justify-center items-center"},[n("div",{staticClass:"w-full max-w-4xl block"},[n("svg",{attrs:{"xmlns:xlink":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/svg",id:"svgmapy",version:"1.1",viewBox:"0 75 800 500"}},[n("g",e._l(e.regions,function(i){return n("a",{key:i.id,attrs:{"xlink:href":"#"},on:{mouseover:function(s){e.current=i},mouseout:function(s){e.current=null},click:function(s){return e.selectRegion(i)}}},[n("path",{staticClass:"map-polygon region-map__region",class:{"region-map__region--current":e.current===i},attrs:{d:i.polygon}})])}),0)])])])},q_=[],J_=Ne(Y_,Q_,q_,!1,null,null,null,null);const K_=J_.exports,X_={props:{initial:{default:()=>{}},syncLocation:{type:Boolean,default:!1},locationParam:{type:String,default:"view"}},data(){return{views:this.$props.initial,queryParams:null,keyListener:t=>{t.keyCode===27&&this.hideAllViews()}}},watch:{routeView(){new URLSearchParams(window.location.search)}},methods:{setView(t,e,n=!1){if(n&&Object.keys(this.$data.views).forEach(i=>{i!==t&&this.setView(i,!1)}),this.$data.views[t]=e,e&&this.$props.syncLocation){const i=new URLSearchParams(window.location.search);i.set(this.$props.locationParam,t),history.pushState(null,null,"?"+i.toString())}},setViews(t){this.$data.views=Object.assign({},this.data.views,t)},toggleView(t){!this.isCurrentView(t)&&this.setView(t,!this.isCurrentView(t),!0)},showView(t){this.setView(t,!0,!0)},isCurrentView(t){return this.$data.views[t]},hideAllViews(){Object.keys(this.$data.views).forEach(t=>{this.setView(t,!1)})}},mounted(){if(window.addEventListener("keydown",this.$data.keyListener),this.$props.syncLocation){const e=new URLSearchParams(window.location.search).get(this.$props.locationParam);e&&Object.keys(this.$data.views).indexOf(e)!==-1&&this.showView(e)}},destroyed(){window.removeEventListener("keydown",this.$data.keyListener)}};var e5=function(){var e=this,n=e._self._c;return n("div",[e._t("default",null,{views:e.views,isCurrentView:e.isCurrentView,toggleView:e.toggleView,showView:e.showView,setView:e.setView})],2)},t5=[],n5=Ne(X_,e5,t5,!1,null,null,null,null);const r5=n5.exports;var Fn=Fu;Fn="default"in Fn?Fn.default:Fn;var i5="2.2.2",a5=/^2\./.test(Fn.version);a5||Fn.util.warn("VueClickaway "+i5+" only supports Vue 2.x, and does not support Vue "+Fn.version);var da="_vue_clickaway_handler";function Bu(t,e,n){Of(t);var i=n.context,s=e.value;if(typeof s=="function"){var l=!1;setTimeout(function(){l=!0},0),t[da]=function(u){var p=u.path||(u.composedPath?u.composedPath():void 0);if(l&&(p?p.indexOf(t)<0:!t.contains(u.target)))return s.call(i,u)},document.documentElement.addEventListener("click",t[da],!1)}}function Of(t){document.documentElement.removeEventListener("click",t[da],!1),delete t[da]}var s5={bind:Bu,update:function(t,e){e.value!==e.oldValue&&Bu(t,e)},unbind:Of},o5={directives:{onClickaway:s5}},l5=o5;const c5={name:"Popout",mixins:[l5],provide(){return{sharedState:this.sharedState}},data(){return{sharedState:{active:!1}}},methods:{toggle(){this.sharedState.active=!this.sharedState.active},away(){this.sharedState.active=!1}},computed:{active(){return this.sharedState.active}}};var u5=function(){var e=this,n=e._self._c;return n("div",{directives:[{name:"on-clickaway",rawName:"v-on-clickaway",value:e.away,expression:"away"}],staticClass:"popout"},[n("div",{staticClass:"popout__toggle-wrapper",class:{"popout__toggle-wrapper--active":e.active},on:{click:e.toggle}},[n("div",{staticClass:"popout__toggle-name"},[e._t("toggler")],2),n("div",{staticClass:"popout__toggle-arrow"},[e.active?e._e():n("i",{staticClass:"ico--chevron-down"}),e.active?n("i",{staticClass:"ico--chevron-up"}):e._e()])]),n("ui-slide-up-down",{attrs:{active:e.active,duration:200}},[e._t("default")],2)],1)},d5=[],f5=Ne(c5,u5,d5,!1,null,null,null,null);const p5=f5.exports,h5={name:"PopoutContent",inject:["sharedState"],computed:{active(){return this.sharedState.active}}};var v5=function(){var e=this,n=e._self._c;return e.active?n("ul",{staticClass:"popout__content-wrapper"},[e._t("default")],2):e._e()},g5=[],m5=Ne(h5,v5,g5,!1,null,null,null,null);const y5=m5.exports,b5={name:"PopoutItem"};var _5=function(){var e=this,n=e._self._c;return n("li",[e._t("default")],2)},w5=[],L5=Ne(b5,_5,w5,!1,null,null,null,null);const A5=L5.exports,C5={data(){return{isMdScreenSize:mc(),show:!1,resizeHandler:()=>{this.$data.isMdScreenSize=mc()}}},props:{href:{type:String},label:{type:String},labelclass:{type:String},wrapperclass:{type:String,default:""},slotwrapperclass:{type:String,default:""}},methods:{handleClick(){this.$props.href&&(window.location=this.$props.href),this.$data.show=!this.$data.show}},mounted(){this.$nextTick(()=>{window.addEventListener("resize",this.$data.resizeHandler)})},beforeDestroy(){window.removeEventListener("resize",this.$data.resizeHandler)}};var E5=function(){var e=this,n=e._self._c;return n("div",{class:[e.wrapperclass,"footer-collapsible"]},[n("span",{staticClass:"head-8xl xl:head-9xl footer-collapsible__toggle",class:[e.labelclass,e.show?"footer-collapsible__toggle--open":""],on:{click:e.handleClick}},[e._v(e._s(e.label))]),n("div",{directives:[{name:"show",rawName:"v-show",value:e.show||e.isMdScreenSize,expression:"show || isMdScreenSize"}],class:[e.slotwrapperclass]},[e._t("default")],2)])},S5=[],x5=Ne(C5,E5,S5,!1,null,null,null,null);const D5=x5.exports,T5={name:"FaqSectionHeader",props:["iteration","name"],data(){return{top:zi()?parseInt(this.iteration)*1.9:parseInt(this.iteration)*1.9+3.8}}},k5=Object.assign(T5,{setup(t){return{__sfc:!0}}});var R5=function(){var e=this,n=e._self._c;return e._self._setupProxy,n("div",{staticClass:"sticky border-y bg-white border-black",style:"top: "+this.top+"em"},[n("a",{staticClass:"container--wide py-1 flex gap-1 items-center",attrs:{href:"#faq"+this.iteration}},[n("svg",{attrs:{width:"20",height:"21",viewBox:"0 0 10 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[n("g",[n("path",{staticClass:"arrow-icon",attrs:{d:"M0 16.5H4.40178L11 10.0002L4.40228 3.5H0L6.60069 10.0002L0 16.5Z",fill:"#000"}})])]),n("span",{staticClass:"mt-0.5"},[e._v(" "+e._s(e.name)+" ")])])])},O5=[],M5=Ne(k5,R5,O5,!1,null,null,null,null);const I5=M5.exports,N5={name:"CardScroll",data(){return{realArrowPosition:this.arrowPosition!==void 0?this.arrowPosition:"top"}},methods:{moveLeft:function(t){this.$refs.scrollable.getBoundingClientRect(),this.$refs.scrollable.scrollBy({left:-this.$refs.scrollable.offsetWidth-32,behavior:"smooth"})},moveRight:function(t){this.$refs.scrollable.getBoundingClientRect(),this.$refs.scrollable.scrollBy({left:this.$refs.scrollable.offsetWidth+32,behavior:"smooth"})}},props:["classes","scrollerClasses","arrowPosition"]};var $5=function(){var e=this,n=e._self._c;return n("div",[e.realArrowPosition==="top"?n("div",{class:"flex gap-4 justify-end text-white text-4xl pt-2 cursor-pointer lg:hidden "+e.scrollerClasses},[n("i",{staticClass:"ico--chevron-left",on:{click:e.moveLeft}}),n("i",{staticClass:"ico--chevron-right",on:{click:e.moveRight}})]):e._e(),n("div",{ref:"scrollable",class:e.classes+" hide-scrollbar"},[e._t("default")],2),e.realArrowPosition==="bottom"?n("div",{class:"flex gap-4 justify-end text-white text-4xl pt-2 cursor-pointer lg:hidden "+e.scrollerClasses},[n("i",{staticClass:"ico--chevron-left",on:{click:e.moveLeft}}),n("i",{staticClass:"ico--chevron-right",on:{click:e.moveRight}})]):e._e()])},P5=[],H5=Ne(N5,$5,P5,!1,null,null,null,null);const j5=H5.exports,B5={name:"CardProgramItemPoint",props:["content","isFirst"]};var V5=function(){var e=this,n=e._self._c;return n("div",{staticClass:"[&_p]:text-lg [&_p]:leading-7 [&_p]:duration-150 [&_p]:delay-300 mt-[-5px] xl:w-1/2 xl:pt-1 xl:m-0"},[n("div",{staticClass:"content-block"},[n("p",[e._v(" "+e._s(this.content)+" ")])])])},F5=[],U5=Ne(B5,V5,F5,!1,null,null,null,null);const z5=U5.exports,W5={name:"CardProgramItem",props:["slug","title","number","content","points","defaultIsOpen"],data(){return{isOpen:this.defaultIsOpen}},methods:{openClose:function(){if(this.isOpen=!this.isOpen,this.isOpen){let t=new URLSearchParams(window.location.search),e=new URL(window.location);t.set("program_view",this.slug),e.search=t,window.history.replaceState({},this.slug,e)}}},mounted(){this.$watch("isOpen",(e,n)=>{e&&!n?(this.$refs.openVariant.classList.remove("w-0"),this.$refs.openVariant.classList.remove("[&_*]:!text-[0rem]"),this.$refs.openVariant.classList.remove("[&_*]:!p-0"),this.$refs.openVariant.classList.remove("[&_*]:!gap-0"),this.$refs.openVariant.classList.remove("[&_*]:!leading-[0px]"),this.$refs.openVariant.classList.remove("[&_*]:!duration-0"),this.$refs.openVariant.classList.remove("[&_*]:!delay-0"),this.$refs.openVariant.classList.remove("!h-0"),zi()&&this.$refs.openVariant.classList.add("duration-300"),this.$refs.openVariant.classList.add("w-full"),this.$refs.openVariant.classList.add("xl:p-12"),this.$refs.openVariant.classList.add("p-6"),zi()||setTimeout(()=>{const s=this.$refs.openVariant.getBoundingClientRect().top+window.pageYOffset-90;window.scrollTo({top:s,behavior:"instant"})},20)):!e&&n&&(zi()&&this.$refs.openVariant.classList.remove("duration-300"),this.$refs.openVariant.classList.remove("w-full"),this.$refs.openVariant.classList.remove("xl:p-12"),this.$refs.openVariant.classList.remove("p-6"),this.$refs.openVariant.classList.add("w-0"),this.$refs.openVariant.classList.add("[&_*]:!text-[0rem]"),this.$refs.openVariant.classList.add("[&_*]:!p-0"),this.$refs.openVariant.classList.add("[&_*]:!gap-0"),this.$refs.openVariant.classList.add("[&_*]:!leading-[0px]"),this.$refs.openVariant.classList.add("[&_*]:!duration-0"),this.$refs.openVariant.classList.add("[&_*]:!delay-0"),this.$refs.openVariant.classList.add("!h-0"))});let t=null;setInterval(()=>{const e=window.location.href;if(e!=t){t=e;const n=new Proxy(new URLSearchParams(window.location.search),{get:(i,s)=>i.get(s)});n.program_view!==null&&n.program_view!==this.slug&&(this.isOpen=!1),n.program_view!==null&&n.program_view===this.slug&&!this.isOpen&&(this.isOpen=!0)}},.1)}},G5=Object.assign(W5,{setup(t){return{__sfc:!0,CardProgramItemPoint:z5}}});var Z5=function(){var e=this,n=e._self._c,i=e._self._setupProxy;return n("li",{class:this.isOpen?"w-full":""},[this.isOpen?e._e():n("div",{ref:"closedVariant",staticClass:"bg-black flex flex-row items-center px-5 py-2 gap-5 justify-start duration-200 cursor-pointer xl:h-[696px] xl:flex-col xl:gap-12 xl:py-8 xl:px-3 xl:justify-between 2xl:h-[646px] hover:bg-grey-600",on:{click:e.openClose}},[n("div",{staticClass:"font-alt text-black text-7xl xl:text-9xl",staticStyle:{"text-shadow":"-1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff"}},[e._v(" "+e._s(e.number)+" ")]),n("div",{staticClass:"text-white leading-7 text-2xl xl:rotate-180 xl:[writing-mode:vertical-rl]"},[e._v(" "+e._s(e.title)+" ")])]),n("div",{ref:"openVariant",staticClass:"bg-white",class:this.defaultIsOpen?"p-6 xl:p-12":"w-0 [&_*]:!text-[0rem] [&_*]:!p-0 [&_*]:!gap-0 [&_*]:!leading-[0px] [&_*]:!delay-0 [&_*]:!duration-0 !h-0"},[n("div",{staticClass:"flex flex-col gap-8 xl:flex-row xl:gap-16"},[n("div",{staticClass:"flex gap-7 w-full justify-start flex-col xl:[flex-flow:column_wrap] xl:h-[600px] 2xl:h-[550px]"},[n("h2",{staticClass:"font-alt text-[3.25rem] duration-200 delay-100 w-1/2 lg:text-[5.5rem] 2xl:text-[6.5rem]"},[e._v(" "+e._s(this.title)+" ")]),e._l(e.points,function(s,l){return n(i.CardProgramItemPoint,{key:s.number,attrs:{content:s.content}})})],2)])])])},Y5=[],Q5=Ne(G5,Z5,Y5,!1,null,null,null,null);const q5=Q5.exports,J5={name:"CardProgram",props:["points","label"]},K5=Object.assign(J5,{setup(t){return{__sfc:!0,CardProgramItem:q5}}});var X5=function(){var e=this,n=e._self._c,i=e._self._setupProxy;return n("div",{staticClass:"bg-pirati-yellow py-16"},[n("div",{staticClass:"container--wide"},[n("h2",{staticClass:"head-14xl head-compact mb-8"},[e._v(e._s(e.label))]),n("ul",{staticClass:"flex gap-3 w-full flex-col xl:flex-row"},e._l(e.points,function(s,l){return n(i.CardProgramItem,{key:s.slug,attrs:{slug:s.slug,defaultIsOpen:l===0,number:s.number,title:s.title,content:s.content,points:s.points}})}),1)])])},e4=[],t4=Ne(K5,X5,e4,!1,null,null,null,null);const n4=t4.exports,r4={name:"CandidatePrimaryBox",props:["name","position","description","url","imageSource"],mounted(){var t={rootMargin:"0px",threshold:.25};const e=this.$refs.text,n=this.$refs.image;function i(l,u){l.forEach(p=>{p.intersectionRatio>=.25&&(e.classList.remove("candidate-primary-box--text-column__hidden"),n.classList.remove("candidate-primary-box--image-column__hidden"))})}var s=new IntersectionObserver(i,t);s.observe(this.$refs.candidateBox)}};var i4=function(){var e=this,n=e._self._c;return n("li",{ref:"candidateBox",staticClass:"candidate-primary-box"},[n("div",{staticClass:"candidate-primary-box--content container--wide flex gap-10 pt-16 pb-8 overflow-x-hidden lg:flex-row lg:gap-8 lg:py-16"},[n("div",{ref:"text",staticClass:"candidate-primary-box--text-column candidate-primary-box--text-column__hidden flex flex-col justify-between w-full duration-700"},[n("div",{staticClass:"flex flex-col lg:w-min"},[n("h2",{staticClass:"head-9xl whitespace-nowrap"},[e._v(" "+e._s(e.name)+" ")]),e.position?n("p",{staticClass:"font-bold text-lg mt-[-0.5rem] mb-8"},[e._v(" "+e._s(e.position)+" ")]):e._e(),n("p",{staticClass:"text-lg mb-8 lg:mb-16"},[e._v(" "+e._s(e.description)+" ")])]),n("div",{staticClass:"flex justify-start"},[n("a",{staticClass:"flex items-center group rounded-full uppercase font-semibold tracking-normal bg-black text-white pl-8 pr-3 py-3 hover:no-underline xl:text-lg xl:pl-8 xl:pr-3 xl:py-4",attrs:{href:e.url}},[n("span",{staticClass:"group-hover:-translate-x-2 duration-200"},[e._v("Zjisti více")]),n("span",{staticClass:"opacity-0 group-hover:opacity-100 duration-200 mb-[0.03rem]"},[n("svg",{attrs:{width:"20",height:"21",viewBox:"0 0 10 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[n("g",[n("path",{staticClass:"arrow-icon",attrs:{d:"M0 16.5H4.40178L11 10.0002L4.40228 3.5H0L6.60069 10.0002L0 16.5Z",fill:"#FEC900"}})])])])])])]),n("div",{ref:"image",staticClass:"candidate-primary-box--image-column candidate-primary-box--image-column__hidden w-full flex items-start justify-center duration-700"},[n("img",{staticClass:"w-3/4 lg:w-1/2",attrs:{src:e.imageSource}})])])])},a4=[],s4=Ne(r4,i4,a4,!1,null,null,null,null);const o4=s4.exports,l4={name:"CandidateSecondaryBox",props:["url","number","imageSource","name","position"]};var c4=function(){var e=this,n=e._self._c;return n("li",{staticClass:"candidate-secondary-box container--wide"},[n("a",{staticClass:"py-2 flex gap-6 items-center underline-offset-2",attrs:{href:e.url}},[n("div",{staticClass:"font-bold text-xl"},[e._v(" "+e._s(this.number)+" ")]),n("div",{staticClass:"flex font-bold justify-center items-center rounded-full"},[n("img",{staticClass:"w-12 object-cover",attrs:{src:this.imageSource}})]),n("div",{staticClass:"flex flex-col lg:flex-row"},[n("h4",{staticClass:"text-xl font-bold"},[e._v(e._s(this.name))]),this.position?n("p",[n("span",{staticClass:"hidden lg:inline"},[e._v(",")]),e._v(" "+e._s(this.position)+" ")]):e._e()])])])},u4=[],d4=Ne(l4,c4,u4,!1,null,null,null,null);const f4=d4.exports,p4={name:"CandidateSecondaryList",props:["heading","candidates","preopened"],methods:{openList(){this.$refs.content.classList.remove("hidden"),this.$refs.button.classList.add("hidden")}},mounted(){this.preopened&&this.openList()}},h4=Object.assign(p4,{setup(t){return{__sfc:!0,CandidateSecondaryBox:f4}}});var v4=function(){var e=this,n=e._self._c,i=e._self._setupProxy;return n("div",{staticClass:"bg-grey-180"},[n("ul",{ref:"content",staticClass:"candidate-secondary-list pt-14 pb-16 hidden"},[n("div",{staticClass:"container--wide"},[n("h2",{staticClass:"head-7xl mb-3"},[e._v(e._s(e.heading))])]),e._l(e.candidates,function(s){return n(i.CandidateSecondaryBox,{key:s.position,attrs:{url:s.url,number:s.number,imageSource:s.imageSource,name:s.name,position:s.position}})})],2),n("div",{ref:"button",staticClass:"pt-14 pb-16 flex justify-center"},[n("button",{staticClass:"flex items-center group rounded-full font-condensed uppercase font-semibold tracking-normal bg-black text-white hover:no-underline pl-8 pr-3 py-3 xl:text-lg xl:pl-8 xl:pr-3 xl:py-4",on:{click:function(s){return e.openList()}}},[n("span",{staticClass:"group-hover:-translate-x-2 duration-200"},[e._v("Další kandidáti")]),n("span",{staticClass:"opacity-0 group-hover:opacity-100 duration-200 mb-[0.03rem]"},[n("svg",{attrs:{width:"20",height:"21",viewBox:"0 0 10 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[n("g",{attrs:{id:"Icon / Placeholder"}},[n("path",{staticClass:"arrow-icon",attrs:{d:"M0 16.5H4.40178L11 10.0002L4.40228 3.5H0L6.60069 10.0002L0 16.5Z",fill:"#FEC900"}})])])])])])])},g4=[],m4=Ne(h4,v4,g4,!1,null,null,null,null);const y4=m4.exports,b4={data(){return{countdown:{days:0,hours:0,minutes:0,seconds:0},countdownText:""}},props:{to:{type:String,required:!0}},mounted(){this.updateCountdown(),setInterval(this.updateCountdown,1e3)},methods:{updateCountdown(){let n=new Date(this.to)-new Date;if(n<=0){this.countdownText="nic. Jdeme volit!";return}const i=24*60*60*1e3;this.countdown.days=Math.floor(n/i),n-=this.countdown.days*i,this.countdown.hours=Math.floor(n/(60*60*1e3)),n-=this.countdown.hours*(60*60*1e3),this.countdown.minutes=Math.floor(n/(60*1e3)),n-=this.countdown.minutes*(60*1e3),this.countdown.seconds=Math.floor(n/1e3);let s="";this.countdown.seconds===1?s="a":this.countdown.seconds>1&&this.countdown.seconds<5&&(s="y"),this.countdownText=`${this.countdown.days} dní, ${this.countdown.hours} hodin, ${this.countdown.minutes} minut a ${this.countdown.seconds} sekund${s}`}}};var _4=function(){var e=this,n=e._self._c;return n("span",[e._v(" "+e._s(e.countdownText)+" ")])},w4=[],L4=Ne(b4,_4,w4,!1,null,null,null,null);const A4=L4.exports,C4={name:"SlideUpDown",props:{active:Boolean,duration:{type:Number,default:500},tag:{type:String,default:"div"},useHidden:{type:Boolean,default:!0}},data:function(){return{style:{},initial:!1,hidden:!1}},watch:{active:function(){this.layout()}},render:function(t){return t(this.tag,{style:this.style,attrs:this.attrs,ref:"container",on:{transitionend:this.onTransitionEnd}},this.$slots.default)},mounted:function(){this.layout(),this.initial=!0},created:function(){this.hidden=!this.active},computed:{el:function(){return this.$refs.container},attrs:function(){var t={"aria-hidden":!this.active,"aria-expanded":this.active};return this.useHidden&&(t.hidden=this.hidden),t}},methods:{layout:function(){var t=this;this.active?(this.hidden=!1,this.$emit("open-start"),this.initial&&this.setHeight("0px",function(){return t.el.scrollHeight+"px"})):(this.$emit("close-start"),this.setHeight(this.el.scrollHeight+"px",function(){return"0px"}))},asap:function(t){this.initial?this.$nextTick(t):t()},setHeight:function(t,e){var n=this;this.style={height:t},this.asap(function(){n.__=n.el.scrollHeight,n.style={height:e(),overflow:"hidden","transition-property":"height","transition-duration":n.duration+"ms"}})},onTransitionEnd:function(t){t.target===this.el&&(this.active?(this.style={},this.$emit("open-end")):(this.style={height:"0",overflow:"hidden"},this.hidden=!0,this.$emit("close-end")))}}},E4={mounted(){console.log("Mounted generic Vue app in ",this.$el)}},S4=null,x4=null;var D4=Ne(E4,S4,x4,!1,null,null,null,null);const T4=D4.exports;Oe.component("ui-animated-arrow",yh);Oe.component("ui-calendar-renderer",Ah);Oe.component("ui-calendar-dummy-provider",Th);Oe.component("ui-calendar-google-provider",Nh);Oe.component("ui-full-calendar",Z_);Oe.component("ui-region-map",K_);Oe.component("ui-view-provider",r5);Oe.component("ui-popout",p5);Oe.component("ui-popout-content",y5);Oe.component("ui-popout-item",A5);Oe.component("ui-footer-collapsible",D5);Oe.component("ui-faq-section-header",I5);Oe.component("ui-horizontal-scrollable",j5);Oe.component("ui-candidate-primary-box",o4);Oe.component("ui-card-program",n4);Oe.component("ui-slide-up-down",C4);Oe.component("ui-candidate-secondary-list",y4);Oe.component("ui-countdown",A4);const k4=(t,e)=>{new Oe({el:t,components:{UiApp:T4}})};function R4(t){return Object.assign({},t.dataset),k4(t)}function O4(t){ph(document.querySelectorAll(".__js-root"),R4)}document.addEventListener("DOMContentLoaded",O4);
diff --git a/shared_legacy/static/styleguide2/pirati-ui.eot b/shared_legacy/static/styleguide2/pirati-ui.eot
new file mode 100644
index 0000000000000000000000000000000000000000..96011ba55470eaed58e7f6804340b670b3601c9b
Binary files /dev/null and b/shared_legacy/static/styleguide2/pirati-ui.eot differ
diff --git a/shared_legacy/static/styleguide2/pirati-ui.svg b/shared_legacy/static/styleguide2/pirati-ui.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c6e3a71ad07f5229dda5d69c9289dc5ce339be12
--- /dev/null
+++ b/shared_legacy/static/styleguide2/pirati-ui.svg
@@ -0,0 +1,130 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by IcoMoon</metadata>
+<defs>
+<font id="pirati-ui" horiz-adv-x="1024">
+<font-face units-per-em="1024" ascent="960" descent="-64" />
+<missing-glyph horiz-adv-x="1024" />
+<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
+<glyph unicode="&#xe900;" glyph-name="alarm" d="M512 832c-247.424 0-448-200.576-448-448s200.576-448 448-448 448 200.576 448 448-200.576 448-448 448zM512 24c-198.824 0-360 161.178-360 360 0 198.824 161.176 360 360 360 198.822 0 360-161.176 360-360 0-198.822-161.178-360-360-360zM934.784 672.826c16.042 28.052 25.216 60.542 25.216 95.174 0 106.040-85.96 192-192 192-61.818 0-116.802-29.222-151.92-74.596 131.884-27.236 245.206-105.198 318.704-212.578v0zM407.92 885.404c-35.116 45.374-90.102 74.596-151.92 74.596-106.040 0-192-85.96-192-192 0-34.632 9.174-67.122 25.216-95.174 73.5 107.38 186.822 185.342 318.704 212.578zM512 384v256h-64v-320h256v64z" />
+<glyph unicode="&#xe901;" glyph-name="info" d="M448 656c0 26.4 21.6 48 48 48h32c26.4 0 48-21.6 48-48v-32c0-26.4-21.6-48-48-48h-32c-26.4 0-48 21.6-48 48v32zM640 192h-256v64h64v192h-64v64h192v-256h64zM512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 32c-229.75 0-416 186.25-416 416s186.25 416 416 416 416-186.25 416-416-186.25-416-416-416z" />
+<glyph unicode="&#xe902;" glyph-name="facebook" d="M608 768h160v192h-160c-123.514 0-224-100.486-224-224v-96h-128v-192h128v-512h192v512h160l32 192h-192v96c0 17.346 14.654 32 32 32z" />
+<glyph unicode="&#xe903;" glyph-name="linkedin" d="M928 960h-832c-52.8 0-96-43.2-96-96v-832c0-52.8 43.2-96 96-96h832c52.8 0 96 43.2 96 96v832c0 52.8-43.2 96-96 96zM384 128h-128v448h128v-448zM320 640c-35.4 0-64 28.6-64 64s28.6 64 64 64c35.4 0 64-28.6 64-64s-28.6-64-64-64zM832 128h-128v256c0 35.4-28.6 64-64 64s-64-28.6-64-64v-256h-128v448h128v-79.4c26.4 36.2 66.8 79.4 112 79.4 79.6 0 144-71.6 144-160v-288z" />
+<glyph unicode="&#xe904;" glyph-name="question" d="M448 256h128v-128h-128zM704 704c35.346 0 64-28.654 64-64v-192l-192-128h-128v64l192 128v64h-320v128h384zM512 864c-111.118 0-215.584-43.272-294.156-121.844s-121.844-183.038-121.844-294.156c0-111.118 43.272-215.584 121.844-294.156s183.038-121.844 294.156-121.844c111.118 0 215.584 43.272 294.156 121.844s121.844 183.038 121.844 294.156c0 111.118-43.272 215.584-121.844 294.156s-183.038 121.844-294.156 121.844zM512 960v0c282.77 0 512-229.23 512-512s-229.23-512-512-512c-282.77 0-512 229.23-512 512s229.23 512 512 512z" />
+<glyph unicode="&#xe905;" glyph-name="at" d="M696.32 283.136c-46.612-48.782-112.182-79.108-184.835-79.108-141.102 0-255.488 114.386-255.488 255.488 0 0.451 0.001 0.902 0.004 1.353v-0.070c0 141.385 114.615 256 256 256 57.921 0 111.348-19.235 154.244-51.667l-0.644 0.467v51.2h102.4v-332.8c0-42.415 34.385-76.8 76.8-76.8s76.8 34.385 76.8 76.8v0 76.8c-0.167 226.090-183.487 409.307-409.6 409.307-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6c66.818 0 129.898 15.999 185.62 44.376l-2.325-1.074 46.080-91.648c-66.813-34.208-145.753-54.255-229.376-54.255-282.77 0-512 229.23-512 512s229.23 512 512 512c282.596 0 511.718-228.948 512-511.478v-0.027h-0.512v-76.8c0.001-0.159 0.001-0.346 0.001-0.534 0-98.969-80.231-179.2-179.2-179.2-61.529 0-115.815 31.010-148.083 78.253l-0.398 0.617zM512 307.2c84.831 0 153.6 68.769 153.6 153.6s-68.769 153.6-153.6 153.6v0c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0z" />
+<glyph unicode="&#xe906;" glyph-name="location" d="M512 960c-176.732 0-320-143.268-320-320 0-320 320-704 320-704s320 384 320 704c0 176.732-143.27 320-320 320zM512 448c-106.040 0-192 85.96-192 192s85.96 192 192 192 192-85.96 192-192-85.96-192-192-192z" />
+<glyph unicode="&#xe907;" glyph-name="phone" d="M704 320c-64-64-64-128-128-128s-128 64-192 128-128 128-128 192 64 64 128 128-128 256-192 256-192-192-192-192c0-128 131.5-387.5 256-512s384-256 512-256c0 0 192 128 192 192s-192 256-256 192z" />
+<glyph unicode="&#xe908;" glyph-name="envelope" d="M921.6 870.4c56.554 0 102.4-45.846 102.4-102.4v0-614.4c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 614.4c0 56.32 46.080 102.4 102.4 102.4h819.2zM697.856 404.48l326.144-250.88v102.4l-262.144 199.68 262.144 209.92v102.4l-512-409.6-512 409.6v-102.4l262.144-209.92-262.144-199.68v-102.4l326.144 250.88 185.856-148.48 185.856 148.48z" />
+<glyph unicode="&#xe909;" glyph-name="beer" d="M426.667 234.667c0-11.733-9.6-21.333-21.333-21.333s-21.333 9.6-21.333 21.333v256c0 11.733 9.6 21.333 21.333 21.333s21.333-9.6 21.333-21.333v-256zM512 234.667c0-11.733-9.6-21.333-21.333-21.333s-21.333 9.6-21.333 21.333v256c0 11.733 9.6 21.333 21.333 21.333s21.333-9.6 21.333-21.333v-256zM597.333 234.667c0-11.733-9.6-21.333-21.333-21.333s-21.333 9.6-21.333 21.333v256c0 11.733 9.6 21.333 21.333 21.333s21.333-9.6 21.333-21.333v-256zM789.333 682.667h-21.333v42.667c0 47.104-38.229 85.333-85.333 85.333h-384c-47.104 0-85.333-38.229-85.333-85.333v-554.667c0-70.656 57.344-128 128-128h298.667c70.656 0 128 57.344 128 128h21.333c82.347 0 149.333 66.987 149.333 149.333v213.333c0 82.347-66.987 149.333-149.333 149.333zM298.667 725.334h384v-42.667h-189.611l-5.035-14.165c-6.997-19.541-28.288-31.147-47.659-27.648l-14.848 2.475-7.381-13.099c-11.392-20.267-32.64-32.896-55.467-32.896-35.285 0-64 28.715-64 64v64zM682.667 170.667c0-23.552-19.115-42.667-42.667-42.667h-298.667c-23.552 0-42.667 19.115-42.667 42.667v405.76c17.877-13.525 39.936-21.76 64-21.76 33.451 0 64.896 16.043 84.864 42.667 31.061 0 59.008 16.683 74.069 42.667h161.067v-469.334zM853.333 320c0-35.285-28.715-64-64-64h-64v341.333h64c35.285 0 64-28.715 64-64v-213.333z" />
+<glyph unicode="&#xe90a;" glyph-name="thermometer" d="M543.553 218.694c37.519-13.052 64.447-48.728 64.447-90.694 0-53.019-42.981-96-96-96s-96 42.981-96 96c0 41.961 26.922 77.635 64.435 90.69-0.286 1.727-0.435 3.5-0.435 5.309v480.003c0 17.448 14.327 31.999 32 31.999 17.796 0 32-14.326 32-31.999v-480.003c0-1.803-0.153-3.576-0.447-5.305v0zM576 238.876v593.009c0 35.41-28.407 64.115-64 64.115-35.346 0-64-28.472-64-64.115v-593.009c-38.259-22.132-64-63.498-64-110.876 0-70.692 57.308-128 128-128s128 57.308 128 128c0 47.378-25.741 88.744-64 110.876zM638.996 272.003c39.862-35.181 65.004-86.656 65.004-144.003 0-106.039-85.961-192-192-192s-192 85.961-192 192c0 57.346 25.141 108.82 65.002 144.002-0.661 5.27-1.002 10.639-1.002 16.088v543.82c0 70.556 57.308 128.090 128 128.090 70.549 0 128-57.348 128-128.090v-543.82c0-5.447-0.342-10.816-1.004-16.087v0 0z" />
+<glyph unicode="&#xe90b;" glyph-name="paw" horiz-adv-x="951" d="M445.714 681.143c0-64-33.143-140-106.857-140-92.571 0-148.571 116.571-148.571 196.571 0 64 33.143 140 106.857 140 93.143 0 148.571-116.571 148.571-196.571zM250.286 405.143c0-55.429-29.143-113.143-92-113.143-91.429 0-158.286 112-158.286 194.857 0 55.429 29.714 113.714 92 113.714 91.429 0 158.286-112.571 158.286-195.429zM475.429 420.571c140 0 329.143-201.714 329.143-336.571 0-72.571-59.429-84-117.714-84-76.571 0-138.286 51.429-211.429 51.429-76.571 0-141.714-50.857-224.571-50.857-55.429 0-104.571 18.857-104.571 83.429 0 135.429 189.143 336.571 329.143 336.571zM612 541.143c-73.714 0-106.857 76-106.857 140 0 80 55.429 196.571 148.571 196.571 73.714 0 106.857-76 106.857-140 0-80-56-196.571-148.571-196.571zM858.857 600.571c62.286 0 92-58.286 92-113.714 0-82.857-66.857-194.857-158.286-194.857-62.857 0-92 57.714-92 113.143 0 82.857 66.857 195.429 158.286 195.429z" />
+<glyph unicode="&#xe90c;" glyph-name="power" d="M384 960l-384-512h384l-256-512 896 640h-512l384 384z" />
+<glyph unicode="&#xe90d;" glyph-name="pirati" horiz-adv-x="968" d="M458.203 826.435c-109.449 0-211.478-42.667-287.536-118.725-77.913-76.058-120.58-179.942-120.58-287.536 0-109.449 42.667-211.478 118.725-289.391 77.913-76.058 179.942-118.725 287.536-118.725 109.449 0 211.478 42.667 287.536 118.725 77.913 76.058 118.725 179.942 118.725 287.536 0 109.449-42.667 211.478-118.725 287.536-74.203 79.768-176.232 120.58-285.681 120.58zM458.203 51.014c-204.058 0-369.159 165.101-369.159 369.159s165.101 369.159 369.159 369.159c204.058 0 369.159-165.101 369.159-369.159s-165.101-369.159-369.159-369.159zM335.768 661.333v57.507h-35.246v-66.783c-24.116-7.42-38.957-14.841-35.246-20.406 7.42 1.855 20.406 3.71 35.246 1.855v-341.333c-37.101-70.493 16.696-179.942 16.696-179.942s-38.957 116.87 48.232 172.522c79.768 50.087 358.029 27.826 356.174 183.652-1.855 220.754-257.855 220.754-385.855 192.928zM448.928 446.145c-12.986-59.362-76.058-89.043-115.014-115.014v298.667c64.928-14.841 140.986-64.928 115.014-183.652z" />
+<glyph unicode="&#xe90e;" glyph-name="open-source" d="M512 943.712c-282.304 0-512-229.696-512-512 0-210.624 132.032-402.432 328.448-477.248 8.192-3.264 17.408-2.752 25.344 1.088 7.936 3.904 13.952 10.816 16.576 19.264l96 306.56c4.544 14.528-1.728 30.272-15.040 37.568-41.536 22.912-67.328 66.112-67.328 112.768 0 70.592 57.408 128 128 128s128-57.408 128-128c0-46.656-25.792-89.856-67.328-112.832-13.312-7.296-19.648-23.040-15.040-37.568l96-306.56c2.624-8.448 8.64-15.36 16.576-19.264 4.416-2.112 9.216-3.2 13.952-3.2 3.84 0 7.744 0.704 11.392 2.112 196.48 74.88 328.448 266.688 328.448 477.312 0 282.304-229.696 512-512 512z" />
+<glyph unicode="&#xe90f;" glyph-name="jitsi" horiz-adv-x="704" d="M670.24 592.128c-8.224 17.632-21.536 32.448-38.176 42.56-19.808 12.576-44.544 15.232-61.792 15.232-5.824 0-11.616-0.32-17.376-0.896h-0.448c0.32 2.368 0.928 5.44 1.44 7.936 0.864 4.384 1.824 9.344 2.4 14.528 2.304 22.24-5.632 52.128-20.192 76.16-2.304 3.84-2.208 5.12-2.208 5.12 0.704 1.088 1.568 2.112 2.528 2.976l1.344 1.408c34.4 36.864 44.832 77.376 30.88 120.704-26.432 82.144-33.536 82.144-38.72 82.144-1.152 0-2.304-0.224-3.36-0.672-1.056-0.48-2.016-1.152-2.784-2.016-0.864-1.024-1.472-2.24-1.856-3.552-0.352-1.312-0.416-2.656-0.192-4 2.656-27.232-3.488-66.24-7.584-81.088-4.992-18.656-22.528-46.528-77.824-72.992-3.872-1.664-7.84-3.136-11.872-4.384-18.048-6.016-48.192-16.128-64.928-39.2-12.64-14.784-15.712-29.632-21.184-56.384-4.864-23.808-8.8-52.768-1.088-87.36 0.768-3.424 1.504-6.304 2.208-8.864 0.448-1.824 0.864-3.392 1.184-4.768l0.64 0.128-0.672-0.16c0.512-2.048 0.192-2.56-0.544-3.072-2.656-1.056-5.408-1.888-8.192-2.496-8.192-1.312-16.384-2.784-24.224-4.32-24.896-4.288-100.192-17.248-134.848-72.448-21.408-34.048-24.448-78.496-9.056-132.32 15.936-53.248 47.616-89.824 69.28-97.28l0.352-0.128c1.568-0.704 3.040-1.28 4.512-1.792 0-1.472-0.16-3.296-0.352-5.344-0.128-0.928-0.288-1.888-0.416-2.976-2.368-17.344-10.56-36.064-18.912-36.576-4.416 0.864-21.856 10.752-34.208 18.88-3.968 2.592-7.712 5.056-11.264 7.424-34.464 22.784-53.472 35.36-82.528 38.592-0.992 0.096-1.984 0.16-2.976 0.16-30.72 0-86.016-51.744-87.2-154.816-0.576-51.648 4.832-98.88 16.128-140.352 8.064-29.728 16.672-46.656 19.168-51.2l9.952-18.624 4.544 20.48c23.968 108.544 53.536 134.688 102.752 165.984 36.064-33.792 83.424-51.616 137.376-51.616 45.472 0 93.056 13.216 133.92 37.216 40.16 23.552 71.168 55.296 90.112 91.968 3.168-2.048 6.976-4.704 9.472-6.464 9.024-6.304 10.944-7.616 14.144-7.616h0.288c3.52 0.128 36.736 11.264 70.752 52.832 19.776 24.128 36.064 53.984 48.448 88.8 15.328 43.008 24.576 93.792 27.712 150.912 3.488 47.968-1.376 86.144-14.464 113.504l-0.096 0.128zM542.816 868.224c2.848-11.52 3.232-23.52 1.088-35.2-3.2-22.688-12.8-43.008-29.248-61.536 14.016 30.72 23.488 63.296 28.16 96.736zM519.072 727.36c4.992-7.552 8.832-15.84 11.328-24.576 2.784-11.424 2.272-23.424-1.44-34.592-5.888-13.984-13.76-21.056-23.456-21.056h-1.28c-3.424 0.512-6.688 1.728-9.632 3.52-12.448 7.296-19.2 26.624-14.336 40.8 0.224 0.416 0.384 0.864 0.576 1.312 0.8 2.048 3.072 5.984 9.376 12.064 9.024 7.968 22.176 18.016 28.832 22.528h0.032zM374.88 731.232l0.128 0.224v0.192c2.656 6.56 20.992 17.152 33.152 24.192 1.536 0.896 3.040 1.792 4.544 2.624 5.344 2.816 10.816 5.344 16.384 7.584 20.032 8.512 51.2 21.792 76.896 46.496-7.456-26.144-25.408-70.144-54.88-96.8-6.56-5.92-19.776-11.136-35.136-17.216-16.512-6.496-36.384-14.336-55.648-26.144 1.472 15.072 6.144 41.376 14.464 58.848h0.096zM362.080 646.048c9.92 8.192 28.064 19.296 87.52 38.912 0.416-1.824 0.896-4.192 1.344-6.56 0.352-1.792 0.736-3.808 1.184-6.016 3.904-19.2 8.192-40.8 48.192-52.768-3.712-8.192-11.36-22.048-14.048-24.704l-0.864-0.736-0.608-1.024c-7.808-12.48-49.856-39.744-68.704-39.744-0.8 0-1.632 0.064-2.4 0.192-11.36 2.176-37.408 25.312-45.056 42.432-14.816 33.568-11.776 45.664-6.656 49.952l0.096 0.064zM213.952 337.952c-21.792 32.416-38.304 89.088-27.488 134.624v0.192c5.248 24.8 22.528 39.36 29.696 44.48l1.024 0.768c10.592 9.248 32.32 19.040 61.152 27.584 4.096 1.056 6.336 1.536 6.432 1.536 5.312 1.088 11.104 2.432 16.736 3.712 10.656 2.72 21.472 4.832 32.352 6.336 2.72 0.288 5.472 0.8 8.096 1.312 3.52 0.768 7.136 1.248 10.752 1.376 2.912 0.16 5.76-0.608 8.192-2.176 10.688-12.672 36.864-37.76 54.048-39.232h1.056c19.552 1.056 50.176 20.128 91.040 56.704 6.944 6.144 13.408 11.52 19.744 16.224l0.768 0.576c11.136 8.48 23.424 15.328 36.48 20.384-4.256-14.016-7.68-37.952 6.144-71.68 7.2-17.44 20.992-56.768 32.448-95.264 19.712-66.336 16.96-77.984 16.576-79.072-0.544-2.272-1.44-4.416-2.656-6.4-1.536 0.288-3.008 0.832-4.384 1.568-9.952 4.576-21.088 12.768-34.112 22.4-24.16 17.696-54.208 39.744-98.176 56.928-32.288 12.608-64.416 19.008-95.392 19.008-12.832 0.032-25.664-1.216-38.272-3.648-69.248-13.664-105.76-44.192-125.376-60.608l-0.128-0.128c-1.312-1.056-2.24-2.464-2.688-4.064s-0.384-3.296 0.16-4.864c0.576-1.536 1.6-2.848 2.944-3.776s2.944-1.408 4.608-1.408c1.76 0 3.52 0.512 9.248 2.176 20.768 6.176 42.016 10.592 63.488 13.216 7.712 0.896 15.456 1.344 23.232 1.376 33.504 0 64.352-10.24 96.992-32.416 7.488-6.24 12.064-10.4 14.816-13.12l-2.816-0.736-19.808-5.6c-49.024-13.856-123.168-34.784-158.24-34.784-2.688-0.032-5.376 0.128-8.032 0.448-9.12 1.344-20.192 10.848-30.496 26.048h-0.16zM69.344 89.216c-13.792-17.984-23.968-38.496-29.92-60.352-6.592 31.584-14.336 83.584-9.92 124.032 9.152 83.84 50.688 111.936 56.864 113.408h0.384c0.352 0 0.768 0 1.568-0.896 3.328-3.584 10.496-18.816 5.28-81.76-1.216-12.96 1.888-23.936 9.28-32.608 5.024-5.728 11.36-10.208 18.432-13.024-19.968-13.216-37.568-29.696-52.032-48.8h0.064zM139.936 171.52c-2.144-0.96-4.48-1.504-6.848-1.6-0.832-0.064-1.664 0.032-2.464 0.352-0.768 0.288-1.472 0.768-2.048 1.376-1.344 1.376-4.352 6.144-3.392 20.16 0.704 6.912 1.664 13.792 2.56 20.48 2.016 12.608 3.2 25.344 3.584 38.112 24.224-15.84 51.040-32.64 68.416-40.384-11.36-10.048-34.944-28.128-59.808-38.528v0.032zM455.84 173.76c-39.040-40.704-91.776-65.504-148.032-69.632-6.688-0.48-13.344-0.736-19.744-0.736-74.080 0-111.712 31.456-129.024 48.96 83.68 36.096 100.672 87.744 108.096 110.272 0.704 2.208 1.376 4.096 2.048 5.76 3.168 1.568 13.344 6.144 44.672 17.856 24.576 8.864 54.048 18.752 80.032 27.52 21.664 7.296 40.352 13.632 50.56 17.376l0.864 0.256c2.048 0.576 3.264 0.864 4.096 0.992l0.576-0.736c9.504-12.416 25.216-19.968 25.376-20.064 11.808-5.28 24.416-8.448 37.312-9.408-0.288-44.768-20.736-91.168-56.704-128.384l-0.128-0.032zM520.768 326.976c-30.976 0-41.856 9.984-52 22.048-50.304 59.968-105.952 69.824-127.552 71.264-6.912 0.448-13.696 0.672-20.192 0.672-5.44 0-10.784-0.128-15.968-0.48 25.056 8.544 51.36 12.896 77.824 12.96 55.488 0 108.928-19.648 158.752-58.4 20.32-15.808 35.264-27.008 48.192-36-6.304-1.856-14.784-4.256-25.504-7.168l-4.096-1.12c-12.992-2.304-26.176-3.584-39.392-3.776h-0.064zM540.096 213.536c-3.264 2.88-8.192 7.456-13.312 12.096 4.704 11.904 8.224 24.256 10.56 36.864 2.432 13.28 3.936 30.72 4.64 39.936 14.72 2.208 29.28 5.312 43.616 9.28 17.28 4.96 30.592 10.592 40.096 17.024-29.632-74.016-72.544-106.496-85.6-115.136v-0.064zM642.624 382.784c-4.416 36.448-19.168 81.568-24.96 99.104-0.608 2.048-1.12 3.52-1.472 4.608-0.416 1.376-1.76 5.088-4.48 12.672-7.104 19.84-21.952 61.088-24.576 73.28-3.808 17.952 4.768 42.624 10.24 44.768 1.664 0.64 3.456 0.96 5.28 0.96 10.080 0 22.528-9.504 32.384-24.864 11.904-18.432 18.976-42.88 19.904-68.608 2.048-56.128-3.168-103.008-12.288-141.92z" />
+<glyph unicode="&#xe910;" glyph-name="link-horizontal" d="M726 640.667c118 0 212-96 212-214s-94-214-212-214h-172v82h172c72 0 132 60 132 132s-60 132-132 132h-172v82h172zM342 384.667v84h340v-84h-340zM166 426.667c0-72 60-132 132-132h172v-82h-172c-118 0-212 96-212 214s94 214 212 214h172v-82h-172c-72 0-132-60-132-132z" />
+<glyph unicode="&#xe911;" glyph-name="calculator" d="M384 896h-320c-35.2 0-64-28.8-64-64v-320c0-35.2 28.796-64 64-64h320c35.2 0 64 28.8 64 64v320c0 35.2-28.8 64-64 64zM384 640h-320v64h320v-64zM896 896h-320c-35.204 0-64-28.8-64-64v-832c0-35.2 28.796-64 64-64h320c35.2 0 64 28.8 64 64v832c0 35.2-28.8 64-64 64zM896 320h-320v64h320v-64zM896 512h-320v64h320v-64zM384 384h-320c-35.2 0-64-28.8-64-64v-320c0-35.2 28.796-64 64-64h320c35.2 0 64 28.8 64 64v320c0 35.2-28.8 64-64 64zM384 128h-128v-128h-64v128h-128v64h128v128h64v-128h128v-64z" />
+<glyph unicode="&#xe912;" glyph-name="link" d="M440.236 324.234c-13.31 0-26.616 5.076-36.77 15.23-95.134 95.136-95.134 249.934 0 345.070l192 192c46.088 46.086 107.36 71.466 172.534 71.466s126.448-25.38 172.536-71.464c95.132-95.136 95.132-249.934 0-345.070l-87.766-87.766c-20.308-20.308-53.23-20.308-73.54 0-20.306 20.306-20.306 53.232 0 73.54l87.766 87.766c54.584 54.586 54.584 143.404 0 197.99-26.442 26.442-61.6 41.004-98.996 41.004s-72.552-14.562-98.996-41.006l-192-191.998c-54.586-54.586-54.586-143.406 0-197.992 20.308-20.306 20.306-53.232 0-73.54-10.15-10.152-23.462-15.23-36.768-15.23zM256-52c-65.176 0-126.45 25.38-172.534 71.464-95.134 95.136-95.134 249.934 0 345.070l87.764 87.764c20.308 20.306 53.234 20.306 73.54 0 20.308-20.306 20.308-53.232 0-73.54l-87.764-87.764c-54.586-54.586-54.586-143.406 0-197.992 26.44-26.44 61.598-41.002 98.994-41.002s72.552 14.562 98.998 41.006l192 191.998c54.584 54.586 54.584 143.406 0 197.992-20.308 20.308-20.306 53.232 0 73.54 20.306 20.306 53.232 20.306 73.54-0.002 95.132-95.134 95.132-249.932 0.002-345.068l-192.002-192c-46.090-46.088-107.364-71.466-172.538-71.466z" />
+<glyph unicode="&#xe913;" glyph-name="facebook-full" d="M928 960h-832c-52.8 0-96-43.2-96-96v-832c0-52.8 43.2-96 96-96h416v448h-128v128h128v64c0 105.8 86.2 192 192 192h128v-128h-128c-35.2 0-64-28.8-64-64v-64h192l-32-128h-160v-448h288c52.8 0 96 43.2 96 96v832c0 52.8-43.2 96-96 96z" />
+<glyph unicode="&#xe914;" glyph-name="map" d="M0 768l320 128v-768l-320-128zM384 928l320-192v-736l-320 160zM768 736l256 192v-768l-256-192z" />
+<glyph unicode="&#xe915;" glyph-name="compass" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM96 448c0 229.75 186.25 416 416 416 109.574 0 209.232-42.386 283.534-111.628l-411.534-176.372-176.372-411.534c-69.242 74.302-111.628 173.96-111.628 283.534zM585.166 374.834l-256.082-109.75 109.75 256.082 146.332-146.332zM512 32c-109.574 0-209.234 42.386-283.532 111.628l411.532 176.372 176.372 411.532c69.242-74.298 111.628-173.958 111.628-283.532 0-229.75-186.25-416-416-416z" />
+<glyph unicode="&#xe916;" glyph-name="folder-open" d="M832 0l192 512h-832l-192-512zM128 576l-128-576v832h288l128-128h416v-128z" />
+<glyph unicode="&#xe917;" glyph-name="folder" d="M448 832l128-128h448v-704h-1024v832z" />
+<glyph unicode="&#xe918;" glyph-name="drawer" d="M1016.988 307.99l-256 320c-6.074 7.592-15.266 12.010-24.988 12.010h-448c-9.72 0-18.916-4.418-24.988-12.010l-256-320c-4.538-5.674-7.012-12.724-7.012-19.99v-288c0-35.346 28.654-64 64-64h896c35.348 0 64 28.654 64 64v288c0 7.266-2.472 14.316-7.012 19.99zM960 256h-224l-128-128h-192l-128 128h-224v20.776l239.38 299.224h417.24l239.38-299.224v-20.776zM736 448h-448c-17.672 0-32 14.328-32 32s14.328 32 32 32h448c17.674 0 32-14.328 32-32s-14.326-32-32-32zM800 320h-576c-17.672 0-32 14.326-32 32s14.328 32 32 32h576c17.674 0 32-14.326 32-32s-14.326-32-32-32z" />
+<glyph unicode="&#xe919;" glyph-name="stop" d="M128 832h768v-768h-768z" />
+<glyph unicode="&#xe91a;" glyph-name="github" d="M512.008 947.358c-282.738 0-512.008-229.218-512.008-511.998 0-226.214 146.704-418.132 350.136-485.836 25.586-4.738 34.992 11.11 34.992 24.632 0 12.204-0.48 52.542-0.696 95.324-142.448-30.976-172.504 60.41-172.504 60.41-23.282 59.176-56.848 74.916-56.848 74.916-46.452 31.778 3.51 31.124 3.51 31.124 51.4-3.61 78.476-52.766 78.476-52.766 45.672-78.27 119.776-55.64 149.004-42.558 4.588 33.086 17.852 55.68 32.506 68.464-113.73 12.942-233.276 56.85-233.276 253.032 0 55.898 20.004 101.574 52.76 137.428-5.316 12.9-22.854 64.972 4.952 135.5 0 0 43.006 13.752 140.84-52.49 40.836 11.348 84.636 17.036 128.154 17.234 43.502-0.198 87.336-5.886 128.256-17.234 97.734 66.244 140.656 52.49 140.656 52.49 27.872-70.528 10.35-122.6 5.036-135.5 32.82-35.856 52.694-81.532 52.694-137.428 0-196.654-119.778-239.95-233.79-252.624 18.364-15.89 34.724-47.046 34.724-94.812 0-68.508-0.596-123.644-0.596-140.508 0-13.628 9.222-29.594 35.172-24.566 203.322 67.776 349.842 259.626 349.842 485.768 0 282.78-229.234 511.998-511.992 511.998z" />
+<glyph unicode="&#xe91b;" glyph-name="clock" d="M658.744 210.744l-210.744 210.746v282.51h128v-229.49l173.256-173.254zM512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 64c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384s-171.922-384-384-384z" />
+<glyph unicode="&#xe91c;" glyph-name="calendar" d="M320 576h128v-128h-128zM512 576h128v-128h-128zM704 576h128v-128h-128zM128 192h128v-128h-128zM320 192h128v-128h-128zM512 192h128v-128h-128zM320 384h128v-128h-128zM512 384h128v-128h-128zM704 384h128v-128h-128zM128 384h128v-128h-128zM832 960v-64h-128v64h-448v-64h-128v64h-128v-1024h960v1024h-128zM896 0h-832v704h832v-704z" />
+<glyph unicode="&#xe91d;" glyph-name="flickr" d="M928 960h-832c-52.8 0-96-43.2-96-96v-832c0-52.8 43.2-96 96-96h832c52.8 0 96 43.2 96 96v832c0 52.8-43.2 96-96 96zM288 288c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zM736 288c-88.4 0-160 71.6-160 160s71.6 160 160 160c88.4 0 160-71.6 160-160s-71.6-160-160-160z" />
+<glyph unicode="&#xe91e;" glyph-name="instagram" d="M512 867.8c136.8 0 153-0.6 206.8-3 50-2.2 77-10.6 95-17.6 23.8-9.2 41-20.4 58.8-38.2 18-18 29-35 38.4-58.8 7-18 15.4-45.2 17.6-95 2.4-54 3-70.2 3-206.8s-0.6-153-3-206.8c-2.2-50-10.6-77-17.6-95-9.2-23.8-20.4-41-38.2-58.8-18-18-35-29-58.8-38.4-18-7-45.2-15.4-95-17.6-54-2.4-70.2-3-206.8-3s-153 0.6-206.8 3c-50 2.2-77 10.6-95 17.6-23.8 9.2-41 20.4-58.8 38.2-18 18-29 35-38.4 58.8-7 18-15.4 45.2-17.6 95-2.4 54-3 70.2-3 206.8s0.6 153 3 206.8c2.2 50 10.6 77 17.6 95 9.2 23.8 20.4 41 38.2 58.8 18 18 35 29 58.8 38.4 18 7 45.2 15.4 95 17.6 53.8 2.4 70 3 206.8 3zM512 960c-139 0-156.4-0.6-211-3-54.4-2.4-91.8-11.2-124.2-23.8-33.8-13.2-62.4-30.6-90.8-59.2-28.6-28.4-46-57-59.2-90.6-12.6-32.6-21.4-69.8-23.8-124.2-2.4-54.8-3-72.2-3-211.2s0.6-156.4 3-211c2.4-54.4 11.2-91.8 23.8-124.2 13.2-33.8 30.6-62.4 59.2-90.8 28.4-28.4 57-46 90.6-59 32.6-12.6 69.8-21.4 124.2-23.8 54.6-2.4 72-3 211-3s156.4 0.6 211 3c54.4 2.4 91.8 11.2 124.2 23.8 33.6 13 62.2 30.6 90.6 59s46 57 59 90.6c12.6 32.6 21.4 69.8 23.8 124.2 2.4 54.6 3 72 3 211s-0.6 156.4-3 211c-2.4 54.4-11.2 91.8-23.8 124.2-12.6 34-30 62.6-58.6 91-28.4 28.4-57 46-90.6 59-32.6 12.6-69.8 21.4-124.2 23.8-54.8 2.6-72.2 3.2-211.2 3.2v0zM512 711c-145.2 0-263-117.8-263-263s117.8-263 263-263 263 117.8 263 263c0 145.2-117.8 263-263 263zM512 277.4c-94.2 0-170.6 76.4-170.6 170.6s76.4 170.6 170.6 170.6c94.2 0 170.6-76.4 170.6-170.6s-76.4-170.6-170.6-170.6zM846.8 721.4c0-33.91-27.49-61.4-61.4-61.4s-61.4 27.49-61.4 61.4c0 33.91 27.49 61.4 61.4 61.4s61.4-27.49 61.4-61.4z" />
+<glyph unicode="&#xe920;" glyph-name="newspaper" d="M896 704v128h-896v-704c0-35.346 28.654-64 64-64h864c53.022 0 96 42.978 96 96v544h-128zM832 128h-768v640h768v-640zM128 640h640v-64h-640zM512 512h256v-64h-256zM512 384h256v-64h-256zM512 256h192v-64h-192zM128 512h320v-320h-320z" />
+<glyph unicode="&#xe921;" glyph-name="cart" d="M384 32c0-53.019-42.981-96-96-96s-96 42.981-96 96c0 53.019 42.981 96 96 96s96-42.981 96-96zM1024 32c0-53.019-42.981-96-96-96s-96 42.981-96 96c0 53.019 42.981 96 96 96s96-42.981 96-96zM1024 448v384h-768c0 35.346-28.654 64-64 64h-192v-64h128l48.074-412.054c-29.294-23.458-48.074-59.5-48.074-99.946 0-70.696 57.308-128 128-128h768v64h-768c-35.346 0-64 28.654-64 64 0 0.218 0.014 0.436 0.016 0.656l831.984 127.344z" />
+<glyph unicode="&#xe922;" glyph-name="home" d="M1024 352l-192 192v288h-128v-160l-192 192-512-512v-32h128v-320h320v192h128v-192h320v320h128z" />
+<glyph unicode="&#xe923;" glyph-name="chevron-right" d="M414.165 140.502l256 256c16.683 16.683 16.683 43.691 0 60.331l-256 256c-16.683 16.683-43.691 16.683-60.331 0s-16.683-43.691 0-60.331l225.835-225.835-225.835-225.835c-16.683-16.683-16.683-43.691 0-60.331s43.691-16.683 60.331 0z" />
+<glyph unicode="&#xe924;" glyph-name="chevron-left" d="M670.165 200.832l-225.835 225.835 225.835 225.835c16.683 16.683 16.683 43.691 0 60.331s-43.691 16.683-60.331 0l-256-256c-16.683-16.683-16.683-43.691 0-60.331l256-256c16.683-16.683 43.691-16.683 60.331 0s16.683 43.691 0 60.331z" />
+<glyph unicode="&#xe925;" glyph-name="chevron-down" d="M225.835 524.502l256-256c16.683-16.683 43.691-16.683 60.331 0l256 256c16.683 16.683 16.683 43.691 0 60.331s-43.691 16.683-60.331 0l-225.835-225.835-225.835 225.835c-16.683 16.683-43.691 16.683-60.331 0s-16.683-43.691 0-60.331z" />
+<glyph unicode="&#xe926;" glyph-name="chevron-up" d="M798.165 328.832l-256 256c-16.683 16.683-43.691 16.683-60.331 0l-256-256c-16.683-16.683-16.683-43.691 0-60.331s43.691-16.683 60.331 0l225.835 225.835 225.835-225.835c16.683-16.683 43.691-16.683 60.331 0s16.683 43.691 0 60.331z" />
+<glyph unicode="&#xe927;" glyph-name="feed" d="M136.294 209.070c-75.196 0-136.292-61.334-136.292-136.076 0-75.154 61.1-135.802 136.292-135.802 75.466 0 136.494 60.648 136.494 135.802-0.002 74.742-61.024 136.076-136.494 136.076zM0.156 612.070v-196.258c127.784 0 247.958-49.972 338.458-140.512 90.384-90.318 140.282-211.036 140.282-339.3h197.122c-0.002 372.82-303.282 676.070-675.862 676.070zM0.388 960v-196.356c455.782 0 826.756-371.334 826.756-827.644h196.856c0 564.47-459.254 1024-1023.612 1024z" />
+<glyph unicode="&#xe928;" glyph-name="pig" d="M789.568 258.912c0 0 106.56 72.896 106.56 216.672 0 214.016-226.816 293.152-348.768 291.040-121.984-2.144-158.336-34.24-158.336-34.24s-41.504 30.176-85.504 55.456c-33.664 13.12-41.472 15.008-64.864 7.488-18.72 0-6.944-31.168 0.576-42.4 7.456-11.232 43.712-73.28 43.712-73.28s-76.096-78.368-81.728-129.888c0 0.928-35.84 0.288-55.488 0.288s-17.792-21.408-17.792-21.408l0.544-150.848c0 0-1.216-21.408 16.608-21.408 17.792 0 55.616-0.416 55.616-0.416s53.216-77.28 86.944-91.328c0-0.928-29.152-80.096-29.152-80.096s-14.048-24.352 11.232-33.728c25.28-9.344 91.232-37.024 119.328-45.472 28.064-8.416 32.096 10.688 32.096 10.688l27.808 60.064 181.92-0.288 27.808-61.92c0 0 5.344-28.736 42.784-12.832 37.472 15.904 78.368 34.784 109.28 50.688 30.88 15.904 10.56 45.632 10.56 45.632l-31.744 61.536zM298.304 519.552c-17.056 0-30.88 13.856-30.88 30.912s13.824 30.88 30.88 30.88 30.912-13.824 30.912-30.88-13.856-30.912-30.912-30.912zM733.6 615.808c-9.856-11.68-16.288-3.072-24.224-0.736 0 0-33.632 31.2-83.040 45.76-51.168 15.040-105.024 7.776-105.024 7.776-7.936 2.336-17.568 2.592-17.632 14.848 0.416 15.136 18.784 15.264 18.56 15.776 0 0 60.608 5.6 111.328-9.312 49.888-14.656 88-46.528 88-46.528s20.384-14.048 12.032-27.584z" />
+<glyph unicode="&#xe929;" glyph-name="library" horiz-adv-x="1088" d="M1024 0v64h-64v384h64v64h-192v-64h64v-384h-192v384h64v64h-192v-64h64v-384h-192v384h64v64h-192v-64h64v-384h-192v384h64v64h-192v-64h64v-384h-64v-64h-64v-64h1088v64h-64zM512 960h64l512-320v-64h-1088v64l512 320z" />
+<glyph unicode="&#xe92a;" glyph-name="office" d="M0-64h512v1024h-512v-1024zM320 832h128v-128h-128v128zM320 576h128v-128h-128v128zM320 320h128v-128h-128v128zM64 832h128v-128h-128v128zM64 576h128v-128h-128v128zM64 320h128v-128h-128v128zM576 640h448v-64h-448zM576-64h128v256h192v-256h128v576h-448z" />
+<glyph unicode="&#xe92b;" glyph-name="attachment" d="M665.832 632.952l-64.952 64.922-324.81-324.742c-53.814-53.792-53.814-141.048 0-194.844 53.804-53.792 141.060-53.792 194.874 0l389.772 389.708c89.714 89.662 89.714 235.062 0 324.726-89.666 89.704-235.112 89.704-324.782 0l-409.23-409.178c-0.29-0.304-0.612-0.576-0.876-0.846-125.102-125.096-125.102-327.856 0-452.906 125.054-125.056 327.868-125.056 452.988 0 0.274 0.274 0.516 0.568 0.82 0.876l0.032-0.034 279.332 279.292-64.986 64.92-279.33-279.262c-0.296-0.268-0.564-0.57-0.846-0.844-89.074-89.058-233.98-89.058-323.076 0-89.062 89.042-89.062 233.922 0 322.978 0.304 0.304 0.604 0.582 0.888 0.846l-0.046 0.060 409.28 409.166c53.712 53.738 141.144 53.738 194.886 0 53.712-53.734 53.712-141.148 0-194.84l-389.772-389.7c-17.936-17.922-47.054-17.922-64.972 0-17.894 17.886-17.894 47.032 0 64.92l324.806 324.782z" />
+<glyph unicode="&#xe92c;" glyph-name="enlarge" d="M1024 960h-416l160-160-192-192 96-96 192 192 160-160zM1024-64v416l-160-160-192 192-96-96 192-192-160-160zM0-64h416l-160 160 192 192-96 96-192-192-160 160zM0 960v-416l160 160 192-192 96 96-192 192 160 160z" />
+<glyph unicode="&#xe92d;" glyph-name="anchor" d="M548.571 804.571c0 20-16.571 36.571-36.571 36.571s-36.571-16.571-36.571-36.571 16.571-36.571 36.571-36.571 36.571 16.571 36.571 36.571zM1024 274.286v-201.143c0-7.429-4.571-14.286-11.429-17.143-2.286-0.571-4.571-1.143-6.857-1.143-4.571 0-9.143 1.714-13.143 5.143l-53.143 53.143c-89.714-108-250.857-177.143-427.429-177.143s-337.714 69.143-427.429 177.143l-53.143-53.143c-3.429-3.429-8.571-5.143-13.143-5.143-2.286 0-4.571 0.571-6.857 1.143-6.857 2.857-11.429 9.714-11.429 17.143v201.143c0 10.286 8 18.286 18.286 18.286h201.143c7.429 0 14.286-4.571 17.143-11.429s1.143-14.286-4-20l-57.143-57.143c51.429-69.143 150.286-119.429 263.429-134.857v369.714h-109.714c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h109.714v93.143c-43.429 25.143-73.143 72-73.143 126.286 0 80.571 65.714 146.286 146.286 146.286s146.286-65.714 146.286-146.286c0-54.286-29.714-101.143-73.143-126.286v-93.143h109.714c20 0 36.571-16.571 36.571-36.571v-73.143c0-20-16.571-36.571-36.571-36.571h-109.714v-369.714c113.143 15.429 212 65.714 263.429 134.857l-57.143 57.143c-5.143 5.714-6.857 13.143-4 20s9.714 11.429 17.143 11.429h201.143c10.286 0 18.286-8 18.286-18.286z" />
+<glyph unicode="&#xe92e;" glyph-name="eye-off" d="M945.942 945.942c-18.746 18.744-49.136 18.744-67.882 0l-202.164-202.164c-51.938 15.754-106.948 24.222-163.896 24.222-223.318 0-416.882-130.042-512-320 41.122-82.124 100.648-153.040 173.022-207.096l-158.962-158.962c-18.746-18.746-18.746-49.136 0-67.882 9.372-9.374 21.656-14.060 33.94-14.060s24.568 4.686 33.942 14.058l864 864c18.744 18.746 18.744 49.138 0 67.884zM416 640c42.24 0 78.082-27.294 90.92-65.196l-121.724-121.724c-37.902 12.838-65.196 48.68-65.196 90.92 0 53.020 42.98 96 96 96zM110.116 448c38.292 60.524 89.274 111.924 149.434 150.296 3.918 2.5 7.876 4.922 11.862 7.3-9.962-27.328-15.412-56.822-15.412-87.596 0-54.89 17.286-105.738 46.7-147.418l-60.924-60.924c-52.446 36.842-97.202 83.882-131.66 138.342zM768 518c0 27.166-4.256 53.334-12.102 77.898l-321.808-321.808c24.568-7.842 50.742-12.090 77.91-12.090 141.382 0 256 114.618 256 256zM830.026 670.026l-69.362-69.362c1.264-0.786 2.53-1.568 3.786-2.368 60.162-38.374 111.142-89.774 149.434-150.296-38.292-60.522-89.274-111.922-149.436-150.296-75.594-48.218-162.89-73.704-252.448-73.704-38.664 0-76.902 4.76-113.962 14.040l-76.894-76.894c59.718-21.462 123.95-33.146 190.856-33.146 223.31 0 416.876 130.042 512 320-45.022 89.916-112.118 166.396-193.974 222.026z" />
+<glyph unicode="&#xe92f;" glyph-name="eye" d="M512 768c-223.318 0-416.882-130.042-512-320 95.118-189.958 288.682-320 512-320 223.312 0 416.876 130.042 512 320-95.116 189.958-288.688 320-512 320zM764.45 598.296c60.162-38.374 111.142-89.774 149.434-150.296-38.292-60.522-89.274-111.922-149.436-150.296-75.594-48.218-162.89-73.704-252.448-73.704-89.56 0-176.858 25.486-252.452 73.704-60.158 38.372-111.138 89.772-149.432 150.296 38.292 60.524 89.274 111.924 149.434 150.296 3.918 2.5 7.876 4.922 11.86 7.3-9.96-27.328-15.41-56.822-15.41-87.596 0-141.382 114.616-256 256-256 141.382 0 256 114.618 256 256 0 30.774-5.452 60.268-15.408 87.598 3.978-2.378 7.938-4.802 11.858-7.302v0zM512 544c0-53.020-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.982 96-96z" />
+<glyph unicode="&#xe930;" glyph-name="bubbles" horiz-adv-x="1152" d="M480 960v0c265.096 0 480-173.914 480-388.448s-214.904-388.448-480-388.448c-25.458 0-50.446 1.62-74.834 4.71-103.106-102.694-222.172-121.108-341.166-123.814v25.134c64.252 31.354 116 88.466 116 153.734 0 9.106-0.712 18.048-2.030 26.794-108.558 71.214-177.97 179.988-177.97 301.89 0 214.534 214.904 388.448 480 388.448zM996 89.314c0-55.942 36.314-104.898 92-131.772v-21.542c-103.126 2.318-197.786 18.102-287.142 106.126-21.14-2.65-42.794-4.040-64.858-4.040-95.47 0-183.408 25.758-253.614 69.040 144.674 0.506 281.26 46.854 384.834 130.672 52.208 42.252 93.394 91.826 122.414 147.348 30.766 58.866 46.366 121.582 46.366 186.406 0 10.448-0.45 20.836-1.258 31.168 72.57-59.934 117.258-141.622 117.258-231.676 0-104.488-60.158-197.722-154.24-258.764-1.142-7.496-1.76-15.16-1.76-22.966z" />
+<glyph unicode="&#xe931;" glyph-name="share" d="M864 256c-45.16 0-85.92-18.738-115.012-48.83l-431.004 215.502c1.314 8.252 2.016 16.706 2.016 25.328s-0.702 17.076-2.016 25.326l431.004 215.502c29.092-30.090 69.852-48.828 115.012-48.828 88.366 0 160 71.634 160 160s-71.634 160-160 160-160-71.634-160-160c0-8.622 0.704-17.076 2.016-25.326l-431.004-215.504c-29.092 30.090-69.852 48.83-115.012 48.83-88.366 0-160-71.636-160-160 0-88.368 71.634-160 160-160 45.16 0 85.92 18.738 115.012 48.828l431.004-215.502c-1.312-8.25-2.016-16.704-2.016-25.326 0-88.368 71.634-160 160-160s160 71.632 160 160c0 88.364-71.634 160-160 160z" />
+<glyph unicode="&#xe932;" glyph-name="strategy" horiz-adv-x="736" d="M704-48c0 8.832-7.168 16-16 16h-576c-8.832 0-16-7.168-16-16s7.168-16 16-16h576c8.832 0 16 7.168 16 16zM40.768 660.672c-13.376-8.896-33.664-35.968-14.432-74.432 15.968-31.904 49.28-70.944 84.704-81.248 18.048-5.312 35.84-3.104 51.36 6.272 35.168 21.056 76.704 49.536 94.304 61.76 22.208-11.232 50.24-13.568 78.72-6.24 0.128 0.032 0.256 0.096 0.384 0.128-1.664-52.832-19.552-85.824-107.008-167.040-77.952-72.352-124.192-167.392-123.744-254.272 0.32-56.992 21.088-105.92 60.16-141.408 2.976-2.72 6.816-4.192 10.784-4.192h448c8.832 0 16 7.168 16 16s-7.168 16-16 16h-441.632c-29.408 28.96-45.024 68.16-45.28 113.76-0.416 76.864 43.104 165.28 113.504 230.656 93.28 86.592 117.408 127.616 117.408 199.584 0 1.312-0.448 2.464-0.736 3.68 17.504 9.44 32.64 21.92 42.976 37.024 12.96 18.88 40.864 67.36 20.16 110.272-3.84 7.904-13.408 11.264-21.376 7.424-7.936-3.84-11.296-13.408-7.424-21.376 9.312-19.296 2.688-48.544-17.728-78.24-11.776-17.152-32.832-31.008-56.352-37.024-23.904-6.112-46.624-3.424-62.464 7.424-5.536 3.776-12.8 3.744-18.272-0.128-0.576-0.384-56.864-40.032-100.768-66.368-8.032-4.8-16.512-5.824-25.984-3.008-24.768 7.232-52 38.784-65.024 64.832-10.528 21.056 0.256 31.104 5.152 34.688 110.304 95.264 165.664 194.24 167.936 198.432 2.112 3.904 2.56 8.512 1.152 12.768-0.16 0.48-11.2 34.016-17.28 65.056 33.472-20.16 91.040-48.32 150.976-48.32 83.328 0 277.056-31.104 277.056-319.232 0-1.568-0.288-158.208-63.040-330.464-3.040-8.288 1.248-17.472 9.568-20.512 1.824-0.608 3.648-0.928 5.472-0.928 6.528 0 12.672 4.032 15.040 10.528 64.672 177.536 64.992 334.912 64.96 341.472 0 325.856-236.576 351.168-309.056 351.168-80.288 0-160.384 60.896-161.152 61.536-4.896 3.68-11.36 4.288-16.864 1.632-5.472-2.688-8.928-8.256-8.928-14.336 0-31.392 14.88-82.176 20.672-100.704-13.376-22.336-66.112-104.992-155.904-182.624zM559.52 910.72c-51.232 34.528-108.512 49.28-191.52 49.28-8.832 0-16-7.168-16-16s7.168-16 16-16c76.16 0 128.096-13.088 173.664-43.808 74.048-49.984 162.336-149.568 162.336-340.192 0-46.432 0-110.016-31.52-236.128-2.112-8.576 3.072-17.248 11.648-19.392 1.312-0.32 2.592-0.48 3.872-0.48 7.2 0 13.728 4.832 15.52 12.128 32.48 129.888 32.48 195.776 32.48 243.872 0 204.672-95.968 312.416-176.48 366.72z" />
+<glyph unicode="&#xe933;" glyph-name="menu" d="M128 384h768c23.552 0 42.667 19.115 42.667 42.667s-19.115 42.667-42.667 42.667h-768c-23.552 0-42.667-19.115-42.667-42.667s19.115-42.667 42.667-42.667zM128 640h768c23.552 0 42.667 19.115 42.667 42.667s-19.115 42.667-42.667 42.667h-768c-23.552 0-42.667-19.115-42.667-42.667s19.115-42.667 42.667-42.667zM128 128h768c23.552 0 42.667 19.115 42.667 42.667s-19.115 42.667-42.667 42.667h-768c-23.552 0-42.667-19.115-42.667-42.667s19.115-42.667 42.667-42.667z" />
+<glyph unicode="&#xe934;" glyph-name="users" horiz-adv-x="1152" d="M768 189.388v52.78c70.498 39.728 128 138.772 128 237.832 0 159.058 0 288-192 288s-192-128.942-192-288c0-99.060 57.502-198.104 128-237.832v-52.78c-217.102-17.748-384-124.42-384-253.388h896c0 128.968-166.898 235.64-384 253.388zM327.196 164.672c55.31 36.15 124.080 63.636 199.788 80.414-15.054 17.784-28.708 37.622-40.492 59.020-30.414 55.234-46.492 116.058-46.492 175.894 0 86.042 0 167.31 30.6 233.762 29.706 64.504 83.128 104.496 159.222 119.488-16.914 76.48-61.94 126.75-181.822 126.75-192 0-192-128.942-192-288 0-99.060 57.502-198.104 128-237.832v-52.78c-217.102-17.748-384-124.42-384-253.388h279.006c14.518 12.91 30.596 25.172 48.19 36.672z" />
+<glyph unicode="&#xe935;" glyph-name="book" d="M896 832v-832h-672c-53.026 0-96 42.98-96 96s42.974 96 96 96h608v768h-640c-70.398 0-128-57.6-128-128v-768c0-70.4 57.602-128 128-128h768v896h-64zM224.056 128v0c-0.018-0.002-0.038 0-0.056 0-17.672 0-32-14.326-32-32s14.328-32 32-32c0.018 0 0.038 0.002 0.056 0.002v-0.002h607.89v64h-607.89z" />
+<glyph unicode="&#xe936;" glyph-name="youtube" d="M1013.8 652.8c0 0-10 70.6-40.8 101.6-39 40.8-82.6 41-102.6 43.4-143.2 10.4-358.2 10.4-358.2 10.4h-0.4c0 0-215 0-358.2-10.4-20-2.4-63.6-2.6-102.6-43.4-30.8-31-40.6-101.6-40.6-101.6s-10.2-82.8-10.2-165.8v-77.6c0-82.8 10.2-165.8 10.2-165.8s10-70.6 40.6-101.6c39-40.8 90.2-39.4 113-43.8 82-7.8 348.2-10.2 348.2-10.2s215.2 0.4 358.4 10.6c20 2.4 63.6 2.6 102.6 43.4 30.8 31 40.8 101.6 40.8 101.6s10.2 82.8 10.2 165.8v77.6c-0.2 82.8-10.4 165.8-10.4 165.8zM406.2 315.2v287.8l276.6-144.4-276.6-143.4z" />
+<glyph unicode="&#xe937;" glyph-name="cross" d="M1014.662 137.34c-0.004 0.004-0.008 0.008-0.012 0.010l-310.644 310.65 310.644 310.65c0.004 0.004 0.008 0.006 0.012 0.010 3.344 3.346 5.762 7.254 7.312 11.416 4.246 11.376 1.824 24.682-7.324 33.83l-146.746 146.746c-9.148 9.146-22.45 11.566-33.828 7.32-4.16-1.55-8.070-3.968-11.418-7.31 0-0.004-0.004-0.006-0.008-0.010l-310.648-310.652-310.648 310.65c-0.004 0.004-0.006 0.006-0.010 0.010-3.346 3.342-7.254 5.76-11.414 7.31-11.38 4.248-24.682 1.826-33.83-7.32l-146.748-146.748c-9.148-9.148-11.568-22.452-7.322-33.828 1.552-4.16 3.97-8.072 7.312-11.416 0.004-0.002 0.006-0.006 0.010-0.010l310.65-310.648-310.65-310.652c-0.002-0.004-0.006-0.006-0.008-0.010-3.342-3.346-5.76-7.254-7.314-11.414-4.248-11.376-1.826-24.682 7.322-33.83l146.748-146.746c9.15-9.148 22.452-11.568 33.83-7.322 4.16 1.552 8.070 3.97 11.416 7.312 0.002 0.004 0.006 0.006 0.010 0.010l310.648 310.65 310.648-310.65c0.004-0.002 0.008-0.006 0.012-0.008 3.348-3.344 7.254-5.762 11.414-7.314 11.378-4.246 24.684-1.826 33.828 7.322l146.746 146.748c9.148 9.148 11.57 22.454 7.324 33.83-1.552 4.16-3.97 8.068-7.314 11.414z" />
+<glyph unicode="&#xe938;" glyph-name="checkbox-checked" d="M896 960h-768c-70.4 0-128-57.6-128-128v-768c0-70.4 57.6-128 128-128h768c70.4 0 128 57.6 128 128v768c0 70.4-57.6 128-128 128zM448 165.49l-237.254 237.256 90.51 90.508 146.744-146.744 306.746 306.746 90.508-90.51-397.254-397.256z" />
+<glyph unicode="&#xe939;" glyph-name="search" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256z" />
+<glyph unicode="&#xe93a;" glyph-name="globe" d="M480 896c-265.096 0-480-214.904-480-480 0-265.098 214.904-480 480-480 265.098 0 480 214.902 480 480 0 265.096-214.902 480-480 480zM751.59 256c8.58 40.454 13.996 83.392 15.758 128h127.446c-3.336-44.196-13.624-87.114-30.68-128h-112.524zM208.41 576c-8.58-40.454-13.996-83.392-15.758-128h-127.444c3.336 44.194 13.622 87.114 30.678 128h112.524zM686.036 576c9.614-40.962 15.398-83.854 17.28-128h-191.316v128h174.036zM512 640v187.338c14.59-4.246 29.044-11.37 43.228-21.37 26.582-18.74 52.012-47.608 73.54-83.486 14.882-24.802 27.752-52.416 38.496-82.484h-155.264zM331.232 722.484c21.528 35.878 46.956 64.748 73.54 83.486 14.182 10 28.638 17.124 43.228 21.37v-187.34h-155.264c10.746 30.066 23.616 57.68 38.496 82.484zM448 576v-128h-191.314c1.88 44.146 7.666 87.038 17.278 128h174.036zM95.888 256c-17.056 40.886-27.342 83.804-30.678 128h127.444c1.762-44.608 7.178-87.546 15.758-128h-112.524zM256.686 384h191.314v-128h-174.036c-9.612 40.96-15.398 83.854-17.278 128zM448 192v-187.34c-14.588 4.246-29.044 11.372-43.228 21.37-26.584 18.74-52.014 47.61-73.54 83.486-14.882 24.804-27.75 52.418-38.498 82.484h155.266zM628.768 109.516c-21.528-35.876-46.958-64.746-73.54-83.486-14.184-9.998-28.638-17.124-43.228-21.37v187.34h155.266c-10.746-30.066-23.616-57.68-38.498-82.484zM512 256v128h191.314c-1.88-44.146-7.666-87.040-17.28-128h-174.034zM767.348 448c-1.762 44.608-7.178 87.546-15.758 128h112.524c17.056-40.886 27.344-83.806 30.68-128h-127.446zM830.658 640h-95.9c-18.638 58.762-44.376 110.294-75.316 151.428 42.536-20.34 81.058-47.616 114.714-81.272 21.48-21.478 40.362-44.938 56.502-70.156zM185.844 710.156c33.658 33.658 72.18 60.932 114.714 81.272-30.942-41.134-56.676-92.666-75.316-151.428h-95.898c16.138 25.218 35.022 48.678 56.5 70.156zM129.344 192h95.898c18.64-58.762 44.376-110.294 75.318-151.43-42.536 20.34-81.058 47.616-114.714 81.274-21.48 21.478-40.364 44.938-56.502 70.156zM774.156 121.844c-33.656-33.658-72.18-60.934-114.714-81.274 30.942 41.134 56.678 92.668 75.316 151.43h95.9c-16.14-25.218-35.022-48.678-56.502-70.156z" />
+<glyph unicode="&#xe93b;" glyph-name="wikipedia" d="M966.8 726.4c0-3.2-1-6.2-3-9-2-2.6-4.2-4-6.8-4-20-2-36.4-8.4-49-19.2-12.8-10.8-25.8-31.8-39.2-62.4l-206.4-465.4c-1.4-4.4-5.2-6.4-11.4-6.4-4.8 0-8.6 2.2-11.4 6.4l-115.8 242-133.2-242c-2.8-4.4-6.4-6.4-11.4-6.4-6 0-9.8 2.2-11.8 6.4l-202.6 465.2c-12.6 28.8-26 49-40 60.4s-33.6 18.6-58.6 21.2c-2.2 0-4.2 1.2-6 3.4-2 2.2-2.8 4.8-2.8 7.8 0 7.6 2.2 11.4 6.4 11.4 18 0 37-0.8 56.8-2.4 18.4-1.6 35.6-2.4 51.8-2.4 16.4 0 36 0.8 58.4 2.4 23.4 1.6 44.2 2.4 62.4 2.4 4.4 0 6.4-3.8 6.4-11.4s-1.4-11.2-4-11.2c-18-1.4-32.4-6-42.8-13.8s-15.6-18-15.6-30.8c0-6.4 2.2-14.6 6.4-24.2l167.4-378.4 95.2 179.6-88.6 185.8c-16 33.2-29 54.6-39.2 64.2s-25.8 15.4-46.6 17.6c-2 0-3.6 1.2-5.4 3.4s-2.6 4.8-2.6 7.8c0 7.6 1.8 11.4 5.6 11.4 18 0 34.6-0.8 49.8-2.4 14.6-1.6 30-2.4 46.6-2.4 16.2 0 33.2 0.8 51.4 2.4 18.6 1.6 37 2.4 55 2.4 4.4 0 6.4-3.8 6.4-11.4s-1.2-11.2-4-11.2c-36.2-2.4-54.2-12.8-54.2-30.8 0-8 4.2-20.6 12.6-37.6l58.6-119 58.4 108.8c8 15.4 12.2 28.4 12.2 38.8 0 24.8-18 38-54.2 39.6-3.2 0-4.8 3.8-4.8 11.2 0 2.8 0.8 5.2 2.4 7.6s3.2 3.6 4.8 3.6c13 0 28.8-0.8 47.8-2.4 18-1.6 33-2.4 44.6-2.4 8.4 0 20.6 0.8 36.8 2 20.4 1.8 37.6 2.8 51.4 2.8 3.2 0 4.8-3.2 4.8-9.6 0-8.6-3-13-8.8-13-21-2.2-38-8-50.8-17.4s-28.8-30.8-48-64.4l-78.2-143.2 105.2-214.4 155.4 361.4c5.4 13.2 8 25.4 8 36.4 0 26.4-18 40.4-54.2 42.2-3.2 0-4.8 3.8-4.8 11.2 0 7.6 2.4 11.4 7.2 11.4 13.2 0 28.8-0.8 47-2.4 16.8-1.6 30.8-2.4 42-2.4 12 0 25.6 0.8 41.2 2.4 16.2 1.6 30.8 2.4 43.8 2.4 4 0 6-3.2 6-9.6z" />
+<glyph unicode="&#xe93c;" glyph-name="pencil" d="M864 960c88.364 0 160-71.634 160-160 0-36.020-11.91-69.258-32-96l-64-64-224 224 64 64c26.742 20.090 59.978 32 96 32zM64 224l-64-288 288 64 592 592-224 224-592-592zM715.578 596.422l-448-448-55.156 55.156 448 448 55.156-55.156z" />
+<glyph unicode="&#xe93d;" glyph-name="thumbs-down" horiz-adv-x="914" d="M146.286 621.714c0-20-16.571-36.571-36.571-36.571-20.571 0-36.571 16.571-36.571 36.571 0 20.571 16 36.571 36.571 36.571 20 0 36.571-16 36.571-36.571zM237.714 329.143v365.714c0 20-16.571 36.571-36.571 36.571h-164.571c-20 0-36.571-16.571-36.571-36.571v-365.714c0-20 16.571-36.571 36.571-36.571h164.571c20 0 36.571 16.571 36.571 36.571zM882.857 414.286c19.429-21.714 31.429-54.857 31.429-85.143-0.571-59.429-50.286-109.714-109.714-109.714h-158.286c4.571-18.286 10.286-24 16.571-36.571 14.857-29.714 32-62.857 32-109.714 0-44 0-146.286-128-146.286-9.714 0-18.857 4-25.714 10.857-24.571 24-31.429 59.429-37.714 93.143-6.857 33.143-13.143 67.429-35.429 89.714-17.714 17.714-37.143 42.286-57.714 68.571-25.143 33.143-80 101.143-101.143 102.857-18.857 1.714-34.857 17.714-34.857 36.571v366.286c0 20 17.143 36 36.571 36.571 20 0.571 54.286 12.571 90.286 25.143 61.714 21.143 138.857 48 220.571 48h73.714c50.286-0.571 88-15.429 112.571-44.571 21.714-25.714 31.429-60.571 28-103.429 14.286-13.714 25.143-32.571 30.857-53.714 6.286-22.857 6.286-45.714 0-66.857 17.143-22.857 25.714-49.714 24.571-78.286 0-8-2.286-25.143-8.571-43.429z" />
+<glyph unicode="&#xe93e;" glyph-name="thumbs-up" horiz-adv-x="914" d="M146.286 182.857c0 20-16.571 36.571-36.571 36.571-20.571 0-36.571-16.571-36.571-36.571 0-20.571 16-36.571 36.571-36.571 20 0 36.571 16 36.571 36.571zM237.714 475.428v-365.714c0-20-16.571-36.571-36.571-36.571h-164.571c-20 0-36.571 16.571-36.571 36.571v365.714c0 20 16.571 36.571 36.571 36.571h164.571c20 0 36.571-16.571 36.571-36.571zM914.286 475.428c0-30.286-12-62.857-31.429-85.143 6.286-18.286 8.571-35.429 8.571-43.429 1.143-28.571-7.429-55.429-24.571-78.286 6.286-21.143 6.286-44 0-66.857-5.714-21.143-16.571-40-30.857-53.714 3.429-42.857-6.286-77.714-28-103.429-24.571-29.143-62.286-44-112.571-44.571h-73.714c-81.714 0-158.857 26.857-220.571 48-36 12.571-70.286 24.571-90.286 25.143-19.429 0.571-36.571 16.571-36.571 36.571v366.286c0 18.857 16 34.857 34.857 36.571 21.143 1.714 76 69.714 101.143 102.857 20.571 26.286 40 50.857 57.714 68.571 22.286 22.286 28.571 56.571 35.429 89.714 6.286 33.714 13.143 69.143 37.714 93.143 6.857 6.857 16 10.857 25.714 10.857 128 0 128-102.286 128-146.286 0-46.857-16.571-80-32-109.714-6.286-12.571-12-18.286-16.571-36.571h158.286c59.429 0 109.714-50.286 109.714-109.714z" />
+<glyph unicode="&#xe93f;" glyph-name="warning" d="M512 867.226l429.102-855.226h-858.206l429.104 855.226zM512 960c-22.070 0-44.14-14.882-60.884-44.648l-437.074-871.112c-33.486-59.532-5-108.24 63.304-108.24h869.308c68.3 0 96.792 48.708 63.3 108.24h0.002l-437.074 871.112c-16.742 29.766-38.812 44.648-60.882 44.648v0zM576 128c0-35.346-28.654-64-64-64s-64 28.654-64 64c0 35.346 28.654 64 64 64s64-28.654 64-64zM512 256c-35.346 0-64 28.654-64 64v192c0 35.346 28.654 64 64 64s64-28.654 64-64v-192c0-35.346-28.654-64-64-64z" />
+<glyph unicode="&#xe940;" glyph-name="dots-three-vertical" d="M512.051 573.44c-62.208 0-112.691-50.432-112.691-112.64s50.483-112.64 112.691-112.64c62.208 0 112.589 50.432 112.589 112.64s-50.381 112.64-112.589 112.64zM512.051 706.56c62.208 0 112.589 50.483 112.589 112.64s-50.381 112.64-112.589 112.64c-62.208 0-112.691-50.432-112.691-112.64s50.483-112.64 112.691-112.64zM512.051 215.040c-62.208 0-112.691-50.432-112.691-112.64s50.483-112.64 112.691-112.64c62.208 0 112.589 50.432 112.589 112.64s-50.381 112.64-112.589 112.64z" />
+<glyph unicode="&#xe941;" glyph-name="dots-three-horizontal" d="M512.051 573.44c-62.208 0-112.691-50.432-112.691-112.64s50.483-112.64 112.691-112.64c62.208 0 112.589 50.432 112.589 112.64s-50.381 112.64-112.589 112.64zM153.651 573.44c-62.208 0-112.691-50.432-112.691-112.64s50.483-112.64 112.691-112.64c62.208 0 112.589 50.483 112.589 112.64s-50.381 112.64-112.589 112.64zM870.451 573.44c-62.208 0-112.691-50.432-112.691-112.64s50.483-112.64 112.691-112.64c62.208 0 112.589 50.432 112.589 112.64s-50.381 112.64-112.589 112.64z" />
+<glyph unicode="&#xe942;" glyph-name="log-out" d="M972.8 460.8l-307.2 256v-153.6h-358.4v-204.8h358.4v-153.6l307.2 256zM153.6 819.2h409.6v102.4h-409.6c-56.32 0-102.4-46.080-102.4-102.4v-716.8c0-56.32 46.080-102.4 102.4-102.4h409.6v102.4h-409.6v716.8z" />
+<glyph unicode="&#xe943;" glyph-name="pin" d="M563.2 358.4h307.2v51.2l-153.6 51.2v409.6l153.6 51.2v51.2h-716.8v-51.2l153.6-51.2v-409.6l-153.6-51.2v-51.2h307.2v-358.4l51.2-51.2 51.2 51.2v358.4z" />
+<glyph unicode="&#xe944;" glyph-name="bullhorn" d="M1024 530.744c0 200.926-58.792 363.938-131.482 365.226 0.292 0.006 0.578 0.030 0.872 0.030h-82.942c0 0-194.8-146.336-475.23-203.754-8.56-45.292-14.030-99.274-14.030-161.502s5.466-116.208 14.030-161.5c280.428-57.418 475.23-203.756 475.23-203.756h82.942c-0.292 0-0.578 0.024-0.872 0.032 72.696 1.288 131.482 164.298 131.482 365.224zM864.824 220.748c-9.382 0-19.532 9.742-24.746 15.548-12.63 14.064-24.792 35.96-35.188 63.328-23.256 61.232-36.066 143.31-36.066 231.124 0 87.81 12.81 169.89 36.066 231.122 10.394 27.368 22.562 49.266 35.188 63.328 5.214 5.812 15.364 15.552 24.746 15.552 9.38 0 19.536-9.744 24.744-15.552 12.634-14.064 24.796-35.958 35.188-63.328 23.258-61.23 36.068-143.312 36.068-231.122 0-87.804-12.81-169.888-36.068-231.124-10.39-27.368-22.562-49.264-35.188-63.328-5.208-5.806-15.36-15.548-24.744-15.548zM251.812 530.744c0 51.95 3.81 102.43 11.052 149.094-47.372-6.554-88.942-10.324-140.34-10.324-67.058 0-67.058 0-67.058 0l-55.466-94.686v-88.17l55.46-94.686c0 0 0 0 67.060 0 51.398 0 92.968-3.774 140.34-10.324-7.236 46.664-11.048 97.146-11.048 149.096zM368.15 317.828l-127.998 24.51 81.842-321.544c4.236-16.634 20.744-25.038 36.686-18.654l118.556 47.452c15.944 6.376 22.328 23.964 14.196 39.084l-123.282 229.152zM864.824 411.27c-3.618 0-7.528 3.754-9.538 5.992-4.87 5.42-9.556 13.86-13.562 24.408-8.962 23.6-13.9 55.234-13.9 89.078s4.938 65.478 13.9 89.078c4.006 10.548 8.696 18.988 13.562 24.408 2.010 2.24 5.92 5.994 9.538 5.994 3.616 0 7.53-3.756 9.538-5.994 4.87-5.42 9.556-13.858 13.56-24.408 8.964-23.598 13.902-55.234 13.902-89.078 0-33.842-4.938-65.478-13.902-89.078-4.004-10.548-8.696-18.988-13.56-24.408-2.008-2.238-5.92-5.992-9.538-5.992z" />
+<glyph unicode="&#xe945;" glyph-name="bin" d="M128 640v-640c0-35.2 28.8-64 64-64h576c35.2 0 64 28.8 64 64v640h-704zM320 64h-64v448h64v-448zM448 64h-64v448h64v-448zM576 64h-64v448h64v-448zM704 64h-64v448h64v-448zM848 832h-208v80c0 26.4-21.6 48-48 48h-224c-26.4 0-48-21.6-48-48v-80h-208c-26.4 0-48-21.6-48-48v-80h832v80c0 26.4-21.6 48-48 48zM576 832h-192v63.198h192v-63.198z" />
+<glyph unicode="&#xe946;" glyph-name="rocket" d="M704 896l-320-320h-192l-192-256c0 0 203.416 56.652 322.066 30.084l-322.066-414.084 421.902 328.144c58.838-134.654-37.902-328.144-37.902-328.144l256 192v192l320 320 64 320-320-64z" />
+<glyph unicode="&#xe947;" glyph-name="lock-open" d="M768 896c105.87 0 192-86.13 192-192v-192h-128v192c0 35.29-28.71 64-64 64h-128c-35.29 0-64-28.71-64-64v-192h16c26.4 0 48-21.6 48-48v-480c0-26.4-21.6-48-48-48h-544c-26.4 0-48 21.6-48 48v480c0 26.4 21.6 48 48 48h400v192c0 105.87 86.13 192 192 192h128z" />
+<glyph unicode="&#xe948;" glyph-name="lock" d="M592 512h-16v192c0 105.87-86.13 192-192 192h-128c-105.87 0-192-86.13-192-192v-192h-16c-26.4 0-48-21.6-48-48v-480c0-26.4 21.6-48 48-48h544c26.4 0 48 21.6 48 48v480c0 26.4-21.6 48-48 48zM192 704c0 35.29 28.71 64 64 64h128c35.29 0 64-28.71 64-64v-192h-256v192z" />
+<glyph unicode="&#xe949;" glyph-name="equalizer" d="M448 832v16c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576zM256 704v128h128v-128h-128zM832 528c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-576v-128h576v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h192v128h-192v16zM640 384v128h128v-128h-128zM448 208c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576v16zM256 64v128h128v-128h-128z" />
+<glyph unicode="&#xe94a;" glyph-name="code" horiz-adv-x="1280" d="M832 224l96-96 320 320-320 320-96-96 224-224zM448 672l-96 96-320-320 320-320 96 96-224 224zM701.298 809.481l69.468-18.944-191.987-704.026-69.468 18.944 191.987 704.026z" />
+<glyph unicode="&#xe94b;" glyph-name="switch" d="M640 813.412v-135.958c36.206-15.804 69.5-38.408 98.274-67.18 60.442-60.44 93.726-140.8 93.726-226.274s-33.286-165.834-93.726-226.274c-60.44-60.44-140.798-93.726-226.274-93.726s-165.834 33.286-226.274 93.726c-60.44 60.44-93.726 140.8-93.726 226.274s33.286 165.834 93.726 226.274c28.774 28.774 62.068 51.378 98.274 67.182v135.956c-185.048-55.080-320-226.472-320-429.412 0-247.424 200.578-448 448-448 247.424 0 448 200.576 448 448 0 202.94-134.95 374.332-320 429.412zM448 960h128v-512h-128z" />
+<glyph unicode="&#xe94c;" glyph-name="loop" d="M889.68 793.68c-93.608 102.216-228.154 166.32-377.68 166.32-282.77 0-512-229.23-512-512h96c0 229.75 186.25 416 416 416 123.020 0 233.542-53.418 309.696-138.306l-149.696-149.694h352v352l-134.32-134.32zM928 448c0-229.75-186.25-416-416-416-123.020 0-233.542 53.418-309.694 138.306l149.694 149.694h-352v-352l134.32 134.32c93.608-102.216 228.154-166.32 377.68-166.32 282.77 0 512 229.23 512 512h-96z" />
+<glyph unicode="&#xe94d;" glyph-name="refresh" d="M1024 576h-384l143.53 143.53c-72.53 72.526-168.96 112.47-271.53 112.47s-199-39.944-271.53-112.47c-72.526-72.53-112.47-168.96-112.47-271.53s39.944-199 112.47-271.53c72.53-72.526 168.96-112.47 271.53-112.47s199 39.944 271.528 112.472c6.056 6.054 11.86 12.292 17.456 18.668l96.32-84.282c-93.846-107.166-231.664-174.858-385.304-174.858-282.77 0-512 229.23-512 512s229.23 512 512 512c141.386 0 269.368-57.326 362.016-149.984l149.984 149.984v-384z" />
+<glyph unicode="&#xe94e;" glyph-name="checkbox-unchecked" d="M896 960h-768c-70.4 0-128-57.6-128-128v-768c0-70.4 57.6-128 128-128h768c70.4 0 128 57.6 128 128v768c0 70.4-57.6 128-128 128zM896 64h-768v768h768v-768z" />
+<glyph unicode="&#xe94f;" glyph-name="star-full" d="M1024 562.95l-353.78 51.408-158.22 320.582-158.216-320.582-353.784-51.408 256-249.538-60.432-352.352 316.432 166.358 316.432-166.358-60.434 352.352 256.002 249.538z" />
+<glyph unicode="&#xe950;" glyph-name="star-empty" d="M1024 562.95l-353.78 51.408-158.22 320.582-158.216-320.582-353.784-51.408 256-249.538-60.432-352.352 316.432 166.358 316.432-166.358-60.434 352.352 256.002 249.538zM512 206.502l-223.462-117.48 42.676 248.83-180.786 176.222 249.84 36.304 111.732 226.396 111.736-226.396 249.836-36.304-180.788-176.222 42.678-248.83-223.462 117.48z" />
+<glyph unicode="&#xe951;" glyph-name="bookmark" d="M192 960v-1024l320 320 320-320v1024z" />
+<glyph unicode="&#xe952;" glyph-name="cog" d="M933.79 349.75c-53.726 93.054-21.416 212.304 72.152 266.488l-100.626 174.292c-28.75-16.854-62.176-26.518-97.846-26.518-107.536 0-194.708 87.746-194.708 195.99h-201.258c0.266-33.41-8.074-67.282-25.958-98.252-53.724-93.056-173.156-124.702-266.862-70.758l-100.624-174.292c28.97-16.472 54.050-40.588 71.886-71.478 53.638-92.908 21.512-211.92-71.708-266.224l100.626-174.292c28.65 16.696 61.916 26.254 97.4 26.254 107.196 0 194.144-87.192 194.7-194.958h201.254c-0.086 33.074 8.272 66.57 25.966 97.218 53.636 92.906 172.776 124.594 266.414 71.012l100.626 174.29c-28.78 16.466-53.692 40.498-71.434 71.228zM512 240.668c-114.508 0-207.336 92.824-207.336 207.334 0 114.508 92.826 207.334 207.336 207.334 114.508 0 207.332-92.826 207.332-207.334-0.002-114.51-92.824-207.334-207.332-207.334z" />
+<glyph unicode="&#xe953;" glyph-name="key" d="M704 960c-176.73 0-320-143.268-320-320 0-20.026 1.858-39.616 5.376-58.624l-389.376-389.376v-192c0-35.346 28.654-64 64-64h64v64h128v128h128v128h128l83.042 83.042c34.010-12.316 70.696-19.042 108.958-19.042 176.73 0 320 143.268 320 320s-143.27 320-320 320zM799.874 639.874c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96z" />
+<glyph unicode="&#xe954;" glyph-name="zoom-in" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256zM448 768h-128v-128h-128v-128h128v-128h128v128h128v128h-128z" />
+<glyph unicode="&#xe955;" glyph-name="zoom-out" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256zM192 640h384v-128h-384z" />
+<glyph unicode="&#xe956;" glyph-name="shrink" d="M576 512h416l-160 160 192 192-96 96-192-192-160 160zM576 384v-416l160 160 192-192 96 96-192 192 160 160zM448 384.004h-416l160-160-192-192 96-96 192 192 160-160zM448 512v416l-160-160-192 192-96-96 192-192-160-160z" />
+<glyph unicode="&#xe957;" glyph-name="printer" d="M256 896h512v-128h-512v128zM960 704h-896c-35.2 0-64-28.8-64-64v-320c0-35.2 28.794-64 64-64h192v-256h512v256h192c35.2 0 64 28.8 64 64v320c0 35.2-28.8 64-64 64zM128 512c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.652-64-64-64zM704 64h-384v320h384v-320z" />
+<glyph unicode="&#xe958;" glyph-name="file-openoffice" d="M690.22 488.318c-60.668 28.652-137.97 34.42-194.834-6.048 69.14 6.604 144.958-4.838 195.106-57.124 48 55.080 124.116 65.406 192.958 59.732-57.488 38.144-133.22 33.024-193.23 3.44v0zM665.646 354.25c-68.376 1.578-134.434-23.172-191.1-60.104-107.176 45.588-242.736 37.124-334.002-38.982 26.33 0.934 52.006 7.446 78.056 10.792 95.182 9.488 196.588-14.142 268.512-79.824 29.772 43.542 71.644 78.242 119.652 99.922 63.074 30.52 134.16 33.684 202.82 34.52-41.688 28.648-94.614 33.954-143.938 33.676zM917.806 730.924c-22.21 30.292-53.174 65.7-87.178 99.704s-69.412 64.964-99.704 87.178c-51.574 37.82-76.592 42.194-90.924 42.194h-496c-44.112 0-80-35.888-80-80v-864c0-44.112 35.886-80 80-80h736c44.112 0 80 35.888 80 80v624c0 14.332-4.372 39.35-42.194 90.924v0zM785.374 785.374c30.7-30.7 54.8-58.398 72.58-81.374h-153.954v153.946c22.982-17.78 50.678-41.878 81.374-72.572v0zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16 0 0 495.956 0.002 496 0v-224c0-17.672 14.324-32 32-32h224v-624z" />
+<glyph unicode="&#xe959;" glyph-name="user" d="M576 253.388v52.78c70.498 39.728 128 138.772 128 237.832 0 159.058 0 288-192 288s-192-128.942-192-288c0-99.060 57.502-198.104 128-237.832v-52.78c-217.102-17.748-384-124.42-384-253.388h896c0 128.968-166.898 235.64-384 253.388z" />
+<glyph unicode="&#xe95a;" glyph-name="file-excel" d="M743.028 576h-135.292l-95.732-141.032-95.742 141.032h-135.29l162.162-242.464-182.972-269.536h251.838v91.576h-50.156l50.156 74.994 111.396-166.57h140.444l-182.976 269.536 162.164 242.464zM917.806 730.924c-22.21 30.292-53.174 65.7-87.178 99.704s-69.412 64.964-99.704 87.178c-51.574 37.82-76.592 42.194-90.924 42.194h-496c-44.112 0-80-35.888-80-80v-864c0-44.112 35.886-80 80-80h736c44.112 0 80 35.888 80 80v624c0 14.332-4.372 39.35-42.194 90.924v0zM785.374 785.374c30.7-30.7 54.8-58.398 72.58-81.374h-153.954v153.946c22.982-17.78 50.678-41.878 81.374-72.572v0zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16 0 0 495.956 0.002 496 0v-224c0-17.672 14.324-32 32-32h224v-624z" />
+<glyph unicode="&#xe95b;" glyph-name="file-word" d="M639.778 484.108h44.21l-51.012-226.178-66.324 318.010h-106.55l-77.114-318.010-57.816 318.010h-111.394l113.092-511.88h108.838l76.294 302.708 68.256-302.708h100.336l129.628 511.88h-170.446v-91.832zM917.806 730.924c-22.21 30.292-53.174 65.7-87.178 99.704s-69.412 64.964-99.704 87.178c-51.574 37.82-76.592 42.194-90.924 42.194h-496c-44.112 0-80-35.888-80-80v-864c0-44.112 35.886-80 80-80h736c44.112 0 80 35.888 80 80v624c0 14.332-4.372 39.35-42.194 90.924v0zM785.374 785.374c30.7-30.7 54.8-58.398 72.58-81.374h-153.954v153.946c22.982-17.78 50.678-41.878 81.374-72.572v0zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16 0 0 495.956 0.002 496 0v-224c0-17.672 14.324-32 32-32h224v-624z" />
+<glyph unicode="&#xe95c;" glyph-name="file-pdf" d="M842.012 370.52c-13.648 13.446-43.914 20.566-89.972 21.172-31.178 0.344-68.702-2.402-108.17-7.928-17.674 10.198-35.892 21.294-50.188 34.658-38.462 35.916-70.568 85.772-90.576 140.594 1.304 5.12 2.414 9.62 3.448 14.212 0 0 21.666 123.060 15.932 164.666-0.792 5.706-1.276 7.362-2.808 11.796l-1.882 4.834c-5.894 13.592-17.448 27.994-35.564 27.208l-10.916 0.344c-20.202 0-36.664-10.332-40.986-25.774-13.138-48.434 0.418-120.892 24.98-214.738l-6.288-15.286c-17.588-42.876-39.63-86.060-59.078-124.158l-2.528-4.954c-20.46-40.040-39.026-74.028-55.856-102.822l-17.376-9.188c-1.264-0.668-31.044-16.418-38.028-20.644-59.256-35.38-98.524-75.542-105.038-107.416-2.072-10.17-0.53-23.186 10.014-29.212l16.806-8.458c7.292-3.652 14.978-5.502 22.854-5.502 42.206 0 91.202 52.572 158.698 170.366 77.93 25.37 166.652 46.458 244.412 58.090 59.258-33.368 132.142-56.544 178.142-56.544 8.168 0 15.212 0.78 20.932 2.294 8.822 2.336 16.258 7.368 20.792 14.194 8.926 13.432 10.734 31.932 8.312 50.876-0.72 5.622-5.21 12.574-10.068 17.32zM211.646 145.952c7.698 21.042 38.16 62.644 83.206 99.556 2.832 2.296 9.808 8.832 16.194 14.902-47.104-75.124-78.648-105.066-99.4-114.458zM478.434 760.314c13.566 0 21.284-34.194 21.924-66.254s-6.858-54.56-16.158-71.208c-7.702 24.648-11.426 63.5-11.426 88.904 0 0-0.566 48.558 5.66 48.558v0zM398.852 322.506c9.45 16.916 19.282 34.756 29.33 53.678 24.492 46.316 39.958 82.556 51.478 112.346 22.91-41.684 51.444-77.12 84.984-105.512 4.186-3.542 8.62-7.102 13.276-10.65-68.21-13.496-127.164-29.91-179.068-49.862v0zM828.902 326.348c-4.152-2.598-16.052-4.1-23.708-4.1-24.708 0-55.272 11.294-98.126 29.666 16.468 1.218 31.562 1.838 45.102 1.838 24.782 0 32.12 0.108 56.35-6.072 24.228-6.18 24.538-18.734 20.382-21.332v0zM917.806 730.924c-22.21 30.292-53.174 65.7-87.178 99.704s-69.412 64.964-99.704 87.178c-51.574 37.82-76.592 42.194-90.924 42.194h-496c-44.112 0-80-35.888-80-80v-864c0-44.112 35.886-80 80-80h736c44.112 0 80 35.888 80 80v624c0 14.332-4.372 39.35-42.194 90.924v0zM785.374 785.374c30.7-30.7 54.8-58.398 72.58-81.374h-153.954v153.946c22.982-17.78 50.678-41.878 81.374-72.572v0zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16 0 0 495.956 0.002 496 0v-224c0-17.672 14.324-32 32-32h224v-624z" />
+<glyph unicode="&#xe95d;" glyph-name="file-picture" d="M832 64h-640v128l192 320 263-320 185 128v-256zM832 480c0-53.020-42.98-96-96-96-53.022 0-96 42.98-96 96s42.978 96 96 96c53.020 0 96-42.98 96-96zM917.806 730.924c-22.212 30.292-53.174 65.7-87.178 99.704s-69.412 64.964-99.704 87.178c-51.574 37.82-76.592 42.194-90.924 42.194h-496c-44.112 0-80-35.888-80-80v-864c0-44.112 35.888-80 80-80h736c44.112 0 80 35.888 80 80v624c0 14.332-4.372 39.35-42.194 90.924zM785.374 785.374c30.7-30.7 54.8-58.398 72.58-81.374h-153.954v153.946c22.984-17.78 50.678-41.878 81.374-72.572zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16 0 0 495.956 0.002 496 0v-224c0-17.672 14.326-32 32-32h224v-624z" />
+<glyph unicode="&#xe95e;" glyph-name="file-blank" d="M917.806 730.924c-22.212 30.292-53.174 65.7-87.178 99.704s-69.412 64.964-99.704 87.178c-51.574 37.82-76.592 42.194-90.924 42.194h-496c-44.112 0-80-35.888-80-80v-864c0-44.112 35.888-80 80-80h736c44.112 0 80 35.888 80 80v624c0 14.332-4.372 39.35-42.194 90.924zM785.374 785.374c30.7-30.7 54.8-58.398 72.58-81.374h-153.954v153.946c22.984-17.78 50.678-41.878 81.374-72.572zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16 0 0 495.956 0.002 496 0v-224c0-17.672 14.326-32 32-32h224v-624z" />
+<glyph unicode="&#xe95f;" glyph-name="folder-upload" d="M576 704l-128 128h-448v-832h1024v704h-448zM512 480l224-224h-160v-256h-128v256h-160l224 224z" />
+<glyph unicode="&#xe960;" glyph-name="upload" d="M480 256h-480v-256h960v256h-480zM896 128h-128v64h128v-64zM224 640l256 256 256-256h-160v-320h-192v320z" />
+<glyph unicode="&#xe961;" glyph-name="cloud-upload" d="M892.268 573.51c2.444 11.11 3.732 22.648 3.732 34.49 0 88.366-71.634 160-160 160-14.222 0-28.014-1.868-41.132-5.352-24.798 77.352-97.29 133.352-182.868 133.352-87.348 0-161.054-58.336-184.326-138.17-22.742 6.622-46.792 10.17-71.674 10.17-141.384 0-256-114.616-256-256 0-141.388 114.616-256 256-256h128v-192h256v192h224c88.366 0 160 71.632 160 160 0 78.72-56.854 144.162-131.732 157.51zM576 320v-192h-128v192h-160l224 224 224-224h-160z" />
+<glyph unicode="&#xe962;" glyph-name="folder-download" d="M576 704l-128 128h-448v-832h1024v704h-448zM512 96l-224 224h160v256h128v-256h160l-224-224z" />
+<glyph unicode="&#xe963;" glyph-name="download" d="M736 512l-256-256-256 256h160v384h192v-384zM480 256h-480v-256h960v256h-480zM896 128h-128v64h128v-64z" />
+<glyph unicode="&#xe964;" glyph-name="cloud-download" d="M891.004 599.94c-3.242 128.698-108.458 232.060-237.862 232.060-75.792 0-143.266-35.494-186.854-90.732-24.442 31.598-62.69 51.96-105.708 51.96-73.81 0-133.642-59.876-133.642-133.722 0-6.436 0.48-12.76 1.364-18.954-11.222 2.024-22.766 3.138-34.57 3.138-106.998 0.002-193.732-86.786-193.732-193.842 0-107.062 86.734-193.848 193.73-193.848h91.76l226.51-234.51 226.51 234.51 111.482 0.012c96.138 0.184 174.008 78.21 174.008 174.446 0 82.090-56.678 150.9-132.996 169.482zM512 128l-192 192h128v192h128v-192h128l-192-192z" />
+<glyph unicode="&#xe965;" glyph-name="checkmark" d="M864 832l-480-480-224 224-160-160 384-384 640 640z" />
+<glyph unicode="&#xe966;" glyph-name="wheelchair" horiz-adv-x="931" d="M584.571 272.571l58.286-116.571c-44-136-170.857-229.143-313.714-229.143-181.143 0-329.143 148-329.143 329.143 0 138.286 86.857 261.714 216.571 309.143l9.714-74.857c-93.143-41.143-153.143-132.571-153.143-234.286 0-141.143 114.857-256 256-256 146.857 0 265.714 125.714 255.429 272.571zM897.714 215.428l33.143-65.143-146.286-73.143c-5.143-2.857-10.857-4-16.571-4-13.714 0-26.857 8-32.571 20l-136.571 272.571h-269.714c-18.286 0-34.286 14.286-36.571 32.571l-54.857 445.143c-0.571 5.714 1.714 18.286 3.429 24 10.857 39.429 47.429 65.143 88 65.143 50.286 0 91.429-41.143 91.429-91.429 0-52-45.714-96.571-98.286-90.857l21.143-165.143h241.714v-73.143h-232.571l9.143-73.143h260c13.714 0 26.857-8 32.571-20l130.286-260z" />
+<glyph unicode="&#xe967;" glyph-name="glass" d="M889.162 780.23c7.568 9.632 8.972 22.742 3.62 33.758-5.356 11.018-16.532 18.012-28.782 18.012h-704c-12.25 0-23.426-6.994-28.78-18.012-5.356-11.018-3.95-24.126 3.618-33.758l313.162-398.57v-381.66h-96c-17.672 0-32-14.326-32-32s14.328-32 32-32h320c17.674 0 32 14.326 32 32s-14.326 32-32 32h-96v381.66l313.162 398.57zM798.162 768l-100.572-128h-371.18l-100.57 128h572.322z" />
+<glyph unicode="&#xe968;" glyph-name="food" d="M921.6 409.6v-358.4c0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4v0 256h-102.4v512c0 84.831 68.769 153.6 153.6 153.6v0h153.6v-563.2zM204.8 460.8c-56.554 0-102.4 45.846-102.4 102.4v0 358.4c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-204.8h51.2v204.8c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-204.8h51.2v204.8c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-358.4c0-56.554-45.846-102.4-102.4-102.4v0-409.6c0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4v0 409.6z" />
+<glyph unicode="&#xe969;" glyph-name="bed" horiz-adv-x="1170" d="M146.286 365.714h987.429c20 0 36.571-16.571 36.571-36.571v-256h-146.286v146.286h-877.714v-146.286h-146.286v694.857c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571v-402.286zM475.429 548.571c0 80.571-65.714 146.286-146.286 146.286s-146.286-65.714-146.286-146.286 65.714-146.286 146.286-146.286 146.286 65.714 146.286 146.286zM1170.286 402.286v36.571c0 121.143-98.286 219.429-219.429 219.429h-402.286c-20 0-36.571-16.571-36.571-36.571v-219.429h658.286z" />
+<glyph unicode="&#xe96a;" glyph-name="train" horiz-adv-x="878" d="M621.714 950.857c141.143 0 256-81.714 256-182.857v-512c0-98.857-109.143-178.857-246.286-182.286l121.714-115.429c12-11.429 4-31.429-12.571-31.429h-603.429c-16.571 0-24.571 20-12.571 31.429l121.714 115.429c-137.143 3.429-246.286 83.429-246.286 182.286v512c0 101.143 114.857 182.857 256 182.857h365.714zM438.857 182.857c60.571 0 109.714 49.143 109.714 109.714s-49.143 109.714-109.714 109.714-109.714-49.143-109.714-109.714 49.143-109.714 109.714-109.714zM768 512v292.571h-658.286v-292.571h658.286z" />
+<glyph unicode="&#xe96b;" glyph-name="bus" horiz-adv-x="878" d="M219.429 256c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM804.571 256c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM778.286 482.286l-41.143 219.429c-3.429 17.143-18.286 29.714-36 29.714h-524.571c-17.714 0-32.571-12.571-36-29.714l-41.143-219.429c-4-22.857 13.143-43.429 36-43.429h606.857c22.857 0 40 20.571 36 43.429zM649.143 832c0 15.429-12 27.429-27.429 27.429h-365.714c-14.857 0-27.429-12-27.429-27.429s12.571-27.429 27.429-27.429h365.714c15.429 0 27.429 12 27.429 27.429zM877.714 417.714v-344.571h-73.143v-73.143c0-40.571-32.571-73.143-73.143-73.143s-73.143 32.571-73.143 73.143v73.143h-438.857v-73.143c0-40.571-32.571-73.143-73.143-73.143s-73.143 32.571-73.143 73.143v73.143h-73.143v344.571c0 46.857 4 81.714 14.286 127.429l58.857 259.429c10.857 91.429 170.857 146.286 365.714 146.286s354.857-54.857 365.714-146.286l60-259.429c10.286-45.714 13.143-80.571 13.143-127.429z" />
+<glyph unicode="&#xe96c;" glyph-name="donation-full" d="M579.709 195.28c-1.324-0.361-2.167-1.204-2.528-2.528s0.241-2.528 1.324-3.25l33.343-22.028c0.722-0.481 1.565-0.602 2.407-0.481l301.531 60.065c-4.935 23.593-31.537 29.491-73.547 20.102l-262.53-51.88zM583.561 832.045c-47.547 83.658-120.251 150.585-220.882 120.612-82.454-24.435-142.881-104.362-142.881-198.974 0-131.085 134.696-237.493 221.243-321.994l121.816-112.066c13.361-12.398 33.945-12.398 47.306 0l121.696 112.066c86.667 84.38 221.243 190.789 221.243 321.994 0 92.205-57.297 170.326-136.381 196.928-102.797 34.667-178.029-32.139-227.141-118.566-0.602-1.204-1.685-1.806-3.009-1.806s-2.407 0.722-3.009 1.806zM152.631 324.078c-15.769-10.232-94.010-55.25-132.649-87.149-12.759-10.713-19.982-24.195-19.982-52.963v-234.122c0-18.296 17.935-14.565 27.204-8.306l173.696 118.566c14.445 9.87 31.658 9.991 48.028 3.972l183.928-67.769c56.815-20.945 112.307-15.167 169.964 3.13l373.152 118.686c79.325 19.139 51.399 111.464-24.315 97.501l-348.596-72.343c-0.843-0.241-1.565 0-2.287 0.361l-26 15.408c-0.963 0.602-1.926 0.602-2.889 0.241-0.963-0.481-1.685-1.204-1.926-2.167-9.389-33.824-35.389-47.547-65.964-43.334l-88.714 12.278c-11.074 1.565-26.241 7.222-35.148 13.963l-99.788 75.232c-10.954 7.222 0.361 22.269 9.75 14.685l98.584-71.14c8.907-6.5 18.056-9.87 29.010-11.315l88.955-11.556c41.287-9.269 64.038 53.806 19.259 78.603l-85.464 48.028c-34.667 20.824-62.714 55.491-99.908 72.825-56.815 26.482-125.547 29.13-187.9-11.315z" />
+<glyph unicode="&#xe96d;" glyph-name="donation-outline" horiz-adv-x="1116" d="M717.43 356.829c-17.185 0-33.845 5.903-47.356 16.66l-1.574 1.443-45.257 39.092-21.645 17.972c-127.77 107.437-219.991 185.359-219.991 309.719s89.466 218.285 204.511 218.285c48.668 0.525 95.762-17.841 131.312-51.029 35.55 33.32 82.513 51.554 131.181 51.029 114.783 0 204.511-95.893 204.774-218.417 0-95.106-58.638-163.845-115.964-218.548-28.466-27.417-60.737-54.834-97.992-86.58l-6.428-5.378c-21.12-17.972-43.683-36.731-66.771-56.933l-1.574-1.443c-13.512-10.363-30.172-16.004-47.225-15.873zM586.117 871.19c-64.541 0-115.046-56.408-115.046-128.82 0-79.233 61.13-134.198 188.114-241.242l22.17-19.021c11.675-9.97 23.875-20.202 35.812-30.959 20.071 17.972 39.617 33.976 57.851 49.324l6.034 5.247c35.812 30.828 67.296 57.326 94.057 82.906 53.784 50.636 88.285 96.156 88.285 153.875 0 71.625-50.636 128.82-115.177 128.82-38.83-0.394-74.511-21.383-93.663-55.227-8.264-12.331-22.17-19.677-37.124-19.677v0c-14.955-0.131-28.86 7.346-37.255 19.677-19.021 33.845-54.965 54.834-94.057 55.096zM276.53 16.676v0c17.185 9.445 38.043 9.445 55.227 0 157.68-83.956 234.683-84.218 264.068-78.578 0 0 238.618 7.871 483.665 235.601l19.677 19.677c17.709 17.709 21.514 45.126 9.183 67.034v0c-19.021 33.32-61.393 44.995-94.844 25.974-1.968-1.181-3.935-2.361-5.903-3.804v0l-76.216-42.896c-50.636-27.942-99.304-59.425-145.611-94.057-87.629-72.281-213.038-75.692-304.471-8.396 109.667-38.567 215.006-7.346 263.018 31.746 43.552 34.369 41.978 75.823-42.24 81.332-129.476 8.789-169.617 32.271-181.948 46.438-11.019 13.118-24.137 24.137-38.83 32.795-174.077 97.861-345.006-55.49-345.006-55.49l9.839-17.972 110.848-205.954 17.972-31.877c0.525-0.918 1.705-1.443 2.624-1.049v0zM108.88 261.198l140.101-256.853-106.388-66.115-142.594 267.085z" />
+<glyph unicode="&#xe96e;" glyph-name="helios" horiz-adv-x="1087" d="M323.005-53.723c-82.623 17.892-141.556 51.591-201.675 115.321-88.495 93.809-132.229 216.201-119.009 333.051 9.475 83.749 10.736 84.371 62.010 30.616 26.899-28.201 43.375-51.833 40.805-58.529-7.421-19.34 10.651-107.642 31.23-152.593 27.906-60.955 89.477-123.132 149.292-150.761 44.759-20.675 57.076-22.73 136.201-22.73 80.251 0 90.662 1.802 134.342 23.248 92.723 45.525 155.431 132.83 171.68 239.019 4.55 29.738 11.633 61.187 15.739 69.886 11.944 25.304 75.999 95.197 81.867 89.329 10.748-10.748 13.615-140.775 4.187-189.829-44.615-232.117-270.154-377.244-506.67-326.026zM235.947 286.683c-97.83 98.346-174.314 177.341-169.965 175.545 29.455-12.161 87.806-40.328 202.471-97.736l131.625-65.899 341.867 300.060c188.027 165.033 343.371 300.060 345.21 300.060s-80.978-100.535-184.035-223.412c-103.058-122.877-251.722-300.663-330.365-395.080s-146.576-171.821-150.962-172.008c-4.386-0.179-88.017 80.125-185.847 178.47zM333.046 380.575c-69.504 30.215-77.19 147.321-11.884 181.071 46.018 23.782 90.145 19.083 125.557-13.37 23.856-21.862 29.14-32.649 31.958-65.244 4.138-47.862-14.272-81.6-55.101-100.974-33.495-15.894-56.51-16.271-90.529-1.483zM87.73 517.854c-22.835 11.052-41.519 23.551-41.519 27.776 0 17.363 51.75 86.469 93.979 125.497 154.894 143.154 405.997 142.989 560.44-0.368 18.486-17.159 33.275-34.278 32.866-38.042s-16.372-20.605-35.472-37.422l-34.727-30.577-28.372 24.911c-101.096 88.763-228.25 111.963-338.076 61.683-50.714-23.218-121.895-86.409-144.394-128.187-8.217-15.258-16.8-27.207-19.073-26.554-2.273 0.655-22.816 10.23-45.652 21.282zM769.468 712.151c-13.914 10.174-14.171 12.42-2.947 25.702 84.847 100.4 162.568 190.885 172.132 200.401 13.897 13.828 19.429 23.274-77.578-132.466-35.898-57.632-67.765-104.786-70.815-104.786s-12.406 5.017-20.792 11.148zM692.897 766.247c-11.311 8.781-6.311 19.839 44.755 98.989 31.619 49.007 59.96 91.576 62.981 94.597s-12.864-35.296-35.3-85.15c-22.436-49.853-42.585-96.871-44.774-104.482-4.722-16.417-10.539-17.249-27.663-3.954zM220.82 776.791c0.38 9.213 2.253 11.087 4.778 4.778 2.284-5.709 2.004-12.53-0.624-15.158s-4.497 2.043-4.154 10.38zM606.82 802.836c-10.919 4.221-7.74 15.716 22.142 80.059 35.822 77.133 38.463 67.213 7.945-29.845-13.808-43.916-19.934-54.139-30.087-50.213zM316.345 819.628c0 10.874 1.795 15.323 3.989 9.885s2.194-14.334 0-19.771c-2.194-5.437-3.989-0.988-3.989 9.886zM410.785 848.818c-0.434 18.229 2.771 35.343 7.12 38.032 9.217 5.697 9.217-22.623 0-51.405-5.408-16.886-6.447-14.935-7.12 13.373zM505.005 829.514c0.060 5.437 7.084 31.238 15.612 57.336l15.505 47.45-4.321-43.496c-2.377-23.923-6.083-49.724-8.237-57.336-4.475-15.818-18.72-18.853-18.559-3.954z" />
+<glyph unicode="&#xe96f;" glyph-name="redmine" horiz-adv-x="1501" d="M0-64.003h325.808l23.272 279.283-302.555 69.797zM58.18 331.64l290.9-69.816 69.816 244.356-244.356 127.977zM197.792 680.72l232.72-127.996 186.195 127.996-174.54 197.812zM1501.024-64.003h-325.788l-23.291 279.283 302.555 69.797zM1442.844 331.64l-290.9-69.816-69.797 244.356 244.336 127.977zM1303.212 680.72l-232.72-127.996-186.156 127.996 174.54 197.812zM500.348 913.44l174.54-209.448h162.885l151.287 209.448-151.287 46.544h-166.976z" />
+<glyph unicode="&#xe970;" glyph-name="zulip" horiz-adv-x="919" d="M918.742 806.888c0-51.583-23.166-97.414-58.471-125.218l-342.735-306.088c-6.365-5.456-14.641 3.342-10.048 10.685l125.718 251.709c3.524 7.047-1.046 15.709-8.275 15.709h-487.618c-75.522 0-137.312 68.929-137.312 153.158 0 84.252 61.791 153.158 137.312 153.158h644.118c75.522 0.045 137.312-68.884 137.312-153.112zM137.312-64h644.118c75.522 0 137.312 68.929 137.312 153.158 0 84.252-61.791 153.158-137.312 153.158h-487.618c-7.229 0-11.799 8.662-8.275 15.709l125.718 251.709c4.592 7.343-3.683 16.141-10.048 10.685l-342.735-306.043c-35.306-27.781-58.471-73.635-58.471-125.218 0-84.229 61.791-153.158 137.312-153.158z" />
+<glyph unicode="&#xe971;" glyph-name="forum" d="M17.552 181.544c-11.34 4.238-17.537 13.082-17.537 25.116 0 20.572 19.788 32.762 38.106 23.467 9.506-4.816 13.451-11.065 13.919-22.060 0.329-7.721 0.017-9.129-3.236-14.723-6.279-10.736-20.117-15.963-31.273-11.809zM87.449 181.698c-6.648 2.362-10.253 5.349-14.254 11.802-6.65 10.688-4.031 25.511 5.96 33.741 12.878 10.602 32.307 6.751 39.982-7.936 7.83-14.991 0.687-32.965-14.99-37.608-7.22-2.152-10.631-2.142-16.699 0.017zM163.579 181.331c-6.684 1.859-15.595 10.891-17.37 17.604-5.578 20.892 12.355 38.925 33.149 33.325 7.688-2.060 15.997-10.824 17.936-18.858 4.874-20.318-13.417-37.738-33.685-32.076zM236.020 181.406c-2.955 0.785-6.751 3.3-10.268 6.822-7.119 7.119-9.379 15.159-7.019 24.975 1.993 8.314 10.101 16.968 17.83 19.013 27.104 7.229 45.879-24.381 26.18-44.081-7.521-7.521-15.829-9.632-26.707-6.751zM308.525 181.698c-6.65 2.362-10.253 5.349-14.254 11.802-6.65 10.688-4.031 25.511 5.96 33.741 12.869 10.602 32.307 6.751 39.971-7.947 11.26-21.542-9.062-45.644-31.674-37.598zM699.661 181.146c-15.697 4.706-23.333 23.915-15.293 38.548 12.926 23.538 49.062 14.419 49.323-12.472 0.174-18.131-16.901-31.212-34.023-26.080zM772.129 181.331c-6.684 1.859-15.595 10.891-17.37 17.604-4.39 16.466 5.812 32.114 22.171 34.053 8.828 1.046 15.292-1.257 21.792-7.755 19.555-19.555 0.285-51.406-26.582-43.902zM844.814 181.612c-9.961 3.547-15.695 10-17.772 19.972-1.085 5.142-1.022 7.688 0.251 12.269 2.194 7.849 10.536 16.445 17.811 18.392 27.104 7.229 45.879-24.381 26.18-44.081-7.621-7.621-16.968-9.933-26.464-6.549zM919.843 181.497c-7.22 2.697-11.454 6.516-14.79 13.317-4.238 8.663-3.856 19.213 0.979 26.515 6.269 9.464 18.915 14.002 30.253 10.837 6.784-1.892 14.824-9.43 16.957-15.902 2.362-7.132 1.089-18.537-2.665-24.234-6.221-9.41-20.563-14.321-30.728-10.524zM989.803 181.544c-6.88 2.563-12.277 7.287-15.159 13.25-3.87 8.015-3.065 19.894 1.831 26.978 4.525 6.521 14.157 11.641 21.948 11.641 7.81 0 17.423-5.108 21.987-11.686 3.266-4.706 3.568-5.998 3.568-14.942 0-8.663-0.377-10.349-3.236-14.69-6.315-9.555-20.563-14.4-30.938-10.536zM328.406 259.684c-21.122 3.903-28.218 31.508-11.793 45.931 11.822 10.377 30.737 7.626 39.613-5.756 3.769-5.712 5.039-16.164 2.764-23.031-4.004-12.144-17.303-19.581-30.569-17.135zM685.836 259.55c-8.358 1.557-15.436 7.112-19.603 15.35-3.14 6.231-2.102 18.543 2.102 24.908 4.773 7.22 11.507 11.239 19.849 11.842 16.628 1.192 28.548-9.632 28.548-25.912 0-16.881-14.556-29.206-30.904-26.154zM249.408 261.192c-20.385 5.578-26.106 31.513-10.067 45.602 5.63 4.941 11.541 6.684 20.039 5.913 13.082-1.19 22.362-10.503 23.296-23.411 0.611-8.358-1.201-14.321-6.013-19.807-6.885-7.855-17.303-11.017-27.249-8.291zM761.12 260.895c-6.65 1.524-15.125 9.129-17.705 15.883-2.898 7.617-1.959 17.955 2.21 24.271 4.874 7.354 11.531 11.22 20.318 11.775 16.231 1.027 28.057-9.884 28.057-25.912 0-8.66-1.889-13.585-7.22-18.945-6.583-6.583-16.23-9.235-25.644-7.084zM23.788 262.303c-2.295 0.721-6.65 3.803-9.68 6.822-7.064 7.052-9.303 15.116-6.948 24.975 2.636 11.017 14.288 20.15 25.677 20.117 14.080-0.019 26.591-12.613 26.591-26.745 0-7.152-2.578-13.015-8.157-18.576-7.688-7.688-17.001-9.932-27.491-6.589zM94.969 262.39c-7.019 2.51-11.357 6.318-14.623 12.869-5.542 11.105-3.669 22.201 5.204 30.804 19.414 18.844 50.3 1.066 43.974-25.3-1.144-4.767-2.797-7.521-7.103-11.812-7.855-7.855-17.423-10.134-27.454-6.549zM168.893 263.89c-21.871 10.904-17.37 43.587 6.784 49.275 10.301 2.429 23.218-3.3 28.392-12.58 13.14-23.518-11.038-48.726-35.175-36.7zM830.693 264.073c-12.043 6.281-17.236 20.787-11.842 33.015 4.971 11.206 12.703 16.357 24.673 16.396 27.113 0.084 36.397-36.867 12.412-49.397-4.612-2.403-8.072-3.324-12.616-3.324s-8.004 0.921-12.616 3.333zM911.206 262.498c-9.341 3.333-17.37 14.778-17.37 24.774 0 11.502 9.062 23.098 20.117 25.756 9.866 2.362 17.927 0.117 24.961-6.952 11.183-11.239 11.273-26.147 0.251-37.171-7.855-7.855-17.604-10.101-27.956-6.414zM982.596 262.467c-18.040 6.445-23.299 30.335-9.632 43.858 9.729 9.622 25.001 10.369 35.46 1.725 16.365-13.484 10.703-40.921-9.498-46.013-6.65-1.676-10.746-1.559-16.337 0.419zM372.928 325.443c-11.251 4.011-17.955 13.634-17.839 25.612 0.251 27.152 36.735 36.097 49.296 12.055 7.83-14.991 0.687-32.965-14.99-37.608-7.153-2.127-10.636-2.132-16.466-0.050zM634.589 325.31c-7.22 2.697-11.454 6.516-14.79 13.317-4.406 8.993-3.87 19.535 1.324 26.949 4.606 6.549 14.178 11.667 21.826 11.667 7.889 0 17.47-5.075 22.060-11.686 3.266-4.706 3.568-5.998 3.568-14.953 0-8.663-0.369-10.349-3.236-14.69-6.279-9.477-20.582-14.4-30.77-10.601zM285.89 333.414c-6.279 1.464-11.809 5.339-15.762 11.004-4.473 6.405-5.281 19.414-1.658 26.522 2.81 5.511 8.425 10.631 14.428 13.149 6.248 2.627 17.849 1.357 23.802-2.568 10.369-6.851 14.632-20.446 10.134-32.244-2.79-7.287-10.971-14.302-18.61-15.94-3.266-0.697-6.309-1.221-6.754-1.156s-2.965 0.62-5.578 1.223zM725.95 333.35c-7.019 1.658-13.335 6.549-16.909 13.121-2.839 5.233-3.199 7.019-2.797 14.051 0.814 14.381 10.067 23.915 24.051 24.807 16.328 1.037 27.956-9.9 28.023-26.357 0.050-12.636-8.056-22.82-20.418-25.677-5.862-1.357-5.98-1.357-11.943 0.050zM197.594 339.27c-15.092 7.654-19.213 27.655-8.425 40.753 11.206 13.585 34.456 11.675 43.4-3.595 4.706-8.043 4.739-18.911 0.050-26.87-4.974-8.459-11.153-12.043-21.524-12.51-6.792-0.301-9.419 0.117-13.518 2.194zM802.311 339.476c-6.337 3.353-12.5 11.793-13.663 18.71-1.87 11.105 3.937 23.132 13.663 28.291 4.506 2.394 6.684 2.764 13.885 2.429 10.904-0.519 17.054-4.438 22.127-14.053 2.965-5.63 3.363-7.443 2.831-13.35-0.754-8.593-5.194-16.464-11.775-20.82-7.055-4.673-19.481-5.214-27.085-1.19zM119.375 339.614c-7.354 2.395-12.132 6.549-15.528 13.484-4.272 8.731-3.702 19.362 1.424 26.783 4.272 6.147 14.197 11.608 21.122 11.608 11.306 0 22.563-7.5 25.747-17.169 2.362-7.141 1.089-18.537-2.665-24.238-6.114-9.244-19.514-13.915-30.089-10.469zM888.772 339.707c-19.581 6.985-24.4 32.53-8.586 45.563 8.459 6.977 19.112 8.056 29.162 2.965 8.731-4.439 12.982-10.64 13.852-20.318 1.212-13.324-5.969-24.584-17.927-28.14-7.209-2.132-10.669-2.16-16.503-0.068zM44.654 340.682c-6.147 1.624-15.475 10.873-17.202 17.074-2.936 10.602-0.754 19.148 6.861 26.765 11.028 11.037 26.338 11.037 37.035 0.017 10.971-11.306 10.979-26.114 0.039-37.068-7.554-7.554-15.843-9.665-26.726-6.784zM963.427 340.682c-6.667 1.758-15.192 10.602-17.228 17.849-2.73 9.71-0.285 19.347 6.617 26.261 5.63 5.639 9.799 7.22 18.945 7.258 7.186 0.019 9.129-0.446 13.283-3.198 10.569-6.996 14.904-17.202 12.278-28.934-1.231-5.542-2.596-7.889-7.086-12.384-7.646-7.635-15.883-9.748-26.817-6.851zM573.050 363.739c-10.971 5.578-17.133 18.073-14.496 29.463 1.892 8.218 6.202 13.986 13.324 17.868 5.233 2.85 7.019 3.199 14.053 2.8 9.598-0.542 16.030-4.171 21.155-11.909 2.864-4.331 3.276-6.114 3.276-14.051s-0.419-9.729-3.276-14.051c-5.271-7.956-11.574-11.425-21.58-11.842-6.174-0.251-9.498 0.203-12.446 1.691zM438.819 365.948c-7.153 3.1-11.144 6.784-14.012 12.937-5.41 11.608-2.898 23.741 6.569 31.851 17.236 14.749 43.684 2.295 43.353-20.385-0.271-18.442-19.526-31.513-35.912-24.405zM505.468 374.97c-9.224 4.564-14.556 13.25-14.556 23.644 0 15.192 11.017 26.067 26.482 26.114 8.314 0.029 13.283-1.892 18.595-7.19 10.168-10.174 10.302-27.326 0.282-37.471-7.53-7.621-21.155-9.884-30.786-5.108zM334.906 394.758c-8.479 4.904-12.043 10.902-12.58 21.189-0.352 6.751 0.050 9.379 1.993 13.183 9.363 18.344 34.807 19.807 46.174 2.63 3.769-5.712 5.039-16.164 2.764-23.031-1.861-5.669-7.5-12.035-13.216-14.958-7.019-3.576-17.973-3.166-25.109 0.969zM665.032 393.458c-9.565 5.029-14.797 13.585-14.797 24.171 0 15.192 10.93 26.147 26.095 26.147 15.326 0 26.067-10.904 26.114-26.512 0.048-10.335-5.117-18.71-14.489-23.527-5.534-2.839-17.772-2.998-22.931-0.29zM244.865 405.203c-9.47 4.305-15.945 13.684-15.945 24.573 0 2.009 0.218 3.97 0.64 5.846l-0.034-0.184c4.554 21.223 31.474 27.956 45.946 11.474 4.941-5.63 6.684-11.541 5.913-20.039-0.766-8.479-4.612-14.923-11.725-19.614-6.105-4.037-18.14-5.041-24.778-2.064zM757.443 405.873c-9.216 4.564-14.556 13.25-14.556 23.644 0 15.025 11.163 26.348 26.046 26.448 8.023 0.050 13.701-2.194 19.013-7.521 5.343-5.343 7.22-10.268 7.22-18.945 0-8.090-2.462-14.061-7.917-19.246-7.521-7.152-20.446-9.041-29.832-4.406zM158.569 410.619c-6.202 1.458-14.422 8.45-17.239 14.681-6.415 14.154 1.156 31.851 15.494 36.154 20.388 6.114 38.743-10.402 34.389-30.971-3.062-14.388-17.772-23.363-32.646-19.849zM852.514 410.429c-9.498 2.362-18.052 11.697-19.781 21.591-1.899 10.902 5.059 23.896 15.271 28.526 11.589 5.271 26.716 0.721 33.249-10 8.286-13.566 3.769-30.669-9.923-37.638-5.252-2.675-13.614-3.78-18.818-2.496zM80.841 414.050c-5.946 1.114-10.989 4.031-15.159 8.76-4.941 5.611-6.684 11.541-5.911 20.030 1.19 13.159 10.503 22.362 23.576 23.299 9.531 0.687 16.298-1.993 22.356-8.876 16.628-18.878-0.050-47.851-24.874-43.218zM933.274 414.273c-7.152 1.24-12.994 5.176-16.957 11.44-4.457 7.019-5.388 13.78-3.032 21.893 3.568 12.297 14.516 19.514 28.057 18.543 20.753-1.492 31.173-26.648 17.772-42.889-6.298-7.635-15.394-10.803-25.845-8.993zM412.757 435.588c-20.010 9.9-19.303 39.413 1.156 47.956 5.779 2.429 16.706 2.362 21.926-0.116 20.418-9.699 19.748-39.807-1.056-48.492-6.329-2.645-15.931-2.362-22.027 0.653zM591.043 435.588c-19.514 9.665-19.548 37.504-0.050 47.521 8.934 4.603 22.703 2.423 30.36-4.807 10.235-9.69 10-28.358-0.486-38.335-7.521-7.141-20.446-9.041-29.826-4.399zM504.897 449.381c-11.231 6.65-15.896 18.174-12.316 30.447 3.635 12.5 13.384 19.196 26.842 18.442 9.534-0.542 15.997-4.171 21.105-11.909 2.864-4.331 3.276-6.114 3.276-14.051s-0.419-9.72-3.276-14.051c-5.252-7.947-11.574-11.407-21.57-11.842-7.454-0.318-9.070 0.017-14.053 2.965zM309.453 457.966c-23.692 5.913-27.822 38.508-6.248 49.245 23.467 11.686 47.621-12.54 35.694-35.786-5.33-10.388-18.207-16.269-29.449-13.459zM702.877 457.966c-23.768 5.946-27.755 38.538-6.047 49.342 20.753 10.339 43.199-7.454 37.805-29.966-3.266-13.617-18.241-22.762-31.745-19.38zM207.646 474.046c-13.384 4.773-20.15 18.777-16.131 33.344 1.754 6.315 10.786 15.359 17.102 17.102 18.040 4.991 34.361-7.086 34.361-25.41 0-18.683-17.792-31.273-35.33-25.021zM798.746 473.879c-5.776 1.825-14.589 10.989-16.366 17.001-3.081 10.369-0.888 18.911 6.832 26.648 11.105 11.105 25.845 11.038 37.075-0.151 10.989-10.937 10.971-25.883-0.039-36.901-7.688-7.688-17.001-9.933-27.5-6.6zM124.053 481.707c-5.98 1.524-11.734 5.678-15.427 11.105-3.091 4.539-3.434 6.013-3.434 14.757 0 8.858 0.318 10.155 3.568 14.857 4.564 6.583 14.178 11.686 21.987 11.686 7.82 0 17.423-5.108 21.987-11.686 3.266-4.706 3.568-5.998 3.568-14.953 0-8.663-0.377-10.349-3.236-14.69-5.872-8.861-18.643-13.751-29.028-11.105zM885.212 482.328c-19.089 6.818-24.167 32.177-9.028 45.142 16.434 14.080 42.027 3.935 43.568-17.269 0.955-13.284-6.153-24.271-18.023-27.792-7.22-2.142-10.679-2.16-16.533-0.077zM374.699 498.535c-15.092 7.654-19.216 27.655-8.425 40.753 11.239 13.644 34.429 11.675 43.467-3.682 6.967-11.842 3.227-28.091-8.224-35.669-6.818-4.506-19.4-5.176-26.817-1.395zM625.211 498.736c-9.732 5.146-15.542 17.172-13.663 28.285 1.163 6.918 7.327 15.36 13.663 18.71 4.506 2.394 6.687 2.764 13.885 2.429 10.843-0.519 17.068-4.439 22.016-13.885 4.406-8.43 4.419-15.368 0.050-23.994-4.807-9.496-11.046-13.44-22.060-13.954-7.2-0.349-9.379 0.048-13.885 2.429zM465.484 514.131c-6.684 1.859-15.595 10.891-17.375 17.606-5.544 20.815 12.446 38.906 33.149 33.316 7.684-2.060 15.997-10.814 17.927-18.858 4.874-20.318-13.417-37.733-33.685-32.076zM551.38 515.486c-7.119 2.663-11.373 6.434-14.623 12.946-8.712 17.47 2.127 36.949 21.483 38.575 5.98 0.514 7.855 0.117 13.484-2.771 24.129-12.424 17.104-47.559-9.951-49.831-3.501-0.285-7.922 0.174-10.388 1.089zM268.638 526.172c-6.751 3.534-9.312 5.902-12.311 11.396-3.993 7.327-4.351 18.063-0.843 24.941 9.235 18.11 34.769 19.447 46.046 2.395 3.769-5.712 5.039-16.164 2.764-23.031-1.861-5.669-7.5-12.035-13.216-14.958-5.339-2.73-17.86-3.132-22.443-0.746zM734.564 526.172c-10.636 5.544-15.461 13.121-15.427 24.149 0.050 15.678 10.77 26.582 26.114 26.582 14.923 0 26.057-11.038 26.114-25.883 0.050-10.708-5.117-19.313-14.489-24.137-5.214-2.695-17.772-3.081-22.328-0.708zM175.267 542.31c-10.134 4.606-17.068 17.248-15.339 27.985 3.367 20.988 27.956 29.943 43.835 15.969 9.923-8.727 11.842-22.429 4.74-33.906-6.684-10.803-21.629-15.326-33.247-10.048zM826.537 542.921c-17.169 7.989-19.972 31.184-5.31 43.734 17.209 14.729 43.3 2.539 43.266-20.217-0.019-19.748-19.781-31.977-37.972-23.518zM339.356 564.794c-5.846 2.73-11.742 9.235-13.663 15.092-2.395 7.287-1.056 18.528 2.898 24.238 4.798 6.948 12.714 11.439 21.661 11.439 6.717 0 12.848-2.529 17.504-6.684l-0.017 0.017c13.353-11.764 11.909-32.51-2.985-42.355-6.482-4.283-18.241-5.107-25.387-1.758zM662.359 565.091c-9.496 4.807-14.556 13.317-14.556 24.405 0 27.051 36.331 36.063 49.296 12.239 2.839-5.233 3.199-7.019 2.797-14.053-0.542-9.574-4.171-16.030-11.86-21.122-6.818-4.506-18.381-5.176-25.677-1.458zM416.31 588.915c-9.296 4.606-14.564 13.267-14.522 23.902 0.116 26.247 33.618 36.202 48.48 14.422 4.071-5.969 5.008-17.123 2.074-24.774-2.19-5.712-8.353-11.842-14.489-14.422-5.872-2.452-15.61-2.060-21.524 0.872zM585.984 588.244c-9.363 4.237-15.747 13.484-15.747 24.22 0 0.002 0 0.004 0 0.007v0c-0.050 8.024 2.194 13.701 7.521 19.021 10.803 10.803 28.627 10.101 38.819-1.524 10.402-11.86 7.646-30.757-5.812-39.648-6.114-4.037-18.14-5.041-24.778-2.064zM242.183 590.422c-6.87 2.563-12.277 7.287-15.159 13.25-3.87 8.015-3.065 19.884 1.831 26.968 4.525 6.521 14.157 11.641 21.948 11.641 7.82 0 17.423-5.108 21.987-11.686 3.266-4.706 3.568-5.998 3.568-14.953 0-8.663-0.377-10.349-3.236-14.69-6.315-9.545-20.563-14.4-30.938-10.536zM508.13 590.054c-9.9 2.898-17.236 13.818-17.236 25.677 0 27.345 37.135 36.329 49.294 11.928 10.87-21.813-8.492-44.506-32.045-37.605zM765.162 590.42c-6.88 2.563-12.278 7.287-15.159 13.25-3.87 8.023-3.065 19.904 1.831 26.978 4.539 6.551 14.154 11.641 22.027 11.641 7.688 0 17.236-5.108 21.871-11.708 3.023-4.305 3.625-6.382 3.937-13.617 0.339-7.721 0.017-9.129-3.236-14.723-6.269-10.736-20.117-15.963-31.27-11.809zM310.156 630.103c-24.204 12.278-15.259 49.095 11.996 49.353 17.268 0.155 29.698-14.556 26.29-31.139-3.702-18.040-21.725-26.616-38.285-18.207zM689.254 630.152c-9.186 4.807-13.546 12.144-13.484 22.729 0.077 13.411 7.045 22.5 19.748 25.812 12.446 3.233 24.961-2.797 30.379-14.642 10.582-23.112-13.919-45.778-36.658-33.886zM390.079 653.139c-5.455 1.57-13.614 10.067-15.394 16.027-3.459 11.551-0.62 21.893 8.033 29.296 17.161 14.69 43.218 2.362 43.19-20.417-0.019-18.442-17.093-30.301-35.835-24.908zM613.854 654.032c-6.377 2.898-13.024 10.837-14.723 17.571-4.245 16.867 8.66 33.199 26.013 32.947 19.633-0.285 31.808-20.016 23.4-37.905-3.276-6.985-5.475-9.129-12.655-12.378-6.667-3.032-15.662-3.13-22.027-0.218zM467.562 666.606c-14.167 7.172-18.576 24.975-9.498 38.383 5.008 7.403 11.957 10.971 21.357 10.971 20.756 0 33.005-19.714 23.668-38.106-4.706-9.263-11.057-13.392-21.455-13.935-6.724-0.352-8.928 0.077-14.087 2.675zM539.048 665.928c-9.565 4.428-14.857 13.183-14.857 24.507 0 14.757 11.038 25.543 26.147 25.543 15.394 0 26.182-10.904 26.114-26.415-0.050-10.882-6.192-20.059-16.279-24.284-5.41-2.261-15.494-1.959-21.125 0.653z" />
+<glyph unicode="&#xe972;" glyph-name="envelop" d="M928 832h-832c-52.8 0-96-43.2-96-96v-640c0-52.8 43.2-96 96-96h832c52.8 0 96 43.2 96 96v640c0 52.8-43.2 96-96 96zM398.74 409.628l-270.74-210.892v501.642l270.74-290.75zM176.38 704h671.24l-335.62-252-335.62 252zM409.288 398.302l102.712-110.302 102.71 110.302 210.554-270.302h-626.528l210.552 270.302zM625.26 409.628l270.74 290.75v-501.642l-270.74 210.892z" />
+<glyph unicode="&#xe973;" glyph-name="mastodon" d="M510 831c-96.656-0.392-192.626-12.664-242.562-35.688 0 0-107.438-48.908-107.438-215.5 0-198.304-0.144-447.34 178-495.5 68.224-18.336 126.894-22.282 174.062-19.562 85.6 4.832 127.938 31.062 127.938 31.062l-2.875 63.25c0 0-55.483-19.553-124.187-17.312-68.064 2.4-139.77 7.508-150.938 92.5-1.024 7.904-1.532 15.907-1.5 23.875 144.224-35.808 267.206-15.596 301.062-11.5 94.528 11.488 176.817 70.762 187.313 124.938 16.448 85.376 15.062 208.25 15.062 208.25 0 166.592-107.25 215.5-107.25 215.5-52.656 24.592-150.031 36.080-246.687 35.688zM406.562 703.938c33.116-0.888 65.84-15.704 86-47l19.5-33.125 19.438 33.125c40.48 62.944 131.207 59.016 174.375 10.312 39.808-46.336 30.938-76.242 30.938-283.25v-0.062h-78.313v180.125c0 84.32-107.5 87.577-107.5-11.687v-104.375h-77.813v104.375c0 99.264-107.437 96.070-107.437 11.75v-180.125h-78.5c0 207.168-8.71 237.266 30.938 283.25 21.744 24.512 55.259 37.576 88.375 36.688z" />
+<glyph unicode="&#xe974;" glyph-name="file-text2" d="M917.806 730.924c-22.212 30.292-53.174 65.7-87.178 99.704s-69.412 64.964-99.704 87.178c-51.574 37.82-76.592 42.194-90.924 42.194h-496c-44.112 0-80-35.888-80-80v-864c0-44.112 35.888-80 80-80h736c44.112 0 80 35.888 80 80v624c0 14.332-4.372 39.35-42.194 90.924zM785.374 785.374c30.7-30.7 54.8-58.398 72.58-81.374h-153.954v153.946c22.984-17.78 50.678-41.878 81.374-72.572zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16 0 0 495.956 0.002 496 0v-224c0-17.672 14.326-32 32-32h224v-624zM736 128h-448c-17.672 0-32 14.326-32 32s14.328 32 32 32h448c17.674 0 32-14.326 32-32s-14.326-32-32-32zM736 256h-448c-17.672 0-32 14.326-32 32s14.328 32 32 32h448c17.674 0 32-14.326 32-32s-14.326-32-32-32zM736 384h-448c-17.672 0-32 14.326-32 32s14.328 32 32 32h448c17.674 0 32-14.326 32-32s-14.326-32-32-32z" />
+<glyph unicode="&#xe975;" glyph-name="price-tag" d="M976 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 48zM736 576c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96z" />
+<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>
diff --git a/shared_legacy/static/styleguide2/pirati-ui.ttf b/shared_legacy/static/styleguide2/pirati-ui.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..e5e3dfd9a573daa94c1dda32bb7e45a3154684a9
Binary files /dev/null and b/shared_legacy/static/styleguide2/pirati-ui.ttf differ
diff --git a/shared_legacy/static/styleguide2/pirati-ui.woff b/shared_legacy/static/styleguide2/pirati-ui.woff
new file mode 100644
index 0000000000000000000000000000000000000000..f4a7c6238f4c774d70e62424e1d6c0ad11c949ef
Binary files /dev/null and b/shared_legacy/static/styleguide2/pirati-ui.woff differ
diff --git a/shared/static/styleguide234/assets/css/pattern-scaffolding.css b/shared_legacy/static/styleguide234/assets/css/pattern-scaffolding.css
similarity index 100%
rename from shared/static/styleguide234/assets/css/pattern-scaffolding.css
rename to shared_legacy/static/styleguide234/assets/css/pattern-scaffolding.css
diff --git a/shared/static/styleguide234/assets/css/styles.css b/shared_legacy/static/styleguide234/assets/css/styles.css
similarity index 100%
rename from shared/static/styleguide234/assets/css/styles.css
rename to shared_legacy/static/styleguide234/assets/css/styles.css
diff --git a/shared/static/styleguide234/assets/fonts/pirati-ui.eot b/shared_legacy/static/styleguide234/assets/fonts/pirati-ui.eot
similarity index 100%
rename from shared/static/styleguide234/assets/fonts/pirati-ui.eot
rename to shared_legacy/static/styleguide234/assets/fonts/pirati-ui.eot
diff --git a/shared/static/styleguide234/assets/fonts/pirati-ui.svg b/shared_legacy/static/styleguide234/assets/fonts/pirati-ui.svg
similarity index 100%
rename from shared/static/styleguide234/assets/fonts/pirati-ui.svg
rename to shared_legacy/static/styleguide234/assets/fonts/pirati-ui.svg
diff --git a/shared/static/styleguide234/assets/fonts/pirati-ui.ttf b/shared_legacy/static/styleguide234/assets/fonts/pirati-ui.ttf
similarity index 100%
rename from shared/static/styleguide234/assets/fonts/pirati-ui.ttf
rename to shared_legacy/static/styleguide234/assets/fonts/pirati-ui.ttf
diff --git a/shared/static/styleguide234/assets/fonts/pirati-ui.woff b/shared_legacy/static/styleguide234/assets/fonts/pirati-ui.woff
similarity index 100%
rename from shared/static/styleguide234/assets/fonts/pirati-ui.woff
rename to shared_legacy/static/styleguide234/assets/fonts/pirati-ui.woff
diff --git a/shared/static/styleguide234/assets/images/logo-full-black.svg b/shared_legacy/static/styleguide234/assets/images/logo-full-black.svg
similarity index 100%
rename from shared/static/styleguide234/assets/images/logo-full-black.svg
rename to shared_legacy/static/styleguide234/assets/images/logo-full-black.svg
diff --git a/shared/static/styleguide234/assets/images/logo-full-white.svg b/shared_legacy/static/styleguide234/assets/images/logo-full-white.svg
similarity index 100%
rename from shared/static/styleguide234/assets/images/logo-full-white.svg
rename to shared_legacy/static/styleguide234/assets/images/logo-full-white.svg
diff --git a/shared/static/styleguide291/assets/images/logo-round-black.svg b/shared_legacy/static/styleguide234/assets/images/logo-round-black.svg
similarity index 100%
rename from shared/static/styleguide291/assets/images/logo-round-black.svg
rename to shared_legacy/static/styleguide234/assets/images/logo-round-black.svg
diff --git a/shared/static/styleguide291/assets/images/logo-round-white.svg b/shared_legacy/static/styleguide234/assets/images/logo-round-white.svg
similarity index 100%
rename from shared/static/styleguide291/assets/images/logo-round-white.svg
rename to shared_legacy/static/styleguide234/assets/images/logo-round-white.svg
diff --git a/shared/static/styleguide234/assets/js/main.bundle.js b/shared_legacy/static/styleguide234/assets/js/main.bundle.js
similarity index 100%
rename from shared/static/styleguide234/assets/js/main.bundle.js
rename to shared_legacy/static/styleguide234/assets/js/main.bundle.js
diff --git a/shared/static/styleguide234/assets/js/vue.2.6.11.js b/shared_legacy/static/styleguide234/assets/js/vue.2.6.11.js
similarity index 100%
rename from shared/static/styleguide234/assets/js/vue.2.6.11.js
rename to shared_legacy/static/styleguide234/assets/js/vue.2.6.11.js
diff --git a/shared/static/styleguide291/assets/css/pattern-scaffolding.css b/shared_legacy/static/styleguide291/assets/css/pattern-scaffolding.css
similarity index 100%
rename from shared/static/styleguide291/assets/css/pattern-scaffolding.css
rename to shared_legacy/static/styleguide291/assets/css/pattern-scaffolding.css
diff --git a/shared/static/styleguide291/assets/css/styles.css b/shared_legacy/static/styleguide291/assets/css/styles.css
similarity index 100%
rename from shared/static/styleguide291/assets/css/styles.css
rename to shared_legacy/static/styleguide291/assets/css/styles.css
diff --git a/shared/static/styleguide291/assets/fonts/pirati-ui.eot b/shared_legacy/static/styleguide291/assets/fonts/pirati-ui.eot
similarity index 100%
rename from shared/static/styleguide291/assets/fonts/pirati-ui.eot
rename to shared_legacy/static/styleguide291/assets/fonts/pirati-ui.eot
diff --git a/shared/static/styleguide291/assets/fonts/pirati-ui.svg b/shared_legacy/static/styleguide291/assets/fonts/pirati-ui.svg
similarity index 100%
rename from shared/static/styleguide291/assets/fonts/pirati-ui.svg
rename to shared_legacy/static/styleguide291/assets/fonts/pirati-ui.svg
diff --git a/shared/static/styleguide291/assets/fonts/pirati-ui.ttf b/shared_legacy/static/styleguide291/assets/fonts/pirati-ui.ttf
similarity index 100%
rename from shared/static/styleguide291/assets/fonts/pirati-ui.ttf
rename to shared_legacy/static/styleguide291/assets/fonts/pirati-ui.ttf
diff --git a/shared/static/styleguide291/assets/fonts/pirati-ui.woff b/shared_legacy/static/styleguide291/assets/fonts/pirati-ui.woff
similarity index 100%
rename from shared/static/styleguide291/assets/fonts/pirati-ui.woff
rename to shared_legacy/static/styleguide291/assets/fonts/pirati-ui.woff
diff --git a/shared/static/styleguide291/assets/images/city-banner.png b/shared_legacy/static/styleguide291/assets/images/city-banner.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/city-banner.png
rename to shared_legacy/static/styleguide291/assets/images/city-banner.png
diff --git a/shared/static/styleguide291/assets/images/elections-hero.jpg b/shared_legacy/static/styleguide291/assets/images/elections-hero.jpg
similarity index 100%
rename from shared/static/styleguide291/assets/images/elections-hero.jpg
rename to shared_legacy/static/styleguide291/assets/images/elections-hero.jpg
diff --git a/shared/static/styleguide291/assets/images/examples/pg.png b/shared_legacy/static/styleguide291/assets/images/examples/pg.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/examples/pg.png
rename to shared_legacy/static/styleguide291/assets/images/examples/pg.png
diff --git a/shared/static/styleguide291/assets/images/examples/sunset.jpeg b/shared_legacy/static/styleguide291/assets/images/examples/sunset.jpeg
similarity index 100%
rename from shared/static/styleguide291/assets/images/examples/sunset.jpeg
rename to shared_legacy/static/styleguide291/assets/images/examples/sunset.jpeg
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-114x114.png b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-114x114.png
new file mode 100644
index 0000000000000000000000000000000000000000..d80c1b045c8dd4eaf62a7a005fb24a734a231502
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-114x114.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-120x120.png b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-120x120.png
new file mode 100644
index 0000000000000000000000000000000000000000..734c085baee01a6352a01afb971d58682c944a70
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-120x120.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-144x144.png b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-144x144.png
new file mode 100644
index 0000000000000000000000000000000000000000..b8059e03cf44c367b2f3a197b3ff1cb706927495
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-144x144.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-152x152.png b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-152x152.png
new file mode 100644
index 0000000000000000000000000000000000000000..016482e4c92121b4a5ba35b3333268b82a3cb543
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-152x152.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-57x57.png b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-57x57.png
new file mode 100644
index 0000000000000000000000000000000000000000..85feef61bc6d853a602a90ccb59d54602f3d1343
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-57x57.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-60x60.png b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-60x60.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a71c195069a55ac1e4846378e5125c2d385f415
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-60x60.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-72x72.png b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-72x72.png
new file mode 100644
index 0000000000000000000000000000000000000000..01cb1fcb0d781950111b3a61db5434af07bf6fea
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-72x72.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-76x76.png b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-76x76.png
new file mode 100644
index 0000000000000000000000000000000000000000..d527a37e561b4e913c900d2d29b8682946f46c1c
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/apple-touch-icon-76x76.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/favicon-128x128.png b/shared_legacy/static/styleguide291/assets/images/favicons/favicon-128x128.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a70b1654597f5b27049e60860d1559ee7cae2b4
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/favicon-128x128.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/favicon-16x16.png b/shared_legacy/static/styleguide291/assets/images/favicons/favicon-16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..c741c9d593b7862c04b34c5fd28d7b47924c3a1c
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/favicon-16x16.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/favicon-196x196.png b/shared_legacy/static/styleguide291/assets/images/favicons/favicon-196x196.png
new file mode 100644
index 0000000000000000000000000000000000000000..75eec7cbf4dfa0af0b4bfc43fc2c32f8846445e9
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/favicon-196x196.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/favicon-32x32.png b/shared_legacy/static/styleguide291/assets/images/favicons/favicon-32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..6f23a79becf613d165db931bdcf5a3fad6c832e6
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/favicon-32x32.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/favicon-96x96.png b/shared_legacy/static/styleguide291/assets/images/favicons/favicon-96x96.png
new file mode 100644
index 0000000000000000000000000000000000000000..f64e3b179086e45b86c879e286c0759c390d7835
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/favicon-96x96.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/favicon.ico b/shared_legacy/static/styleguide291/assets/images/favicons/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..7f9c6b7f249d8978f2df6de9b0043357016dea3a
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/favicon.ico differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/mstile-144x144.png b/shared_legacy/static/styleguide291/assets/images/favicons/mstile-144x144.png
new file mode 100644
index 0000000000000000000000000000000000000000..b8059e03cf44c367b2f3a197b3ff1cb706927495
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/mstile-144x144.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/mstile-150x150.png b/shared_legacy/static/styleguide291/assets/images/favicons/mstile-150x150.png
new file mode 100644
index 0000000000000000000000000000000000000000..6696eadc9136cd1e07a37be32ec8d45dd67e9861
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/mstile-150x150.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/mstile-310x150.png b/shared_legacy/static/styleguide291/assets/images/favicons/mstile-310x150.png
new file mode 100644
index 0000000000000000000000000000000000000000..118df818b1c8792ad1edbd5f79f5c964a6fcd702
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/mstile-310x150.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/mstile-310x310.png b/shared_legacy/static/styleguide291/assets/images/favicons/mstile-310x310.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fe1daf0637b0a65e78b4152b267368358470124
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/mstile-310x310.png differ
diff --git a/shared_legacy/static/styleguide291/assets/images/favicons/mstile-70x70.png b/shared_legacy/static/styleguide291/assets/images/favicons/mstile-70x70.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a70b1654597f5b27049e60860d1559ee7cae2b4
Binary files /dev/null and b/shared_legacy/static/styleguide291/assets/images/favicons/mstile-70x70.png differ
diff --git a/shared/static/styleguide291/assets/images/flag.png b/shared_legacy/static/styleguide291/assets/images/flag.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/flag.png
rename to shared_legacy/static/styleguide291/assets/images/flag.png
diff --git a/shared/static/styleguide291/assets/images/hero-profile-img.png b/shared_legacy/static/styleguide291/assets/images/hero-profile-img.png
similarity index 100%
rename from shared/static/styleguide291/assets/images/hero-profile-img.png
rename to shared_legacy/static/styleguide291/assets/images/hero-profile-img.png
diff --git a/shared/static/styleguide291/assets/images/logo-full-black.svg b/shared_legacy/static/styleguide291/assets/images/logo-full-black.svg
similarity index 100%
rename from shared/static/styleguide291/assets/images/logo-full-black.svg
rename to shared_legacy/static/styleguide291/assets/images/logo-full-black.svg
diff --git a/shared/static/styleguide291/assets/images/logo-full-white.svg b/shared_legacy/static/styleguide291/assets/images/logo-full-white.svg
similarity index 100%
rename from shared/static/styleguide291/assets/images/logo-full-white.svg
rename to shared_legacy/static/styleguide291/assets/images/logo-full-white.svg
diff --git a/shared_legacy/static/styleguide291/assets/images/logo-round-black.svg b/shared_legacy/static/styleguide291/assets/images/logo-round-black.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a47755ad1f0225477b8cba118898953e8b921133
--- /dev/null
+++ b/shared_legacy/static/styleguide291/assets/images/logo-round-black.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg id="Vrstva_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52.2 55.2">
+  <style>
+    .st0{fill:none}
+  </style>
+  <path d="M24.7 7.2c-5.9 0-11.4 2.3-15.5 6.4-4.2 4.1-6.5 9.7-6.5 15.5C2.7 35 5 40.5 9.1 44.7c4.2 4.1 9.7 6.4 15.5 6.4 5.9 0 11.4-2.3 15.5-6.4 4.2-4.1 6.4-9.7 6.4-15.5 0-5.9-2.3-11.4-6.4-15.5-4-4.3-9.5-6.5-15.4-6.5m0 41.8c-11 0-19.9-8.9-19.9-19.9 0-11 8.9-19.9 19.9-19.9 11 0 19.9 8.9 19.9 19.9 0 11-8.9 19.9-19.9 19.9"/>
+  <path d="M18.1 16.1V13h-1.9v3.6c-1.3.4-2.1.8-1.9 1.1.4-.1 1.1-.2 1.9-.1V36c-2 3.8.9 9.7.9 9.7s-2.1-6.3 2.6-9.3c4.3-2.7 19.3-1.5 19.2-9.9-.1-11.9-13.9-11.9-20.8-10.4m6.1 11.6c-.7 3.2-4.1 4.8-6.2 6.2V17.8c3.5.8 7.6 3.5 6.2 9.9"/>
+  <path class="st0" d="M0 0h52.2v55.2H0z"/>
+</svg>
diff --git a/shared_legacy/static/styleguide291/assets/images/logo-round-white.svg b/shared_legacy/static/styleguide291/assets/images/logo-round-white.svg
new file mode 100644
index 0000000000000000000000000000000000000000..49e0b19ab5c9d3bd38aeca81ba21bb52172b52ee
--- /dev/null
+++ b/shared_legacy/static/styleguide291/assets/images/logo-round-white.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 20.217 20.156" width="20.217pt" height="20.156pt"><defs><clipPath id="_clipPath_tR3ALwD3k6PT9ZS47lNZPyjlLQOtvovj"><rect width="20.217" height="20.156"/></clipPath></defs><g clip-path="url(#_clipPath_tR3ALwD3k6PT9ZS47lNZPyjlLQOtvovj)"><path d=" M 10.081 19.222 C 5.04 19.214 0.96 15.123 0.965 10.083 C 0.97 5.042 5.059 0.959 10.1 0.962 C 15.14 0.965 19.225 5.051 19.225 10.092 C 19.214 15.135 15.124 19.219 10.081 19.222 M 17.242 2.97 C 13.848 -0.384 8.558 -0.878 4.603 1.791 C 0.647 4.46 -0.877 9.549 0.963 13.953 C 2.802 18.356 7.493 20.849 12.172 19.911 C 16.85 18.973 20.217 14.864 20.217 10.092 C 20.212 7.417 19.142 4.854 17.242 2.97" fill="rgb(255,255,255)"/><path d=" M 9.888 9.432 C 9.588 10.889 7.988 11.659 7.051 12.292 L 7.051 4.892 C 8.065 5.051 8.96 5.643 9.505 6.513 C 10.049 7.384 10.189 8.447 9.888 9.429 M 7.051 4.094 L 7.051 2.694 L 6.17 2.694 L 6.17 4.316 C 5.564 4.508 5.233 4.701 5.289 4.811 C 5.578 4.746 5.875 4.727 6.17 4.756 L 6.17 13.256 C 5.261 15.016 6.556 17.711 6.556 17.711 C 6.556 17.711 5.592 14.824 7.74 13.449 C 9.723 12.184 16.609 12.789 16.581 8.912 C 16.581 3.412 10.219 3.44 7.051 4.1" fill="rgb(255,255,255)"/></g></svg>
diff --git a/shared/static/styleguide291/assets/js/main.bundle.js b/shared_legacy/static/styleguide291/assets/js/main.bundle.js
similarity index 100%
rename from shared/static/styleguide291/assets/js/main.bundle.js
rename to shared_legacy/static/styleguide291/assets/js/main.bundle.js
diff --git a/shared/static/styleguide291/assets/js/vue.2.6.11.js b/shared_legacy/static/styleguide291/assets/js/vue.2.6.11.js
similarity index 100%
rename from shared/static/styleguide291/assets/js/vue.2.6.11.js
rename to shared_legacy/static/styleguide291/assets/js/vue.2.6.11.js
diff --git a/shared_legacy/storages.py b/shared_legacy/storages.py
new file mode 100644
index 0000000000000000000000000000000000000000..09643701978d4fe18fac8db8bc880b38a08f4c11
--- /dev/null
+++ b/shared_legacy/storages.py
@@ -0,0 +1,21 @@
+import os
+
+from django.conf import settings
+from django.core.files.storage import get_storage_class
+
+
+class OverwriteStorage(get_storage_class()):
+    def get_available_name(self, name, max_length):
+        """
+        Returns a filename that's free on the target storage system, and
+        available for new content to be written to. This file storage solves overwrite
+        on upload problem.
+
+        Found at https://djangosnippets.org/snippets/976/
+        """
+
+        # If the filename already exists, remove it as if it was a true file system
+        if self.exists(name):
+            os.remove(os.path.join(settings.MEDIA_ROOT, name))
+
+        return name
diff --git a/shared/templates/shared/article_preview.html b/shared_legacy/templates/shared/article_preview.html
similarity index 96%
rename from shared/templates/shared/article_preview.html
rename to shared_legacy/templates/shared/article_preview.html
index af74f84db3dc6bb67ee309923617d9b68cd9f6a7..28fbb8474065d96ad3983d8ce3a44fbb7dad0f4a 100644
--- a/shared/templates/shared/article_preview.html
+++ b/shared_legacy/templates/shared/article_preview.html
@@ -1,4 +1,5 @@
 {% load wagtailcore_tags wagtailimages_tags wagtailroutablepage_tags %}
+{% routablepageurl page.root_page.articles_page "tags" as articles_tag_page_url %}
 
 <article
   itemtype="http://schema.org/BlogPosting"
@@ -74,7 +75,7 @@
     <div class="inline-block-nogap mt-4">
       {% for tag in article.get_tags %}
         <a
-          href="{{ page.root_page.articles_page.url }}?tag={{ tag.slug }}"
+          href="{{ articles_tag_page_url }}?tag={{ tag.slug }}"
           class="btn article-card__category-button btn--condensed text-sm font-light btn--grey-{% if article.is_black %}700{% else %}125{% endif %} btn--hoveractive"
         >
           <div class="btn__body">{{ tag }}</div>
diff --git a/shared/templates/shared/article_shared_link.html b/shared_legacy/templates/shared/article_shared_link.html
similarity index 100%
rename from shared/templates/shared/article_shared_link.html
rename to shared_legacy/templates/shared/article_shared_link.html
diff --git a/shared/templates/shared/blocks/compact_candidate_snippet_block.html b/shared_legacy/templates/shared/blocks/compact_candidate_snippet_block.html
similarity index 100%
rename from shared/templates/shared/blocks/compact_candidate_snippet_block.html
rename to shared_legacy/templates/shared/blocks/compact_candidate_snippet_block.html
diff --git a/shared/templates/shared/blocks/footer_links_block.html b/shared_legacy/templates/shared/blocks/footer_links_block.html
similarity index 100%
rename from shared/templates/shared/blocks/footer_links_block.html
rename to shared_legacy/templates/shared/blocks/footer_links_block.html
diff --git a/shared/templates/shared/blocks/full_candidate_snippet_block.html b/shared_legacy/templates/shared/blocks/full_candidate_snippet_block.html
similarity index 100%
rename from shared/templates/shared/blocks/full_candidate_snippet_block.html
rename to shared_legacy/templates/shared/blocks/full_candidate_snippet_block.html
diff --git a/shared/templates/shared/blocks/newsletter_subscription_block.html b/shared_legacy/templates/shared/blocks/newsletter_subscription_block.html
similarity index 100%
rename from shared/templates/shared/blocks/newsletter_subscription_block.html
rename to shared_legacy/templates/shared/blocks/newsletter_subscription_block.html
diff --git a/shared/templates/shared/blocks/table_block.html b/shared_legacy/templates/shared/blocks/table_block.html
similarity index 95%
rename from shared/templates/shared/blocks/table_block.html
rename to shared_legacy/templates/shared/blocks/table_block.html
index cf07ec5af95f75f013659ad01c2380893ce3b132..5adfe4166a7ca841bcb7ad6ad15fb0e7a5b63c2b 100644
--- a/shared/templates/shared/blocks/table_block.html
+++ b/shared_legacy/templates/shared/blocks/table_block.html
@@ -1,7 +1,7 @@
 {% load table_block_tags shared_filters %}
 
-<div class="my-6 prose">
-  <table>
+<div class="my-6">
+  <table class="table table--bordered content-block">
     {% if table_caption %}
       <caption class="head-heavy-sm my-4">{{ table_caption }}</caption>
     {% endif %}
diff --git a/shared/templates/shared/calendar_current_events_snippet.html b/shared_legacy/templates/shared/calendar_current_events_snippet.html
similarity index 100%
rename from shared/templates/shared/calendar_current_events_snippet.html
rename to shared_legacy/templates/shared/calendar_current_events_snippet.html
diff --git a/shared/templates/shared/chart_script_snippet.html b/shared_legacy/templates/shared/chart_script_snippet.html
similarity index 100%
rename from shared/templates/shared/chart_script_snippet.html
rename to shared_legacy/templates/shared/chart_script_snippet.html
diff --git a/shared/templates/shared/compact_candidate_snippet.html b/shared_legacy/templates/shared/compact_candidate_snippet.html
similarity index 100%
rename from shared/templates/shared/compact_candidate_snippet.html
rename to shared_legacy/templates/shared/compact_candidate_snippet.html
diff --git a/shared/templates/shared/election_countdown_snippet.html b/shared_legacy/templates/shared/election_countdown_snippet.html
similarity index 100%
rename from shared/templates/shared/election_countdown_snippet.html
rename to shared_legacy/templates/shared/election_countdown_snippet.html
diff --git a/shared/templates/shared/election_point_card_snippet.html b/shared_legacy/templates/shared/election_point_card_snippet.html
similarity index 100%
rename from shared/templates/shared/election_point_card_snippet.html
rename to shared_legacy/templates/shared/election_point_card_snippet.html
diff --git a/shared/templates/shared/favicon_snippet.html b/shared_legacy/templates/shared/favicon_snippet.html
similarity index 100%
rename from shared/templates/shared/favicon_snippet.html
rename to shared_legacy/templates/shared/favicon_snippet.html
diff --git a/shared/templates/shared/followus_snippet.html b/shared_legacy/templates/shared/followus_snippet.html
similarity index 100%
rename from shared/templates/shared/followus_snippet.html
rename to shared_legacy/templates/shared/followus_snippet.html
diff --git a/shared/templates/shared/followus_snippet_column.html b/shared_legacy/templates/shared/followus_snippet_column.html
similarity index 100%
rename from shared/templates/shared/followus_snippet_column.html
rename to shared_legacy/templates/shared/followus_snippet_column.html
diff --git a/shared/templates/shared/full_candidate_snippet.html b/shared_legacy/templates/shared/full_candidate_snippet.html
similarity index 100%
rename from shared/templates/shared/full_candidate_snippet.html
rename to shared_legacy/templates/shared/full_candidate_snippet.html
diff --git a/shared/templates/shared/matomo_snippet.html b/shared_legacy/templates/shared/matomo_snippet.html
similarity index 100%
rename from shared/templates/shared/matomo_snippet.html
rename to shared_legacy/templates/shared/matomo_snippet.html
diff --git a/shared/templates/shared/more_articles_snippet.html b/shared_legacy/templates/shared/more_articles_snippet.html
similarity index 100%
rename from shared/templates/shared/more_articles_snippet.html
rename to shared_legacy/templates/shared/more_articles_snippet.html
diff --git a/shared/templates/shared/pdf_snippet.html b/shared_legacy/templates/shared/pdf_snippet.html
similarity index 85%
rename from shared/templates/shared/pdf_snippet.html
rename to shared_legacy/templates/shared/pdf_snippet.html
index a037e3cd958a934b513b695cfc38f315845e2380..2c69fb22a88cefdf54a24d93d947f11f7cea7dac 100644
--- a/shared/templates/shared/pdf_snippet.html
+++ b/shared_legacy/templates/shared/pdf_snippet.html
@@ -61,13 +61,17 @@
         </script>
     </div>
 
-    <div id="loading">
+    <div class="text-gray-500 my-6" id="loading">
         Načítání ...
     </div>
 
     {% if download_link %}
-        <div class="inline-block py-8">
-            {% include "styleguide2/includes/atoms/buttons/round_button.html" with text="Stáhnout dokument" url=page.pdf_url show_arrow_on_hover=True %}
+        <div class="flex flex-col md:flex-row lg:flex-col lg:items-end space-y-2 md:space-y-0 md:space-x-2 lg:space-x-0 lg:space-y-2">
+            <a href="{{ request.scheme }}://{{ request.get_host }}{{ page.pdf_url }}">
+                <button class="btn btn--inline-icon btn--condensed btn--hoveractive btn--grey-500">
+                    <div class="btn__body">Odkaz ke stažení PDF</div>
+                </button>
+            </a>
         </div>
     {% endif %}
 {% endblock %}
diff --git a/shared/templates/shared/person_badge_snippet.html b/shared_legacy/templates/shared/person_badge_snippet.html
similarity index 100%
rename from shared/templates/shared/person_badge_snippet.html
rename to shared_legacy/templates/shared/person_badge_snippet.html
diff --git a/shared/templates/shared/person_badge_wide_snippet.html b/shared_legacy/templates/shared/person_badge_wide_snippet.html
similarity index 100%
rename from shared/templates/shared/person_badge_wide_snippet.html
rename to shared_legacy/templates/shared/person_badge_wide_snippet.html
diff --git a/shared/templates/shared/small_calendar_snippet.html b/shared_legacy/templates/shared/small_calendar_snippet.html
similarity index 100%
rename from shared/templates/shared/small_calendar_snippet.html
rename to shared_legacy/templates/shared/small_calendar_snippet.html
diff --git a/shared/templates/shared/social_icons_snippet.html b/shared_legacy/templates/shared/social_icons_snippet.html
similarity index 100%
rename from shared/templates/shared/social_icons_snippet.html
rename to shared_legacy/templates/shared/social_icons_snippet.html
diff --git a/shared/templates/styleguide/2.3.x/article_card.html b/shared_legacy/templates/styleguide/2.3.x/article_card.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/article_card.html
rename to shared_legacy/templates/styleguide/2.3.x/article_card.html
diff --git a/shared/templates/styleguide/2.3.x/article_card_list.html b/shared_legacy/templates/styleguide/2.3.x/article_card_list.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/article_card_list.html
rename to shared_legacy/templates/styleguide/2.3.x/article_card_list.html
diff --git a/shared/templates/styleguide/2.3.x/blocks/button_block.html b/shared_legacy/templates/styleguide/2.3.x/blocks/button_block.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/blocks/button_block.html
rename to shared_legacy/templates/styleguide/2.3.x/blocks/button_block.html
diff --git a/shared/templates/styleguide/2.3.x/blocks/button_group_block.html b/shared_legacy/templates/styleguide/2.3.x/blocks/button_group_block.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/blocks/button_group_block.html
rename to shared_legacy/templates/styleguide/2.3.x/blocks/button_group_block.html
diff --git a/shared/templates/styleguide/2.3.x/blocks/card_block.html b/shared_legacy/templates/styleguide/2.3.x/blocks/card_block.html
similarity index 99%
rename from shared/templates/styleguide/2.3.x/blocks/card_block.html
rename to shared_legacy/templates/styleguide/2.3.x/blocks/card_block.html
index 2f2e55423a0e15ef871faf506eb59833ed39300d..62f818557d7d00fc2d0988859e2b495f76fc5579 100644
--- a/shared/templates/styleguide/2.3.x/blocks/card_block.html
+++ b/shared_legacy/templates/styleguide/2.3.x/blocks/card_block.html
@@ -12,7 +12,6 @@
       <img class="w-full h-48 object-cover" src="{{ img.url }}" alt="{{ img.alt }}" />
     {% endif %}
   {% endif %}
-
   <div class="card__body">
     {% if self.headline %}
       <h1 class="card-headline mb-2">
diff --git a/shared/templates/styleguide/2.3.x/blocks/figure_block.html b/shared_legacy/templates/styleguide/2.3.x/blocks/figure_block.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/blocks/figure_block.html
rename to shared_legacy/templates/styleguide/2.3.x/blocks/figure_block.html
diff --git a/shared/templates/styleguide/2.3.x/blocks/full_size_header_block.html b/shared_legacy/templates/styleguide/2.3.x/blocks/full_size_header_block.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/blocks/full_size_header_block.html
rename to shared_legacy/templates/styleguide/2.3.x/blocks/full_size_header_block.html
diff --git a/shared_legacy/templates/styleguide/2.3.x/blocks/gallery_block.html b/shared_legacy/templates/styleguide/2.3.x/blocks/gallery_block.html
new file mode 100644
index 0000000000000000000000000000000000000000..f4181b7912057ddbc31531bead32e1bbfdf9d5c2
--- /dev/null
+++ b/shared_legacy/templates/styleguide/2.3.x/blocks/gallery_block.html
@@ -0,0 +1,10 @@
+{% load wagtailimages_tags %}
+<div class="w-full grid grid-cols-4 gap-4">
+  {% for picture in self.gallery_items %}
+    {% image picture width-2000 as img %}
+    {% image picture fill-300x200 as thumb %}
+    <div>
+      <a data-fancybox="gallery" href="{{ img.url }}"><img data-src="{{ thumb.url }}" class="lazyload img-fluid" alt="{{ thumb.alt }}"></a>
+    </div>
+  {% endfor %}
+</div>
diff --git a/shared/templates/styleguide/2.3.x/blocks/headline_block.html b/shared_legacy/templates/styleguide/2.3.x/blocks/headline_block.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/blocks/headline_block.html
rename to shared_legacy/templates/styleguide/2.3.x/blocks/headline_block.html
diff --git a/shared/templates/styleguide/2.3.x/blocks/image_banner_block.html b/shared_legacy/templates/styleguide/2.3.x/blocks/image_banner_block.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/blocks/image_banner_block.html
rename to shared_legacy/templates/styleguide/2.3.x/blocks/image_banner_block.html
diff --git a/shared/templates/styleguide/2.3.x/blocks/three_column_block.html b/shared_legacy/templates/styleguide/2.3.x/blocks/three_column_block.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/blocks/three_column_block.html
rename to shared_legacy/templates/styleguide/2.3.x/blocks/three_column_block.html
diff --git a/shared/templates/styleguide/2.3.x/blocks/two_column_block.html b/shared_legacy/templates/styleguide/2.3.x/blocks/two_column_block.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/blocks/two_column_block.html
rename to shared_legacy/templates/styleguide/2.3.x/blocks/two_column_block.html
diff --git a/shared/templates/styleguide/2.3.x/blocks/video_block.html b/shared_legacy/templates/styleguide/2.3.x/blocks/video_block.html
similarity index 99%
rename from shared/templates/styleguide/2.3.x/blocks/video_block.html
rename to shared_legacy/templates/styleguide/2.3.x/blocks/video_block.html
index 270d0d85df36c29e64dd1c20f6adf3bd3a9e34fc..00948f9db6257140d068970c06782693f277c4b1 100644
--- a/shared/templates/styleguide/2.3.x/blocks/video_block.html
+++ b/shared_legacy/templates/styleguide/2.3.x/blocks/video_block.html
@@ -1,5 +1,4 @@
 {% load wagtailimages_tags %}
-
 <div class="mb-10 text-center youtube-poster" id="ytVideo{{ self.video_id }}PosterContainer">
   {% image self.poster_image width-720 as img %}
   <img src="{{ img.url }}" alt="{{ img.alt }}" class="w-full object-cover mb-2">
diff --git a/shared/templates/styleguide/2.3.x/menu_item.html b/shared_legacy/templates/styleguide/2.3.x/menu_item.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/menu_item.html
rename to shared_legacy/templates/styleguide/2.3.x/menu_item.html
diff --git a/shared/templates/styleguide/2.3.x/menu_parent.html b/shared_legacy/templates/styleguide/2.3.x/menu_parent.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/menu_parent.html
rename to shared_legacy/templates/styleguide/2.3.x/menu_parent.html
diff --git a/shared/templates/styleguide/2.3.x/pagination.html b/shared_legacy/templates/styleguide/2.3.x/pagination.html
similarity index 100%
rename from shared/templates/styleguide/2.3.x/pagination.html
rename to shared_legacy/templates/styleguide/2.3.x/pagination.html
diff --git a/shared_legacy/utils.py b/shared_legacy/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..c27449f8ded58045eba91bad10bdb65869cebb27
--- /dev/null
+++ b/shared_legacy/utils.py
@@ -0,0 +1,102 @@
+import json
+import logging
+import urllib.request
+from urllib.parse import urljoin
+
+import bleach
+import requests
+from django.conf import settings
+from django.core.files import File
+from django.http import HttpResponse
+from django.utils.translation import gettext_lazy
+from wagtail.admin.panels import CommentPanel, FieldPanel, HelpPanel, MultiFieldPanel
+from wagtail.images.models import Image
+from wagtail.models import Page
+
+from tuning import admin_help
+
+logger = logging.getLogger()
+
+
+def create_image_from_url(url, filename):
+    img_data = urllib.request.urlretrieve(url)
+    img_obj = Image(title=filename)
+    img_obj.file.save(filename, File(open(img_data[0], "rb")))
+    img_obj.save()
+    return img_obj
+
+
+def get_subpage_url(page, dest_page_type):
+    try:
+        return page.get_descendants().type(dest_page_type).live().first().get_url()
+    except (Page.DoesNotExist, AttributeError):
+        return "#"
+
+
+def make_promote_panels(
+    help_content=None, *, seo_title=True, search_description=True, search_image=True
+):
+    if help_content is None:
+        help_content = admin_help.build(
+            admin_help.NO_SEO_TITLE, admin_help.NO_SEARCH_IMAGE
+        )
+
+    panels = [FieldPanel("slug")]
+    if seo_title:
+        panels.append(FieldPanel("seo_title"))
+    if search_description:
+        panels.append(FieldPanel("search_description"))
+    if search_image:
+        panels.append(FieldPanel("search_image"))
+    panels.append(HelpPanel(help_content))
+    panels.append(CommentPanel())
+
+    return [MultiFieldPanel(panels, gettext_lazy("Common page configuration"))]
+
+
+def subscribe_to_newsletter(email, list_id):
+    url = urljoin(settings.MAILTRAIN_API_URL, f"subscribe/{list_id}")
+    data = {"EMAIL": email, "FORCE_SUBSCRIBE": False, "REQUIRE_CONFIRMATION": True}
+    response = requests.post(
+        url, data=data, headers={"access-token": settings.MAILTRAIN_API_TOKEN}
+    )
+    if response.status_code != 200:
+        logger.error(
+            "Failed to subscribe!", extra={"data": data, "response": response.text}
+        )
+    return response
+
+
+def subscribe_to_newsletter_ajax(request):
+    client_response = HttpResponse()
+    if request.method == "POST":
+        body = json.loads(request.body)
+        response = subscribe_to_newsletter(body["email"], body["list_id"])
+        if "error" in response.json():
+            client_response.status_code = 500
+        else:
+            client_response.status_code = response.status_code
+
+        return client_response
+
+    client_response.status_code = 400
+    return client_response
+
+
+def strip_all_html_tags(value: str):
+    """Drop all HTML tags from given value.
+
+    :param value: string to sanitize
+    """
+    return bleach.clean(value, tags=[], attributes=[], strip=True, strip_comments=True)
+
+
+def trim_to_length(value: str, max_length: int = 150):
+    """Trim value to max length shall it exceed it.
+
+    :param value: input string
+    :param max_length: max allowed length
+    """
+    if len(value) > max_length:
+        return value[:max_length] + "..."
+    return value
diff --git a/shared_legacy/views.py b/shared_legacy/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..e2496f5e0016a56908f4ffd22bcf00708139b30a
--- /dev/null
+++ b/shared_legacy/views.py
@@ -0,0 +1,18 @@
+from django.http import HttpResponse
+from wagtail.models import Site
+
+
+def page_not_found(request, exception=None):
+    try:
+        site = Site.find_for_request(request)
+        root_page = site.root_page.specific
+    except:
+        root_page = None
+
+    if root_page and hasattr(root_page, "get_404_response"):
+        return root_page.get_404_response(request)
+
+    return HttpResponse(
+        "<h1>Stránka nenalezena</h1><a href='/'>pokračovat na úvod</a>",
+        status=404,
+    )
diff --git a/uniweb/constants.py b/uniweb/constants.py
index de8bd7fa7218ae358d77b163cfa8afc7361d097e..fb0ec2ce63647be6c8196cfb24e76717bf4a9372 100644
--- a/uniweb/constants.py
+++ b/uniweb/constants.py
@@ -1,4 +1,4 @@
-from shared.const import RICH_TEXT_DEFAULT_FEATURES
+from shared_legacy.const import RICH_TEXT_DEFAULT_FEATURES
 
 RICH_TEXT_FEATURES = RICH_TEXT_DEFAULT_FEATURES
 
diff --git a/uniweb/migrations/0062_alter_uniwebarticlepage_content_and_more.py b/uniweb/migrations/0062_alter_uniwebarticlepage_content_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..0af0d177a4390a6cc7703758745807d0f475d4f5
--- /dev/null
+++ b/uniweb/migrations/0062_alter_uniwebarticlepage_content_and_more.py
@@ -0,0 +1,61 @@
+# Generated by Django 5.0.4 on 2024-06-05 10:37
+
+import django.db.models.deletion
+import shared_legacy.blocks.base
+import wagtail.blocks
+import wagtail.blocks.static_block
+import wagtail.contrib.table_block.blocks
+import wagtail.fields
+import wagtail.images.blocks
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('calendar_utils', '0004_auto_20220505_1228'),
+        ('uniweb', '0061_alter_uniwebflexiblepage_content_and_more'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='uniwebarticlepage',
+            name='content',
+            field=wagtail.fields.StreamField([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor', template='styleguide2/includes/atoms/text/prose_richtext.html')), ('headline', wagtail.blocks.StructBlock([('headline', wagtail.blocks.CharBlock(label='Nadpis', max_length=300, required=True)), ('tag', wagtail.blocks.ChoiceBlock(choices=[('h1', 'H1'), ('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4'), ('h5', 'H5'), ('h6', 'H6')], help_text='Čím nižší číslo, tím vyšší úroveň.', label='Úroveň nadpisu')), ('style', wagtail.blocks.ChoiceBlock(choices=[('head-alt-xl', 'Velký, Bebas Neue - 6XL'), ('head-alt-lg', 'Střední, Bebas Neue - 4XL'), ('head-alt-md', 'Základní velikost - Roboto - MD'), ('head-alt-sm', 'Malý - Roboto - SM'), ('head-alt-xs', 'Extra malý - Roboto - XS')], help_text='Náhled si prohlédněte na https://styleguide2.pirati.cz/pattern/patterns/atoms/text/headings.html.', label='Velikost')), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))])), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('gallery', wagtail.blocks.StructBlock([('gallery_items', wagtail.blocks.ListBlock(wagtail.images.blocks.ImageChooserBlock(label='obrázek', required=True), group='ostatní', icon='image', label='Galerie'))], label='Galerie')), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('card', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('headline', wagtail.blocks.TextBlock(label='Titulek', required=False)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))])), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce'))], label='Obsah', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))])), ('two_columns', wagtail.blocks.StructBlock([('left_column_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('card', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('headline', wagtail.blocks.TextBlock(label='Titulek', required=False)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))])), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce'))], label='Obsah', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))])), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))])), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce')), ('button', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))])), ('button_group', wagtail.blocks.StructBlock([('buttons', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))]), label='Tlačítka'))]))], label='Obsah levého sloupce', required=True)), ('right_column_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('card', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('headline', wagtail.blocks.TextBlock(label='Titulek', required=False)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))])), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce'))], label='Obsah', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))])), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))])), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce')), ('button', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))])), ('button_group', wagtail.blocks.StructBlock([('buttons', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))]), label='Tlačítka'))]))], label='Obsah pravého sloupce', required=True))])), ('three_columns', wagtail.blocks.StructBlock([('left_column_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('card', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('headline', wagtail.blocks.TextBlock(label='Titulek', required=False)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))])), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce'))], label='Obsah', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))])), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))])), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce')), ('button', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))])), ('button_group', wagtail.blocks.StructBlock([('buttons', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))]), label='Tlačítka'))]))], label='Obsah levého sloupce', required=True)), ('middle_column_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('card', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('headline', wagtail.blocks.TextBlock(label='Titulek', required=False)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))])), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce'))], label='Obsah', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))])), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))])), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce')), ('button', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))])), ('button_group', wagtail.blocks.StructBlock([('buttons', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))]), label='Tlačítka'))]))], label='Obsah prostředního sloupce', required=True)), ('right_column_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('card', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('headline', wagtail.blocks.TextBlock(label='Titulek', required=False)), ('content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Textový editor')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka', template='styleguide2/includes/atoms/table/table.html')), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))])), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce'))], label='Obsah', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))])), ('figure', wagtail.blocks.StructBlock([('img', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=True)), ('caption', wagtail.blocks.TextBlock(label='Popisek', required=False))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))])), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce')), ('button', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))])), ('button_group', wagtail.blocks.StructBlock([('buttons', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))]), label='Tlačítka'))]))], label='Obsah pravého sloupce', required=True))])), ('youtube', wagtail.blocks.StructBlock([('poster_image', wagtail.images.blocks.ImageChooserBlock(help_text='Není třeba vyplňovat, náhled bude dohledán automaticky.', label='Náhled videa (automatické pole)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.', label='Odkaz na video', required=False)), ('video_id', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky načteno z odkazu.', label='ID videa (automatické pole)', required=False))], label='YouTube video')), ('map_point', wagtail.blocks.StructBlock([('lat', wagtail.blocks.DecimalBlock(help_text='Např. 50.04075', label='Zeměpisná šířka')), ('lon', wagtail.blocks.DecimalBlock(help_text='Např. 15.77659', label='Zeměpisná délka')), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva špendlíku (HEX)')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Špendlík na mapě')), ('map_collection', wagtail.blocks.StructBlock([('features', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('description', wagtail.blocks.TextBlock(label='Popisek', required=False)), ('geojson', wagtail.blocks.TextBlock(help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", label='Geodata', required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('hex_color', wagtail.blocks.CharBlock(default='000000', help_text='Zadejte barvu pomocí HEX notace (bez # na začátku).', label='Barva (HEX)'))], required=True), label='Součásti')), ('zoom', wagtail.blocks.IntegerBlock(default=15, label='Výchozí zoom', max_value=18, min_value=1)), ('style', wagtail.blocks.ChoiceBlock(choices=[('osm-mapnik', 'OSM Mapnik'), ('stadia-osm-bright', 'Stadia OSM Bright'), ('stadia-outdoors', 'Stadia Outdoors'), ('mapbox-streets', 'Mapbox Streets'), ('mapbox-outdoors', 'Mapbox Outdoors'), ('mapbox-light', 'Mapbox Light'), ('mapbox-dark', 'Mapbox Dark'), ('mapbox-satellite', 'Mapbox Satellite'), ('mapbox-pirate', 'Mapbox Pirate Theme')], label='Styl')), ('height', wagtail.blocks.IntegerBlock(label='Výška v px', max_value=1000, min_value=100))], label='Mapová kolekce')), ('button', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))])), ('button_group', wagtail.blocks.StructBlock([('buttons', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('color', wagtail.blocks.ChoiceBlock(choices=[('black', 'Černá'), ('white', 'Bílá'), ('pirati-yellow', 'Žlutá'), ('grey-125', 'Světle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'Vínová'), ('red-600', 'Červená')], label='Barva')), ('hoveractive', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.', label='Animovat na hover', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Automaticky'), ('center', 'Na střed')], label='Zarovnání'))]), label='Tlačítka'))]))], blank=True, verbose_name='Článek'),
+        ),
+        migrations.AlterField(
+            model_name='uniwebcalendarpage',
+            name='calendar',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='calendar_utils.calendar'),
+        ),
+        migrations.AlterField(
+            model_name='uniwebflexiblepage',
+            name='content',
+            field=wagtail.fields.StreamField([('title', wagtail.blocks.CharBlock(group='nadpisy', icon='title', label='nadpis', template='uniweb/blocks/title.html')), ('advanced_title', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('title', wagtail.blocks.CharBlock(label='nadpis'))])), ('picture_title', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('title', wagtail.blocks.CharBlock(label='nadpis')), ('picture', wagtail.images.blocks.ImageChooserBlock(help_text='rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)', label='obrázek'))])), ('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], group='texty', label='text', template='uniweb/blocks/text.html')), ('advanced_text', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='text'))])), ('text_columns', wagtail.blocks.StructBlock([('left_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='levý sloupec')), ('right_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='pravý sloupec'))])), ('advanced_text_columns', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('left_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='levý sloupec')), ('right_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='pravý sloupec'))])), ('gallery', wagtail.blocks.ListBlock(wagtail.images.blocks.ImageChooserBlock(label='obrázek'), group='ostatní', icon='image', label='galerie', template='uniweb/blocks/gallery.html')), ('picture_list', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='odstavec'), label='odstavce')), ('picture', wagtail.images.blocks.ImageChooserBlock(help_text='rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)', label='obrázek'))])), ('aligned_table', wagtail.blocks.StructBlock([('alignment', wagtail.blocks.ChoiceBlock(choices=[('left', 'Vlevo'), ('center', 'Vprostřed'), ('right', 'Vpravo'), ('full', 'Celá šířka obrazovky')], label='Zarovnání')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka'))], group='ostatní', template='uniweb/blocks/aligned_table.html')), ('table', wagtail.contrib.table_block.blocks.TableBlock(group='ostatní', label='Tabulka', template='uniweb/blocks/table.html')), ('articles', wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='sekce článků', page_type=['uniweb.UniwebArticlesIndexPage'])), ('lines', wagtail.blocks.IntegerBlock(default=1, help_text='zobrazí se tři články na řádek', label='počet řádků'))])), ('calendar_agenda', wagtail.blocks.StructBlock([('info', wagtail.blocks.static_block.StaticBlock(admin_text='adresa kalendáře se zadává v nastavení hlavní stránky webu', label='volba kalendáře')), ('count', wagtail.blocks.IntegerBlock(default=10, label='maximum událostí k zobrazení')), ('event_type', wagtail.blocks.ChoiceBlock(choices=[('future', 'budoucí'), ('past', 'proběhlé')], label='druh událostí'))])), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(label='Nadpis')), ('url', wagtail.blocks.URLBlock(help_text='Pokud je odkaz vyplněný, není nutno vyplňovat stránku.', label='Odkaz', required=False)), ('page', wagtail.blocks.PageChooserBlock(help_text='Pokud je stránka vyplněná, není nutno vyplňovat odkaz.', label='Stránka', required=False))])), ('chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Název', max_length=120)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Graf se sloupci'), ('horizontalBar', 'Graf s vodorovnými sloupci'), ('pie', 'Koláčový graf'), ('doughnut', 'Donutový graf'), ('polarArea', 'Graf polární oblasti'), ('radar', 'Radarový graf'), ('line', 'Graf s liniemi')], label='Typ')), ('hide_points', wagtail.blocks.BooleanBlock(help_text='Mění vzhled pouze u linových grafů.', label='Schovat body', required=False)), ('local_labels', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(label='Skupina', max_length=40), blank=True, collapsed=True, default=[], label='Místně definované skupiny', required=False)), ('local_datasets', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(label='Označení zdroje dat', max_length=120)), ('data', wagtail.blocks.ListBlock(wagtail.blocks.IntegerBlock(), default=[0], label='Data'))]), blank=True, collapsed=True, default=[], label='Místní zdroje dat', required=False)), ('redmine_issue_datasets', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('projects', wagtail.blocks.MultipleChoiceBlock(choices=shared_legacy.blocks.base.get_redmine_projects, label='Projekty')), ('is_open', wagtail.blocks.BooleanBlock(label='Jen otevřené', required=False)), ('is_closed', wagtail.blocks.BooleanBlock(label='Jen uzavřené', required=False)), ('created_on_min_date', wagtail.blocks.DateBlock(label='Min. datum vytvoření', required=True)), ('created_on_max_date', wagtail.blocks.DateBlock(label='Max. datum vytvoření', required=True)), ('updated_on', wagtail.blocks.CharBlock(help_text='Např. <=2023-01-01. Více informací na pi2.cz/redmine-api', label='Filtr pro datum aktualizace', max_length=128, required=False)), ('issue_label', wagtail.blocks.CharBlock(label='Označení úkolů uvnitř grafu', max_length=128, required=True)), ('split_per_project', wagtail.blocks.BooleanBlock(label='Rozdělit podle projektu', required=False)), ('only_grow', wagtail.blocks.BooleanBlock(label='Pouze růst nahoru', required=False))], label='Redmine úkoly'), blank=True, default=[], help_text='Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.', label='Zdroje dat z Redmine (úkoly)', required=False))], template='uniweb/blocks/chart.html')), ('cards', wagtail.blocks.StructBlock([('cards', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('bg_color', wagtail.blocks.CharBlock(default='FEC900', label='Barva pozadí')), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('title', wagtail.blocks.TextBlock(help_text='Řádkování je manuální.', label='Nadpis')), ('content', wagtail.blocks.RichTextBlock(label='Obsah')), ('button_text', wagtail.blocks.CharBlock(help_text='Pokud není vyplněn, tlačítko se neukáže.', label='Nadpis tlačítka', required=False)), ('button_url', wagtail.blocks.CharBlock(label='Odkaz tlačítka', required=False))], label='Karta'), label='Karty'))], template='uniweb/blocks/flip_cards.html')), ('newsletter', wagtail.blocks.StructBlock([('list_id', wagtail.blocks.CharBlock(label='ID newsletteru', required=True)), ('description', wagtail.blocks.CharBlock(default='Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!', label='Popis newsletteru', required=True))]))], blank=True, verbose_name='obsah stránky'),
+        ),
+        migrations.AlterField(
+            model_name='uniwebformpage',
+            name='content_after',
+            field=wagtail.fields.StreamField([('title', wagtail.blocks.CharBlock(group='nadpisy', icon='title', label='nadpis', template='uniweb/blocks/title.html')), ('advanced_title', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('title', wagtail.blocks.CharBlock(label='nadpis'))])), ('picture_title', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('title', wagtail.blocks.CharBlock(label='nadpis')), ('picture', wagtail.images.blocks.ImageChooserBlock(help_text='rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)', label='obrázek'))])), ('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], group='texty', label='text', template='uniweb/blocks/text.html')), ('advanced_text', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='text'))])), ('text_columns', wagtail.blocks.StructBlock([('left_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='levý sloupec')), ('right_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='pravý sloupec'))])), ('advanced_text_columns', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('left_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='levý sloupec')), ('right_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='pravý sloupec'))])), ('gallery', wagtail.blocks.ListBlock(wagtail.images.blocks.ImageChooserBlock(label='obrázek'), group='ostatní', icon='image', label='galerie', template='uniweb/blocks/gallery.html')), ('picture_list', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='odstavec'), label='odstavce')), ('picture', wagtail.images.blocks.ImageChooserBlock(help_text='rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)', label='obrázek'))])), ('aligned_table', wagtail.blocks.StructBlock([('alignment', wagtail.blocks.ChoiceBlock(choices=[('left', 'Vlevo'), ('center', 'Vprostřed'), ('right', 'Vpravo'), ('full', 'Celá šířka obrazovky')], label='Zarovnání')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka'))], group='ostatní', template='uniweb/blocks/aligned_table.html')), ('table', wagtail.contrib.table_block.blocks.TableBlock(group='ostatní', label='Tabulka', template='uniweb/blocks/table.html')), ('articles', wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='sekce článků', page_type=['uniweb.UniwebArticlesIndexPage'])), ('lines', wagtail.blocks.IntegerBlock(default=1, help_text='zobrazí se tři články na řádek', label='počet řádků'))])), ('calendar_agenda', wagtail.blocks.StructBlock([('info', wagtail.blocks.static_block.StaticBlock(admin_text='adresa kalendáře se zadává v nastavení hlavní stránky webu', label='volba kalendáře')), ('count', wagtail.blocks.IntegerBlock(default=10, label='maximum událostí k zobrazení')), ('event_type', wagtail.blocks.ChoiceBlock(choices=[('future', 'budoucí'), ('past', 'proběhlé')], label='druh událostí'))])), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(label='Nadpis')), ('url', wagtail.blocks.URLBlock(help_text='Pokud je odkaz vyplněný, není nutno vyplňovat stránku.', label='Odkaz', required=False)), ('page', wagtail.blocks.PageChooserBlock(help_text='Pokud je stránka vyplněná, není nutno vyplňovat odkaz.', label='Stránka', required=False))])), ('chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Název', max_length=120)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Graf se sloupci'), ('horizontalBar', 'Graf s vodorovnými sloupci'), ('pie', 'Koláčový graf'), ('doughnut', 'Donutový graf'), ('polarArea', 'Graf polární oblasti'), ('radar', 'Radarový graf'), ('line', 'Graf s liniemi')], label='Typ')), ('hide_points', wagtail.blocks.BooleanBlock(help_text='Mění vzhled pouze u linových grafů.', label='Schovat body', required=False)), ('local_labels', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(label='Skupina', max_length=40), blank=True, collapsed=True, default=[], label='Místně definované skupiny', required=False)), ('local_datasets', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(label='Označení zdroje dat', max_length=120)), ('data', wagtail.blocks.ListBlock(wagtail.blocks.IntegerBlock(), default=[0], label='Data'))]), blank=True, collapsed=True, default=[], label='Místní zdroje dat', required=False)), ('redmine_issue_datasets', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('projects', wagtail.blocks.MultipleChoiceBlock(choices=shared_legacy.blocks.base.get_redmine_projects, label='Projekty')), ('is_open', wagtail.blocks.BooleanBlock(label='Jen otevřené', required=False)), ('is_closed', wagtail.blocks.BooleanBlock(label='Jen uzavřené', required=False)), ('created_on_min_date', wagtail.blocks.DateBlock(label='Min. datum vytvoření', required=True)), ('created_on_max_date', wagtail.blocks.DateBlock(label='Max. datum vytvoření', required=True)), ('updated_on', wagtail.blocks.CharBlock(help_text='Např. <=2023-01-01. Více informací na pi2.cz/redmine-api', label='Filtr pro datum aktualizace', max_length=128, required=False)), ('issue_label', wagtail.blocks.CharBlock(label='Označení úkolů uvnitř grafu', max_length=128, required=True)), ('split_per_project', wagtail.blocks.BooleanBlock(label='Rozdělit podle projektu', required=False)), ('only_grow', wagtail.blocks.BooleanBlock(label='Pouze růst nahoru', required=False))], label='Redmine úkoly'), blank=True, default=[], help_text='Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.', label='Zdroje dat z Redmine (úkoly)', required=False))], template='uniweb/blocks/chart.html')), ('cards', wagtail.blocks.StructBlock([('cards', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('bg_color', wagtail.blocks.CharBlock(default='FEC900', label='Barva pozadí')), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('title', wagtail.blocks.TextBlock(help_text='Řádkování je manuální.', label='Nadpis')), ('content', wagtail.blocks.RichTextBlock(label='Obsah')), ('button_text', wagtail.blocks.CharBlock(help_text='Pokud není vyplněn, tlačítko se neukáže.', label='Nadpis tlačítka', required=False)), ('button_url', wagtail.blocks.CharBlock(label='Odkaz tlačítka', required=False))], label='Karta'), label='Karty'))], template='uniweb/blocks/flip_cards.html'))], blank=True, verbose_name='obsah stránky za formulářem'),
+        ),
+        migrations.AlterField(
+            model_name='uniwebformpage',
+            name='content_before',
+            field=wagtail.fields.StreamField([('title', wagtail.blocks.CharBlock(group='nadpisy', icon='title', label='nadpis', template='uniweb/blocks/title.html')), ('advanced_title', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('title', wagtail.blocks.CharBlock(label='nadpis'))])), ('picture_title', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('title', wagtail.blocks.CharBlock(label='nadpis')), ('picture', wagtail.images.blocks.ImageChooserBlock(help_text='rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)', label='obrázek'))])), ('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], group='texty', label='text', template='uniweb/blocks/text.html')), ('advanced_text', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='text'))])), ('text_columns', wagtail.blocks.StructBlock([('left_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='levý sloupec')), ('right_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='pravý sloupec'))])), ('advanced_text_columns', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('left_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='levý sloupec')), ('right_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='pravý sloupec'))])), ('gallery', wagtail.blocks.ListBlock(wagtail.images.blocks.ImageChooserBlock(label='obrázek'), group='ostatní', icon='image', label='galerie', template='uniweb/blocks/gallery.html')), ('picture_list', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='odstavec'), label='odstavce')), ('picture', wagtail.images.blocks.ImageChooserBlock(help_text='rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)', label='obrázek'))])), ('aligned_table', wagtail.blocks.StructBlock([('alignment', wagtail.blocks.ChoiceBlock(choices=[('left', 'Vlevo'), ('center', 'Vprostřed'), ('right', 'Vpravo'), ('full', 'Celá šířka obrazovky')], label='Zarovnání')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka'))], group='ostatní', template='uniweb/blocks/aligned_table.html')), ('table', wagtail.contrib.table_block.blocks.TableBlock(group='ostatní', label='Tabulka', template='uniweb/blocks/table.html')), ('articles', wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='sekce článků', page_type=['uniweb.UniwebArticlesIndexPage'])), ('lines', wagtail.blocks.IntegerBlock(default=1, help_text='zobrazí se tři články na řádek', label='počet řádků'))])), ('calendar_agenda', wagtail.blocks.StructBlock([('info', wagtail.blocks.static_block.StaticBlock(admin_text='adresa kalendáře se zadává v nastavení hlavní stránky webu', label='volba kalendáře')), ('count', wagtail.blocks.IntegerBlock(default=10, label='maximum událostí k zobrazení')), ('event_type', wagtail.blocks.ChoiceBlock(choices=[('future', 'budoucí'), ('past', 'proběhlé')], label='druh událostí'))])), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(label='Nadpis')), ('url', wagtail.blocks.URLBlock(help_text='Pokud je odkaz vyplněný, není nutno vyplňovat stránku.', label='Odkaz', required=False)), ('page', wagtail.blocks.PageChooserBlock(help_text='Pokud je stránka vyplněná, není nutno vyplňovat odkaz.', label='Stránka', required=False))])), ('chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Název', max_length=120)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Graf se sloupci'), ('horizontalBar', 'Graf s vodorovnými sloupci'), ('pie', 'Koláčový graf'), ('doughnut', 'Donutový graf'), ('polarArea', 'Graf polární oblasti'), ('radar', 'Radarový graf'), ('line', 'Graf s liniemi')], label='Typ')), ('hide_points', wagtail.blocks.BooleanBlock(help_text='Mění vzhled pouze u linových grafů.', label='Schovat body', required=False)), ('local_labels', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(label='Skupina', max_length=40), blank=True, collapsed=True, default=[], label='Místně definované skupiny', required=False)), ('local_datasets', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(label='Označení zdroje dat', max_length=120)), ('data', wagtail.blocks.ListBlock(wagtail.blocks.IntegerBlock(), default=[0], label='Data'))]), blank=True, collapsed=True, default=[], label='Místní zdroje dat', required=False)), ('redmine_issue_datasets', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('projects', wagtail.blocks.MultipleChoiceBlock(choices=shared_legacy.blocks.base.get_redmine_projects, label='Projekty')), ('is_open', wagtail.blocks.BooleanBlock(label='Jen otevřené', required=False)), ('is_closed', wagtail.blocks.BooleanBlock(label='Jen uzavřené', required=False)), ('created_on_min_date', wagtail.blocks.DateBlock(label='Min. datum vytvoření', required=True)), ('created_on_max_date', wagtail.blocks.DateBlock(label='Max. datum vytvoření', required=True)), ('updated_on', wagtail.blocks.CharBlock(help_text='Např. <=2023-01-01. Více informací na pi2.cz/redmine-api', label='Filtr pro datum aktualizace', max_length=128, required=False)), ('issue_label', wagtail.blocks.CharBlock(label='Označení úkolů uvnitř grafu', max_length=128, required=True)), ('split_per_project', wagtail.blocks.BooleanBlock(label='Rozdělit podle projektu', required=False)), ('only_grow', wagtail.blocks.BooleanBlock(label='Pouze růst nahoru', required=False))], label='Redmine úkoly'), blank=True, default=[], help_text='Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.', label='Zdroje dat z Redmine (úkoly)', required=False))], template='uniweb/blocks/chart.html')), ('cards', wagtail.blocks.StructBlock([('cards', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('bg_color', wagtail.blocks.CharBlock(default='FEC900', label='Barva pozadí')), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('title', wagtail.blocks.TextBlock(help_text='Řádkování je manuální.', label='Nadpis')), ('content', wagtail.blocks.RichTextBlock(label='Obsah')), ('button_text', wagtail.blocks.CharBlock(help_text='Pokud není vyplněn, tlačítko se neukáže.', label='Nadpis tlačítka', required=False)), ('button_url', wagtail.blocks.CharBlock(label='Odkaz tlačítka', required=False))], label='Karta'), label='Karty'))], template='uniweb/blocks/flip_cards.html'))], blank=True, verbose_name='obsah stránky před formulářem'),
+        ),
+        migrations.AlterField(
+            model_name='uniwebformpage',
+            name='content_landing',
+            field=wagtail.fields.StreamField([('title', wagtail.blocks.CharBlock(group='nadpisy', icon='title', label='nadpis', template='uniweb/blocks/title.html')), ('advanced_title', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('title', wagtail.blocks.CharBlock(label='nadpis'))])), ('picture_title', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('title', wagtail.blocks.CharBlock(label='nadpis')), ('picture', wagtail.images.blocks.ImageChooserBlock(help_text='rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)', label='obrázek'))])), ('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], group='texty', label='text', template='uniweb/blocks/text.html')), ('advanced_text', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='text'))])), ('text_columns', wagtail.blocks.StructBlock([('left_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='levý sloupec')), ('right_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='pravý sloupec'))])), ('advanced_text_columns', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('left_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='levý sloupec')), ('right_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='pravý sloupec'))])), ('gallery', wagtail.blocks.ListBlock(wagtail.images.blocks.ImageChooserBlock(label='obrázek'), group='ostatní', icon='image', label='galerie', template='uniweb/blocks/gallery.html')), ('picture_list', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='odstavec'), label='odstavce')), ('picture', wagtail.images.blocks.ImageChooserBlock(help_text='rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)', label='obrázek'))])), ('aligned_table', wagtail.blocks.StructBlock([('alignment', wagtail.blocks.ChoiceBlock(choices=[('left', 'Vlevo'), ('center', 'Vprostřed'), ('right', 'Vpravo'), ('full', 'Celá šířka obrazovky')], label='Zarovnání')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka'))], group='ostatní', template='uniweb/blocks/aligned_table.html')), ('table', wagtail.contrib.table_block.blocks.TableBlock(group='ostatní', label='Tabulka', template='uniweb/blocks/table.html')), ('articles', wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='sekce článků', page_type=['uniweb.UniwebArticlesIndexPage'])), ('lines', wagtail.blocks.IntegerBlock(default=1, help_text='zobrazí se tři články na řádek', label='počet řádků'))])), ('calendar_agenda', wagtail.blocks.StructBlock([('info', wagtail.blocks.static_block.StaticBlock(admin_text='adresa kalendáře se zadává v nastavení hlavní stránky webu', label='volba kalendáře')), ('count', wagtail.blocks.IntegerBlock(default=10, label='maximum událostí k zobrazení')), ('event_type', wagtail.blocks.ChoiceBlock(choices=[('future', 'budoucí'), ('past', 'proběhlé')], label='druh událostí'))])), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(label='Nadpis')), ('url', wagtail.blocks.URLBlock(help_text='Pokud je odkaz vyplněný, není nutno vyplňovat stránku.', label='Odkaz', required=False)), ('page', wagtail.blocks.PageChooserBlock(help_text='Pokud je stránka vyplněná, není nutno vyplňovat odkaz.', label='Stránka', required=False))])), ('chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Název', max_length=120)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Graf se sloupci'), ('horizontalBar', 'Graf s vodorovnými sloupci'), ('pie', 'Koláčový graf'), ('doughnut', 'Donutový graf'), ('polarArea', 'Graf polární oblasti'), ('radar', 'Radarový graf'), ('line', 'Graf s liniemi')], label='Typ')), ('hide_points', wagtail.blocks.BooleanBlock(help_text='Mění vzhled pouze u linových grafů.', label='Schovat body', required=False)), ('local_labels', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(label='Skupina', max_length=40), blank=True, collapsed=True, default=[], label='Místně definované skupiny', required=False)), ('local_datasets', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(label='Označení zdroje dat', max_length=120)), ('data', wagtail.blocks.ListBlock(wagtail.blocks.IntegerBlock(), default=[0], label='Data'))]), blank=True, collapsed=True, default=[], label='Místní zdroje dat', required=False)), ('redmine_issue_datasets', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('projects', wagtail.blocks.MultipleChoiceBlock(choices=shared_legacy.blocks.base.get_redmine_projects, label='Projekty')), ('is_open', wagtail.blocks.BooleanBlock(label='Jen otevřené', required=False)), ('is_closed', wagtail.blocks.BooleanBlock(label='Jen uzavřené', required=False)), ('created_on_min_date', wagtail.blocks.DateBlock(label='Min. datum vytvoření', required=True)), ('created_on_max_date', wagtail.blocks.DateBlock(label='Max. datum vytvoření', required=True)), ('updated_on', wagtail.blocks.CharBlock(help_text='Např. <=2023-01-01. Více informací na pi2.cz/redmine-api', label='Filtr pro datum aktualizace', max_length=128, required=False)), ('issue_label', wagtail.blocks.CharBlock(label='Označení úkolů uvnitř grafu', max_length=128, required=True)), ('split_per_project', wagtail.blocks.BooleanBlock(label='Rozdělit podle projektu', required=False)), ('only_grow', wagtail.blocks.BooleanBlock(label='Pouze růst nahoru', required=False))], label='Redmine úkoly'), blank=True, default=[], help_text='Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.', label='Zdroje dat z Redmine (úkoly)', required=False))], template='uniweb/blocks/chart.html')), ('cards', wagtail.blocks.StructBlock([('cards', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('bg_color', wagtail.blocks.CharBlock(default='FEC900', label='Barva pozadí')), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('title', wagtail.blocks.TextBlock(help_text='Řádkování je manuální.', label='Nadpis')), ('content', wagtail.blocks.RichTextBlock(label='Obsah')), ('button_text', wagtail.blocks.CharBlock(help_text='Pokud není vyplněn, tlačítko se neukáže.', label='Nadpis tlačítka', required=False)), ('button_url', wagtail.blocks.CharBlock(label='Odkaz tlačítka', required=False))], label='Karta'), label='Karty'))], template='uniweb/blocks/flip_cards.html'))], blank=True, verbose_name='obsah stránky zobrazené po odeslání formuláře'),
+        ),
+        migrations.AlterField(
+            model_name='uniwebhomepage',
+            name='calendar',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='calendar_utils.calendar'),
+        ),
+        migrations.AlterField(
+            model_name='uniwebhomepage',
+            name='content',
+            field=wagtail.fields.StreamField([('title', wagtail.blocks.CharBlock(group='nadpisy', icon='title', label='nadpis', template='uniweb/blocks/title.html')), ('advanced_title', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('title', wagtail.blocks.CharBlock(label='nadpis'))])), ('picture_title', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('title', wagtail.blocks.CharBlock(label='nadpis')), ('picture', wagtail.images.blocks.ImageChooserBlock(help_text='rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)', label='obrázek'))])), ('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], group='texty', label='text', template='uniweb/blocks/text.html')), ('advanced_text', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='text'))])), ('text_columns', wagtail.blocks.StructBlock([('left_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='levý sloupec')), ('right_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='pravý sloupec'))])), ('advanced_text_columns', wagtail.blocks.StructBlock([('align', wagtail.blocks.ChoiceBlock(choices=[('left', 'vlevo'), ('center', 'uprostřed'), ('right', 'vpravo')], label='zarovnání')), ('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('left_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='levý sloupec')), ('right_text', wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='pravý sloupec'))])), ('gallery', wagtail.blocks.ListBlock(wagtail.images.blocks.ImageChooserBlock(label='obrázek'), group='ostatní', icon='image', label='galerie', template='uniweb/blocks/gallery.html')), ('picture_list', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('black_on_white', 'černá na bílé'), ('black_on_yellow', 'černá na žluté'), ('white_on_black', 'bílá na černé'), ('white_on_blue', 'bílá na modré'), ('white_on_cyan', 'bílá na tyrkysové'), ('white_on_violet', 'bílá na fialové')], label='barva')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.RichTextBlock(features=['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='odstavec'), label='odstavce')), ('picture', wagtail.images.blocks.ImageChooserBlock(help_text='rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)', label='obrázek'))])), ('aligned_table', wagtail.blocks.StructBlock([('alignment', wagtail.blocks.ChoiceBlock(choices=[('left', 'Vlevo'), ('center', 'Vprostřed'), ('right', 'Vpravo'), ('full', 'Celá šířka obrazovky')], label='Zarovnání')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Tabulka'))], group='ostatní', template='uniweb/blocks/aligned_table.html')), ('table', wagtail.contrib.table_block.blocks.TableBlock(group='ostatní', label='Tabulka', template='uniweb/blocks/table.html')), ('articles', wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='sekce článků', page_type=['uniweb.UniwebArticlesIndexPage'])), ('lines', wagtail.blocks.IntegerBlock(default=1, help_text='zobrazí se tři články na řádek', label='počet řádků'))])), ('calendar_agenda', wagtail.blocks.StructBlock([('info', wagtail.blocks.static_block.StaticBlock(admin_text='adresa kalendáře se zadává v nastavení hlavní stránky webu', label='volba kalendáře')), ('count', wagtail.blocks.IntegerBlock(default=10, label='maximum událostí k zobrazení')), ('event_type', wagtail.blocks.ChoiceBlock(choices=[('future', 'budoucí'), ('past', 'proběhlé')], label='druh událostí'))])), ('button', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(label='Nadpis')), ('url', wagtail.blocks.URLBlock(help_text='Pokud je odkaz vyplněný, není nutno vyplňovat stránku.', label='Odkaz', required=False)), ('page', wagtail.blocks.PageChooserBlock(help_text='Pokud je stránka vyplněná, není nutno vyplňovat odkaz.', label='Stránka', required=False))])), ('chart', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Název', max_length=120)), ('chart_type', wagtail.blocks.ChoiceBlock(choices=[('bar', 'Graf se sloupci'), ('horizontalBar', 'Graf s vodorovnými sloupci'), ('pie', 'Koláčový graf'), ('doughnut', 'Donutový graf'), ('polarArea', 'Graf polární oblasti'), ('radar', 'Radarový graf'), ('line', 'Graf s liniemi')], label='Typ')), ('hide_points', wagtail.blocks.BooleanBlock(help_text='Mění vzhled pouze u linových grafů.', label='Schovat body', required=False)), ('local_labels', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(label='Skupina', max_length=40), blank=True, collapsed=True, default=[], label='Místně definované skupiny', required=False)), ('local_datasets', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(label='Označení zdroje dat', max_length=120)), ('data', wagtail.blocks.ListBlock(wagtail.blocks.IntegerBlock(), default=[0], label='Data'))]), blank=True, collapsed=True, default=[], label='Místní zdroje dat', required=False)), ('redmine_issue_datasets', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('projects', wagtail.blocks.MultipleChoiceBlock(choices=shared_legacy.blocks.base.get_redmine_projects, label='Projekty')), ('is_open', wagtail.blocks.BooleanBlock(label='Jen otevřené', required=False)), ('is_closed', wagtail.blocks.BooleanBlock(label='Jen uzavřené', required=False)), ('created_on_min_date', wagtail.blocks.DateBlock(label='Min. datum vytvoření', required=True)), ('created_on_max_date', wagtail.blocks.DateBlock(label='Max. datum vytvoření', required=True)), ('updated_on', wagtail.blocks.CharBlock(help_text='Např. <=2023-01-01. Více informací na pi2.cz/redmine-api', label='Filtr pro datum aktualizace', max_length=128, required=False)), ('issue_label', wagtail.blocks.CharBlock(label='Označení úkolů uvnitř grafu', max_length=128, required=True)), ('split_per_project', wagtail.blocks.BooleanBlock(label='Rozdělit podle projektu', required=False)), ('only_grow', wagtail.blocks.BooleanBlock(label='Pouze růst nahoru', required=False))], label='Redmine úkoly'), blank=True, default=[], help_text='Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.', label='Zdroje dat z Redmine (úkoly)', required=False))], template='uniweb/blocks/chart.html')), ('cards', wagtail.blocks.StructBlock([('cards', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('bg_color', wagtail.blocks.CharBlock(default='FEC900', label='Barva pozadí')), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek', required=False)), ('title', wagtail.blocks.TextBlock(help_text='Řádkování je manuální.', label='Nadpis')), ('content', wagtail.blocks.RichTextBlock(label='Obsah')), ('button_text', wagtail.blocks.CharBlock(help_text='Pokud není vyplněn, tlačítko se neukáže.', label='Nadpis tlačítka', required=False)), ('button_url', wagtail.blocks.CharBlock(label='Odkaz tlačítka', required=False))], label='Karta'), label='Karty'))], template='uniweb/blocks/flip_cards.html')), ('newsletter', wagtail.blocks.StructBlock([('list_id', wagtail.blocks.CharBlock(label='ID newsletteru', required=True)), ('description', wagtail.blocks.CharBlock(default='Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!', label='Popis newsletteru', required=True))]))], blank=True, verbose_name='obsah stránky'),
+        ),
+    ]
diff --git a/uniweb/migrations/0062_alter_uniwebcalendarpage_calendar_and_more.py b/uniweb/migrations/0062_alter_uniwebcalendarpage_calendar_and_more.py
deleted file mode 100644
index 239102ea6314d813467195317902de94e4e28b0b..0000000000000000000000000000000000000000
--- a/uniweb/migrations/0062_alter_uniwebcalendarpage_calendar_and_more.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# Generated by Django 5.0.4 on 2024-05-06 10:34
-
-import django.db.models.deletion
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-    dependencies = [
-        ("calendar_utils", "0004_auto_20220505_1228"),
-        ("uniweb", "0061_alter_uniwebflexiblepage_content_and_more"),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name="uniwebcalendarpage",
-            name="calendar",
-            field=models.ForeignKey(
-                blank=True,
-                null=True,
-                on_delete=django.db.models.deletion.SET_NULL,
-                to="calendar_utils.calendar",
-            ),
-        ),
-        migrations.AlterField(
-            model_name="uniwebhomepage",
-            name="calendar",
-            field=models.ForeignKey(
-                blank=True,
-                null=True,
-                on_delete=django.db.models.deletion.SET_NULL,
-                to="calendar_utils.calendar",
-            ),
-        ),
-    ]
diff --git a/uniweb/migrations/0063_alter_uniwebarticlepage_content.py b/uniweb/migrations/0063_alter_uniwebarticlepage_content.py
deleted file mode 100644
index a5cf14d54438c7475b680d9a74b26b86d6a4655a..0000000000000000000000000000000000000000
--- a/uniweb/migrations/0063_alter_uniwebarticlepage_content.py
+++ /dev/null
@@ -1,5849 +0,0 @@
-# Generated by Django 5.0.4 on 2024-05-21 11:30
-
-import wagtail.blocks
-import wagtail.contrib.table_block.blocks
-import wagtail.fields
-import wagtail.images.blocks
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-    dependencies = [
-        ("uniweb", "0062_alter_uniwebcalendarpage_calendar_and_more"),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name="uniwebarticlepage",
-            name="content",
-            field=wagtail.fields.StreamField(
-                [
-                    (
-                        "text",
-                        wagtail.blocks.RichTextBlock(
-                            features=[
-                                "h2",
-                                "h3",
-                                "h4",
-                                "h5",
-                                "bold",
-                                "italic",
-                                "ol",
-                                "ul",
-                                "hr",
-                                "link",
-                                "document-link",
-                                "image",
-                                "superscript",
-                                "subscript",
-                                "strikethrough",
-                                "blockquote",
-                                "embed",
-                            ],
-                            label="Textový editor",
-                            template="styleguide2/includes/atoms/text/prose_richtext.html",
-                        ),
-                    ),
-                    (
-                        "headline",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "headline",
-                                    wagtail.blocks.CharBlock(
-                                        label="Nadpis", max_length=300, required=True
-                                    ),
-                                ),
-                                (
-                                    "tag",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("h1", "H1"),
-                                            ("h2", "H2"),
-                                            ("h3", "H3"),
-                                            ("h4", "H4"),
-                                            ("h5", "H5"),
-                                            ("h6", "H6"),
-                                        ],
-                                        help_text="Čím nižší číslo, tím vyšší úroveň.",
-                                        label="Úroveň nadpisu",
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("head-alt-xl", "Velký, Bebas Neue - 6XL"),
-                                            (
-                                                "head-alt-lg",
-                                                "Střední, Bebas Neue - 4XL",
-                                            ),
-                                            (
-                                                "head-alt-md",
-                                                "Základní velikost - Roboto - MD",
-                                            ),
-                                            ("head-alt-sm", "Malý - Roboto - SM"),
-                                            ("head-alt-xs", "Extra malý - Roboto - XS"),
-                                        ],
-                                        help_text="Náhled si prohlédněte na https://styleguide2.pirati.cz/pattern/patterns/atoms/text/headings.html.",
-                                        label="Velikost",
-                                    ),
-                                ),
-                                (
-                                    "align",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("auto", "Automaticky"),
-                                            ("center", "Na střed"),
-                                        ],
-                                        label="Zarovnání",
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "table",
-                        wagtail.contrib.table_block.blocks.TableBlock(
-                            template="shared/blocks/table_block.html"
-                        ),
-                    ),
-                    (
-                        "gallery",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "gallery_items",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.images.blocks.ImageChooserBlock(
-                                            label="obrázek", required=True
-                                        ),
-                                        group="ostatní",
-                                        icon="image",
-                                        label="Galerie",
-                                    ),
-                                )
-                            ],
-                            label="Galerie",
-                        ),
-                    ),
-                    (
-                        "figure",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "img",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        label="Obrázek", required=True
-                                    ),
-                                ),
-                                (
-                                    "caption",
-                                    wagtail.blocks.TextBlock(
-                                        label="Popisek", required=False
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "card",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "img",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        label="Obrázek", required=False
-                                    ),
-                                ),
-                                (
-                                    "elevation",
-                                    wagtail.blocks.IntegerBlock(
-                                        default=2,
-                                        help_text="0 = žádný stín, 21 = maximální stín",
-                                        label="Velikost stínu",
-                                        max_value=21,
-                                        min_value=0,
-                                    ),
-                                ),
-                                (
-                                    "headline",
-                                    wagtail.blocks.TextBlock(
-                                        label="Titulek", required=False
-                                    ),
-                                ),
-                                (
-                                    "hoveractive",
-                                    wagtail.blocks.BooleanBlock(
-                                        default=False,
-                                        help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                        label="Zvýraznit stín na hover",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "page",
-                                    wagtail.blocks.PageChooserBlock(
-                                        label="Stránka", required=False
-                                    ),
-                                ),
-                                (
-                                    "link",
-                                    wagtail.blocks.URLBlock(
-                                        label="Odkaz", required=False
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "two_columns",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "left_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "elevation",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=2,
-                                                                help_text="0 = žádný stín, 21 = maximální stín",
-                                                                label="Velikost stínu",
-                                                                max_value=21,
-                                                                min_value=0,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=False,
-                                                                help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                                                label="Zvýraznit stín na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            template="shared/blocks/table_block.html"
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "icon",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                label="Ikonka",
-                                                                max_length=128,
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "size",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("sm", "Malá"),
-                                                                    ("base", "Střední"),
-                                                                    ("lg", "Velká"),
-                                                                ],
-                                                                label="Velikost",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelené",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "mobile_fullwidth",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                label="Plná šířka na mobilních zařízeních",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "icon",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                                label="Ikonka",
-                                                                                max_length=128,
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "size",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "sm",
-                                                                                        "Malá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "base",
-                                                                                        "Střední",
-                                                                                    ),
-                                                                                    (
-                                                                                        "lg",
-                                                                                        "Velká",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Velikost",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelené",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "mobile_fullwidth",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                                label="Plná šířka na mobilních zařízeních",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah levého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "right_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "elevation",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=2,
-                                                                help_text="0 = žádný stín, 21 = maximální stín",
-                                                                label="Velikost stínu",
-                                                                max_value=21,
-                                                                min_value=0,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=False,
-                                                                help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                                                label="Zvýraznit stín na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            template="shared/blocks/table_block.html"
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "icon",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                label="Ikonka",
-                                                                max_length=128,
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "size",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("sm", "Malá"),
-                                                                    ("base", "Střední"),
-                                                                    ("lg", "Velká"),
-                                                                ],
-                                                                label="Velikost",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelené",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "mobile_fullwidth",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                label="Plná šířka na mobilních zařízeních",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "icon",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                                label="Ikonka",
-                                                                                max_length=128,
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "size",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "sm",
-                                                                                        "Malá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "base",
-                                                                                        "Střední",
-                                                                                    ),
-                                                                                    (
-                                                                                        "lg",
-                                                                                        "Velká",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Velikost",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelené",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "mobile_fullwidth",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                                label="Plná šířka na mobilních zařízeních",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah pravého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "three_columns",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "left_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "elevation",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=2,
-                                                                help_text="0 = žádný stín, 21 = maximální stín",
-                                                                label="Velikost stínu",
-                                                                max_value=21,
-                                                                min_value=0,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=False,
-                                                                help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                                                label="Zvýraznit stín na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            template="shared/blocks/table_block.html"
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "icon",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                label="Ikonka",
-                                                                max_length=128,
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "size",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("sm", "Malá"),
-                                                                    ("base", "Střední"),
-                                                                    ("lg", "Velká"),
-                                                                ],
-                                                                label="Velikost",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelené",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "mobile_fullwidth",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                label="Plná šířka na mobilních zařízeních",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "icon",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                                label="Ikonka",
-                                                                                max_length=128,
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "size",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "sm",
-                                                                                        "Malá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "base",
-                                                                                        "Střední",
-                                                                                    ),
-                                                                                    (
-                                                                                        "lg",
-                                                                                        "Velká",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Velikost",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelené",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "mobile_fullwidth",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                                label="Plná šířka na mobilních zařízeních",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah levého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "middle_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "elevation",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=2,
-                                                                help_text="0 = žádný stín, 21 = maximální stín",
-                                                                label="Velikost stínu",
-                                                                max_value=21,
-                                                                min_value=0,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=False,
-                                                                help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                                                label="Zvýraznit stín na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            template="shared/blocks/table_block.html"
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "icon",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                label="Ikonka",
-                                                                max_length=128,
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "size",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("sm", "Malá"),
-                                                                    ("base", "Střední"),
-                                                                    ("lg", "Velká"),
-                                                                ],
-                                                                label="Velikost",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelené",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "mobile_fullwidth",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                label="Plná šířka na mobilních zařízeních",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "icon",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                                label="Ikonka",
-                                                                                max_length=128,
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "size",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "sm",
-                                                                                        "Malá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "base",
-                                                                                        "Střední",
-                                                                                    ),
-                                                                                    (
-                                                                                        "lg",
-                                                                                        "Velká",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Velikost",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelené",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "mobile_fullwidth",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                                label="Plná šířka na mobilních zařízeních",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah prostředního sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "right_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "elevation",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=2,
-                                                                help_text="0 = žádný stín, 21 = maximální stín",
-                                                                label="Velikost stínu",
-                                                                max_value=21,
-                                                                min_value=0,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=False,
-                                                                help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                                                label="Zvýraznit stín na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            template="shared/blocks/table_block.html"
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "icon",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                label="Ikonka",
-                                                                max_length=128,
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "size",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("sm", "Malá"),
-                                                                    ("base", "Střední"),
-                                                                    ("lg", "Velká"),
-                                                                ],
-                                                                label="Velikost",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelené",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "mobile_fullwidth",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                label="Plná šířka na mobilních zařízeních",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "icon",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                                label="Ikonka",
-                                                                                max_length=128,
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "size",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "sm",
-                                                                                        "Malá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "base",
-                                                                                        "Střední",
-                                                                                    ),
-                                                                                    (
-                                                                                        "lg",
-                                                                                        "Velká",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Velikost",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelené",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "mobile_fullwidth",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                                label="Plná šířka na mobilních zařízeních",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah pravého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "youtube",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "poster_image",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                        label="Náhled videa (automatické pole)",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "video_url",
-                                    wagtail.blocks.URLBlock(
-                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                        label="Odkaz na video",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "video_id",
-                                    wagtail.blocks.CharBlock(
-                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                        label="ID videa (automatické pole)",
-                                        required=False,
-                                    ),
-                                ),
-                            ],
-                            label="YouTube video",
-                        ),
-                    ),
-                    (
-                        "map_point",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "lat",
-                                    wagtail.blocks.DecimalBlock(
-                                        help_text="Např. 50.04075",
-                                        label="Zeměpisná šířka",
-                                    ),
-                                ),
-                                (
-                                    "lon",
-                                    wagtail.blocks.DecimalBlock(
-                                        help_text="Např. 15.77659",
-                                        label="Zeměpisná délka",
-                                    ),
-                                ),
-                                (
-                                    "hex_color",
-                                    wagtail.blocks.CharBlock(
-                                        default="000000",
-                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                        label="Barva špendlíku (HEX)",
-                                    ),
-                                ),
-                                (
-                                    "zoom",
-                                    wagtail.blocks.IntegerBlock(
-                                        default=15,
-                                        label="Výchozí zoom",
-                                        max_value=18,
-                                        min_value=1,
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("osm-mapnik", "OSM Mapnik"),
-                                            ("stadia-osm-bright", "Stadia OSM Bright"),
-                                            ("stadia-outdoors", "Stadia Outdoors"),
-                                            ("mapbox-streets", "Mapbox Streets"),
-                                            ("mapbox-outdoors", "Mapbox Outdoors"),
-                                            ("mapbox-light", "Mapbox Light"),
-                                            ("mapbox-dark", "Mapbox Dark"),
-                                            ("mapbox-satellite", "Mapbox Satellite"),
-                                            ("mapbox-pirate", "Mapbox Pirate Theme"),
-                                        ],
-                                        label="Styl",
-                                    ),
-                                ),
-                                (
-                                    "height",
-                                    wagtail.blocks.IntegerBlock(
-                                        label="Výška v px",
-                                        max_value=1000,
-                                        min_value=100,
-                                    ),
-                                ),
-                            ],
-                            label="Špendlík na mapě",
-                        ),
-                    ),
-                    (
-                        "map_collection",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "features",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.blocks.StructBlock(
-                                            [
-                                                (
-                                                    "title",
-                                                    wagtail.blocks.CharBlock(
-                                                        label="Titulek", required=True
-                                                    ),
-                                                ),
-                                                (
-                                                    "description",
-                                                    wagtail.blocks.TextBlock(
-                                                        label="Popisek", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "geojson",
-                                                    wagtail.blocks.TextBlock(
-                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                        label="Geodata",
-                                                        required=True,
-                                                    ),
-                                                ),
-                                                (
-                                                    "image",
-                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                        label="Obrázek", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "link",
-                                                    wagtail.blocks.URLBlock(
-                                                        label="Odkaz", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "hex_color",
-                                                    wagtail.blocks.CharBlock(
-                                                        default="000000",
-                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                        label="Barva (HEX)",
-                                                    ),
-                                                ),
-                                            ],
-                                            required=True,
-                                        ),
-                                        label="Součásti",
-                                    ),
-                                ),
-                                (
-                                    "zoom",
-                                    wagtail.blocks.IntegerBlock(
-                                        default=15,
-                                        label="Výchozí zoom",
-                                        max_value=18,
-                                        min_value=1,
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("osm-mapnik", "OSM Mapnik"),
-                                            ("stadia-osm-bright", "Stadia OSM Bright"),
-                                            ("stadia-outdoors", "Stadia Outdoors"),
-                                            ("mapbox-streets", "Mapbox Streets"),
-                                            ("mapbox-outdoors", "Mapbox Outdoors"),
-                                            ("mapbox-light", "Mapbox Light"),
-                                            ("mapbox-dark", "Mapbox Dark"),
-                                            ("mapbox-satellite", "Mapbox Satellite"),
-                                            ("mapbox-pirate", "Mapbox Pirate Theme"),
-                                        ],
-                                        label="Styl",
-                                    ),
-                                ),
-                                (
-                                    "height",
-                                    wagtail.blocks.IntegerBlock(
-                                        label="Výška v px",
-                                        max_value=1000,
-                                        min_value=100,
-                                    ),
-                                ),
-                            ],
-                            label="Mapová kolekce",
-                        ),
-                    ),
-                    (
-                        "button",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "title",
-                                    wagtail.blocks.CharBlock(
-                                        label="Titulek", max_length=128, required=True
-                                    ),
-                                ),
-                                (
-                                    "icon",
-                                    wagtail.blocks.CharBlock(
-                                        help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                        label="Ikonka",
-                                        max_length=128,
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "size",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("sm", "Malá"),
-                                            ("base", "Střední"),
-                                            ("lg", "Velká"),
-                                        ],
-                                        label="Velikost",
-                                    ),
-                                ),
-                                (
-                                    "color",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("black", "Černá"),
-                                            ("white", "Bílá"),
-                                            ("grey-125", "Světle šedá"),
-                                            ("blue-300", "Modrá"),
-                                            ("cyan-200", "Tyrkysová"),
-                                            ("green-400", "Zelené"),
-                                            ("violet-400", "Vínová"),
-                                            ("red-600", "Červená"),
-                                        ],
-                                        label="Barva",
-                                    ),
-                                ),
-                                (
-                                    "hoveractive",
-                                    wagtail.blocks.BooleanBlock(
-                                        default=True,
-                                        help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                        label="Animovat na hover",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "mobile_fullwidth",
-                                    wagtail.blocks.BooleanBlock(
-                                        default=True,
-                                        help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                        label="Plná šířka na mobilních zařízeních",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "page",
-                                    wagtail.blocks.PageChooserBlock(
-                                        label="Stránka", required=False
-                                    ),
-                                ),
-                                (
-                                    "link",
-                                    wagtail.blocks.URLBlock(
-                                        label="Odkaz", required=False
-                                    ),
-                                ),
-                                (
-                                    "align",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("auto", "Automaticky"),
-                                            ("center", "Na střed"),
-                                        ],
-                                        label="Zarovnání",
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "button_group",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "buttons",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.blocks.StructBlock(
-                                            [
-                                                (
-                                                    "title",
-                                                    wagtail.blocks.CharBlock(
-                                                        label="Titulek",
-                                                        max_length=128,
-                                                        required=True,
-                                                    ),
-                                                ),
-                                                (
-                                                    "icon",
-                                                    wagtail.blocks.CharBlock(
-                                                        help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                        label="Ikonka",
-                                                        max_length=128,
-                                                        required=False,
-                                                    ),
-                                                ),
-                                                (
-                                                    "size",
-                                                    wagtail.blocks.ChoiceBlock(
-                                                        choices=[
-                                                            ("sm", "Malá"),
-                                                            ("base", "Střední"),
-                                                            ("lg", "Velká"),
-                                                        ],
-                                                        label="Velikost",
-                                                    ),
-                                                ),
-                                                (
-                                                    "color",
-                                                    wagtail.blocks.ChoiceBlock(
-                                                        choices=[
-                                                            ("black", "Černá"),
-                                                            ("white", "Bílá"),
-                                                            ("grey-125", "Světle šedá"),
-                                                            ("blue-300", "Modrá"),
-                                                            ("cyan-200", "Tyrkysová"),
-                                                            ("green-400", "Zelené"),
-                                                            ("violet-400", "Vínová"),
-                                                            ("red-600", "Červená"),
-                                                        ],
-                                                        label="Barva",
-                                                    ),
-                                                ),
-                                                (
-                                                    "hoveractive",
-                                                    wagtail.blocks.BooleanBlock(
-                                                        default=True,
-                                                        help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                        label="Animovat na hover",
-                                                        required=False,
-                                                    ),
-                                                ),
-                                                (
-                                                    "mobile_fullwidth",
-                                                    wagtail.blocks.BooleanBlock(
-                                                        default=True,
-                                                        help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                        label="Plná šířka na mobilních zařízeních",
-                                                        required=False,
-                                                    ),
-                                                ),
-                                                (
-                                                    "page",
-                                                    wagtail.blocks.PageChooserBlock(
-                                                        label="Stránka", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "link",
-                                                    wagtail.blocks.URLBlock(
-                                                        label="Odkaz", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "align",
-                                                    wagtail.blocks.ChoiceBlock(
-                                                        choices=[
-                                                            ("auto", "Automaticky"),
-                                                            ("center", "Na střed"),
-                                                        ],
-                                                        label="Zarovnání",
-                                                    ),
-                                                ),
-                                            ]
-                                        ),
-                                        label="Tlačítka",
-                                    ),
-                                )
-                            ]
-                        ),
-                    ),
-                    (
-                        "image_banner",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "image",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        label="Obrázek", required=True
-                                    ),
-                                ),
-                                (
-                                    "headline",
-                                    wagtail.blocks.CharBlock(
-                                        label="Headline", max_length=128, required=True
-                                    ),
-                                ),
-                                (
-                                    "content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=(
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                    ),
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "icon",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                label="Ikonka",
-                                                                max_length=128,
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "size",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("sm", "Malá"),
-                                                                    ("base", "Střední"),
-                                                                    ("lg", "Velká"),
-                                                                ],
-                                                                label="Velikost",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelené",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "mobile_fullwidth",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                label="Plná šířka na mobilních zařízeních",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "icon",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
-                                                                                label="Ikonka",
-                                                                                max_length=128,
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "size",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "sm",
-                                                                                        "Malá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "base",
-                                                                                        "Střední",
-                                                                                    ),
-                                                                                    (
-                                                                                        "lg",
-                                                                                        "Velká",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Velikost",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelené",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "mobile_fullwidth",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
-                                                                                label="Plná šířka na mobilních zařízeních",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah pravého sloupce",
-                                        required=False,
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                ],
-                blank=True,
-                verbose_name="Článek",
-            ),
-        ),
-    ]
diff --git a/uniweb/migrations/0064_alter_uniwebarticlepage_content.py b/uniweb/migrations/0064_alter_uniwebarticlepage_content.py
deleted file mode 100644
index 2e7ac50e8d17c545eb2c7d4123d0098dff701672..0000000000000000000000000000000000000000
--- a/uniweb/migrations/0064_alter_uniwebarticlepage_content.py
+++ /dev/null
@@ -1,5440 +0,0 @@
-# Generated by Django 5.0.4 on 2024-05-21 13:23
-
-import wagtail.blocks
-import wagtail.contrib.table_block.blocks
-import wagtail.fields
-import wagtail.images.blocks
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-    dependencies = [
-        ("uniweb", "0063_alter_uniwebarticlepage_content"),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name="uniwebarticlepage",
-            name="content",
-            field=wagtail.fields.StreamField(
-                [
-                    (
-                        "text",
-                        wagtail.blocks.RichTextBlock(
-                            features=[
-                                "h2",
-                                "h3",
-                                "h4",
-                                "h5",
-                                "bold",
-                                "italic",
-                                "ol",
-                                "ul",
-                                "hr",
-                                "link",
-                                "document-link",
-                                "image",
-                                "superscript",
-                                "subscript",
-                                "strikethrough",
-                                "blockquote",
-                                "embed",
-                            ],
-                            label="Textový editor",
-                            template="styleguide2/includes/atoms/text/prose_richtext.html",
-                        ),
-                    ),
-                    (
-                        "headline",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "headline",
-                                    wagtail.blocks.CharBlock(
-                                        label="Nadpis", max_length=300, required=True
-                                    ),
-                                ),
-                                (
-                                    "tag",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("h1", "H1"),
-                                            ("h2", "H2"),
-                                            ("h3", "H3"),
-                                            ("h4", "H4"),
-                                            ("h5", "H5"),
-                                            ("h6", "H6"),
-                                        ],
-                                        help_text="Čím nižší číslo, tím vyšší úroveň.",
-                                        label="Úroveň nadpisu",
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("head-alt-xl", "Velký, Bebas Neue - 6XL"),
-                                            (
-                                                "head-alt-lg",
-                                                "Střední, Bebas Neue - 4XL",
-                                            ),
-                                            (
-                                                "head-alt-md",
-                                                "Základní velikost - Roboto - MD",
-                                            ),
-                                            ("head-alt-sm", "Malý - Roboto - SM"),
-                                            ("head-alt-xs", "Extra malý - Roboto - XS"),
-                                        ],
-                                        help_text="Náhled si prohlédněte na https://styleguide2.pirati.cz/pattern/patterns/atoms/text/headings.html.",
-                                        label="Velikost",
-                                    ),
-                                ),
-                                (
-                                    "align",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("auto", "Automaticky"),
-                                            ("center", "Na střed"),
-                                        ],
-                                        label="Zarovnání",
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "table",
-                        wagtail.contrib.table_block.blocks.TableBlock(
-                            label="Tabulka",
-                            template="styleguide2/includes/atoms/table/table.html",
-                        ),
-                    ),
-                    (
-                        "gallery",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "gallery_items",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.images.blocks.ImageChooserBlock(
-                                            label="obrázek", required=True
-                                        ),
-                                        group="ostatní",
-                                        icon="image",
-                                        label="Galerie",
-                                    ),
-                                )
-                            ],
-                            label="Galerie",
-                        ),
-                    ),
-                    (
-                        "figure",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "img",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        label="Obrázek", required=True
-                                    ),
-                                ),
-                                (
-                                    "caption",
-                                    wagtail.blocks.TextBlock(
-                                        label="Popisek", required=False
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "card",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "img",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        label="Obrázek", required=False
-                                    ),
-                                ),
-                                (
-                                    "elevation",
-                                    wagtail.blocks.IntegerBlock(
-                                        default=2,
-                                        help_text="0 = žádný stín, 21 = maximální stín",
-                                        label="Velikost stínu",
-                                        max_value=21,
-                                        min_value=0,
-                                    ),
-                                ),
-                                (
-                                    "headline",
-                                    wagtail.blocks.TextBlock(
-                                        label="Titulek", required=False
-                                    ),
-                                ),
-                                (
-                                    "hoveractive",
-                                    wagtail.blocks.BooleanBlock(
-                                        default=False,
-                                        help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                        label="Zvýraznit stín na hover",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "page",
-                                    wagtail.blocks.PageChooserBlock(
-                                        label="Stránka", required=False
-                                    ),
-                                ),
-                                (
-                                    "link",
-                                    wagtail.blocks.URLBlock(
-                                        label="Odkaz", required=False
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "two_columns",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "left_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "elevation",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=2,
-                                                                help_text="0 = žádný stín, 21 = maximální stín",
-                                                                label="Velikost stínu",
-                                                                max_value=21,
-                                                                min_value=0,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=False,
-                                                                help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                                                label="Zvýraznit stín na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            template="shared/blocks/table_block.html"
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah levého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "right_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "elevation",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=2,
-                                                                help_text="0 = žádný stín, 21 = maximální stín",
-                                                                label="Velikost stínu",
-                                                                max_value=21,
-                                                                min_value=0,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=False,
-                                                                help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                                                label="Zvýraznit stín na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            template="shared/blocks/table_block.html"
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah pravého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "three_columns",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "left_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "elevation",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=2,
-                                                                help_text="0 = žádný stín, 21 = maximální stín",
-                                                                label="Velikost stínu",
-                                                                max_value=21,
-                                                                min_value=0,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=False,
-                                                                help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                                                label="Zvýraznit stín na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            template="shared/blocks/table_block.html"
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah levého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "middle_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "elevation",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=2,
-                                                                help_text="0 = žádný stín, 21 = maximální stín",
-                                                                label="Velikost stínu",
-                                                                max_value=21,
-                                                                min_value=0,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=False,
-                                                                help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                                                label="Zvýraznit stín na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            template="shared/blocks/table_block.html"
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah prostředního sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "right_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    template="shared/blocks/table_block.html"
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "elevation",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=2,
-                                                                help_text="0 = žádný stín, 21 = maximální stín",
-                                                                label="Velikost stínu",
-                                                                max_value=21,
-                                                                min_value=0,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=False,
-                                                                help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.",
-                                                                label="Zvýraznit stín na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            template="shared/blocks/table_block.html"
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah pravého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "youtube",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "poster_image",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                        label="Náhled videa (automatické pole)",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "video_url",
-                                    wagtail.blocks.URLBlock(
-                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                        label="Odkaz na video",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "video_id",
-                                    wagtail.blocks.CharBlock(
-                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                        label="ID videa (automatické pole)",
-                                        required=False,
-                                    ),
-                                ),
-                            ],
-                            label="YouTube video",
-                        ),
-                    ),
-                    (
-                        "map_point",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "lat",
-                                    wagtail.blocks.DecimalBlock(
-                                        help_text="Např. 50.04075",
-                                        label="Zeměpisná šířka",
-                                    ),
-                                ),
-                                (
-                                    "lon",
-                                    wagtail.blocks.DecimalBlock(
-                                        help_text="Např. 15.77659",
-                                        label="Zeměpisná délka",
-                                    ),
-                                ),
-                                (
-                                    "hex_color",
-                                    wagtail.blocks.CharBlock(
-                                        default="000000",
-                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                        label="Barva špendlíku (HEX)",
-                                    ),
-                                ),
-                                (
-                                    "zoom",
-                                    wagtail.blocks.IntegerBlock(
-                                        default=15,
-                                        label="Výchozí zoom",
-                                        max_value=18,
-                                        min_value=1,
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("osm-mapnik", "OSM Mapnik"),
-                                            ("stadia-osm-bright", "Stadia OSM Bright"),
-                                            ("stadia-outdoors", "Stadia Outdoors"),
-                                            ("mapbox-streets", "Mapbox Streets"),
-                                            ("mapbox-outdoors", "Mapbox Outdoors"),
-                                            ("mapbox-light", "Mapbox Light"),
-                                            ("mapbox-dark", "Mapbox Dark"),
-                                            ("mapbox-satellite", "Mapbox Satellite"),
-                                            ("mapbox-pirate", "Mapbox Pirate Theme"),
-                                        ],
-                                        label="Styl",
-                                    ),
-                                ),
-                                (
-                                    "height",
-                                    wagtail.blocks.IntegerBlock(
-                                        label="Výška v px",
-                                        max_value=1000,
-                                        min_value=100,
-                                    ),
-                                ),
-                            ],
-                            label="Špendlík na mapě",
-                        ),
-                    ),
-                    (
-                        "map_collection",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "features",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.blocks.StructBlock(
-                                            [
-                                                (
-                                                    "title",
-                                                    wagtail.blocks.CharBlock(
-                                                        label="Titulek", required=True
-                                                    ),
-                                                ),
-                                                (
-                                                    "description",
-                                                    wagtail.blocks.TextBlock(
-                                                        label="Popisek", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "geojson",
-                                                    wagtail.blocks.TextBlock(
-                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                        label="Geodata",
-                                                        required=True,
-                                                    ),
-                                                ),
-                                                (
-                                                    "image",
-                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                        label="Obrázek", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "link",
-                                                    wagtail.blocks.URLBlock(
-                                                        label="Odkaz", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "hex_color",
-                                                    wagtail.blocks.CharBlock(
-                                                        default="000000",
-                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                        label="Barva (HEX)",
-                                                    ),
-                                                ),
-                                            ],
-                                            required=True,
-                                        ),
-                                        label="Součásti",
-                                    ),
-                                ),
-                                (
-                                    "zoom",
-                                    wagtail.blocks.IntegerBlock(
-                                        default=15,
-                                        label="Výchozí zoom",
-                                        max_value=18,
-                                        min_value=1,
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("osm-mapnik", "OSM Mapnik"),
-                                            ("stadia-osm-bright", "Stadia OSM Bright"),
-                                            ("stadia-outdoors", "Stadia Outdoors"),
-                                            ("mapbox-streets", "Mapbox Streets"),
-                                            ("mapbox-outdoors", "Mapbox Outdoors"),
-                                            ("mapbox-light", "Mapbox Light"),
-                                            ("mapbox-dark", "Mapbox Dark"),
-                                            ("mapbox-satellite", "Mapbox Satellite"),
-                                            ("mapbox-pirate", "Mapbox Pirate Theme"),
-                                        ],
-                                        label="Styl",
-                                    ),
-                                ),
-                                (
-                                    "height",
-                                    wagtail.blocks.IntegerBlock(
-                                        label="Výška v px",
-                                        max_value=1000,
-                                        min_value=100,
-                                    ),
-                                ),
-                            ],
-                            label="Mapová kolekce",
-                        ),
-                    ),
-                    (
-                        "button",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "title",
-                                    wagtail.blocks.CharBlock(
-                                        label="Titulek", max_length=128, required=True
-                                    ),
-                                ),
-                                (
-                                    "color",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("black", "Černá"),
-                                            ("white", "Bílá"),
-                                            ("pirati-yellow", "Žlutá"),
-                                            ("grey-125", "Světle šedá"),
-                                            ("blue-300", "Modrá"),
-                                            ("cyan-200", "Tyrkysová"),
-                                            ("green-400", "Zelená"),
-                                            ("violet-400", "Vínová"),
-                                            ("red-600", "Červená"),
-                                        ],
-                                        label="Barva",
-                                    ),
-                                ),
-                                (
-                                    "hoveractive",
-                                    wagtail.blocks.BooleanBlock(
-                                        default=True,
-                                        help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                        label="Animovat na hover",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "page",
-                                    wagtail.blocks.PageChooserBlock(
-                                        label="Stránka", required=False
-                                    ),
-                                ),
-                                (
-                                    "link",
-                                    wagtail.blocks.URLBlock(
-                                        label="Odkaz", required=False
-                                    ),
-                                ),
-                                (
-                                    "align",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("auto", "Automaticky"),
-                                            ("center", "Na střed"),
-                                        ],
-                                        label="Zarovnání",
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "button_group",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "buttons",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.blocks.StructBlock(
-                                            [
-                                                (
-                                                    "title",
-                                                    wagtail.blocks.CharBlock(
-                                                        label="Titulek",
-                                                        max_length=128,
-                                                        required=True,
-                                                    ),
-                                                ),
-                                                (
-                                                    "color",
-                                                    wagtail.blocks.ChoiceBlock(
-                                                        choices=[
-                                                            ("black", "Černá"),
-                                                            ("white", "Bílá"),
-                                                            ("pirati-yellow", "Žlutá"),
-                                                            ("grey-125", "Světle šedá"),
-                                                            ("blue-300", "Modrá"),
-                                                            ("cyan-200", "Tyrkysová"),
-                                                            ("green-400", "Zelená"),
-                                                            ("violet-400", "Vínová"),
-                                                            ("red-600", "Červená"),
-                                                        ],
-                                                        label="Barva",
-                                                    ),
-                                                ),
-                                                (
-                                                    "hoveractive",
-                                                    wagtail.blocks.BooleanBlock(
-                                                        default=True,
-                                                        help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                        label="Animovat na hover",
-                                                        required=False,
-                                                    ),
-                                                ),
-                                                (
-                                                    "page",
-                                                    wagtail.blocks.PageChooserBlock(
-                                                        label="Stránka", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "link",
-                                                    wagtail.blocks.URLBlock(
-                                                        label="Odkaz", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "align",
-                                                    wagtail.blocks.ChoiceBlock(
-                                                        choices=[
-                                                            ("auto", "Automaticky"),
-                                                            ("center", "Na střed"),
-                                                        ],
-                                                        label="Zarovnání",
-                                                    ),
-                                                ),
-                                            ]
-                                        ),
-                                        label="Tlačítka",
-                                    ),
-                                )
-                            ]
-                        ),
-                    ),
-                    (
-                        "image_banner",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "image",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        label="Obrázek", required=True
-                                    ),
-                                ),
-                                (
-                                    "headline",
-                                    wagtail.blocks.CharBlock(
-                                        label="Headline", max_length=128, required=True
-                                    ),
-                                ),
-                                (
-                                    "content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=(
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                    ),
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah pravého sloupce",
-                                        required=False,
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                ],
-                blank=True,
-                verbose_name="Článek",
-            ),
-        ),
-    ]
diff --git a/uniweb/migrations/0065_alter_uniwebarticlepage_content.py b/uniweb/migrations/0065_alter_uniwebarticlepage_content.py
deleted file mode 100644
index c45f2f907ee0715029995785871058ca4dda7ee0..0000000000000000000000000000000000000000
--- a/uniweb/migrations/0065_alter_uniwebarticlepage_content.py
+++ /dev/null
@@ -1,5337 +0,0 @@
-# Generated by Django 5.0.4 on 2024-05-22 10:20
-
-import wagtail.blocks
-import wagtail.contrib.table_block.blocks
-import wagtail.fields
-import wagtail.images.blocks
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-    dependencies = [
-        ("uniweb", "0064_alter_uniwebarticlepage_content"),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name="uniwebarticlepage",
-            name="content",
-            field=wagtail.fields.StreamField(
-                [
-                    (
-                        "text",
-                        wagtail.blocks.RichTextBlock(
-                            features=[
-                                "h2",
-                                "h3",
-                                "h4",
-                                "h5",
-                                "bold",
-                                "italic",
-                                "ol",
-                                "ul",
-                                "hr",
-                                "link",
-                                "document-link",
-                                "image",
-                                "superscript",
-                                "subscript",
-                                "strikethrough",
-                                "blockquote",
-                                "embed",
-                            ],
-                            label="Textový editor",
-                            template="styleguide2/includes/atoms/text/prose_richtext.html",
-                        ),
-                    ),
-                    (
-                        "headline",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "headline",
-                                    wagtail.blocks.CharBlock(
-                                        label="Nadpis", max_length=300, required=True
-                                    ),
-                                ),
-                                (
-                                    "tag",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("h1", "H1"),
-                                            ("h2", "H2"),
-                                            ("h3", "H3"),
-                                            ("h4", "H4"),
-                                            ("h5", "H5"),
-                                            ("h6", "H6"),
-                                        ],
-                                        help_text="Čím nižší číslo, tím vyšší úroveň.",
-                                        label="Úroveň nadpisu",
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("head-alt-xl", "Velký, Bebas Neue - 6XL"),
-                                            (
-                                                "head-alt-lg",
-                                                "Střední, Bebas Neue - 4XL",
-                                            ),
-                                            (
-                                                "head-alt-md",
-                                                "Základní velikost - Roboto - MD",
-                                            ),
-                                            ("head-alt-sm", "Malý - Roboto - SM"),
-                                            ("head-alt-xs", "Extra malý - Roboto - XS"),
-                                        ],
-                                        help_text="Náhled si prohlédněte na https://styleguide2.pirati.cz/pattern/patterns/atoms/text/headings.html.",
-                                        label="Velikost",
-                                    ),
-                                ),
-                                (
-                                    "align",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("auto", "Automaticky"),
-                                            ("center", "Na střed"),
-                                        ],
-                                        label="Zarovnání",
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "table",
-                        wagtail.contrib.table_block.blocks.TableBlock(
-                            label="Tabulka",
-                            template="styleguide2/includes/atoms/table/table.html",
-                        ),
-                    ),
-                    (
-                        "gallery",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "gallery_items",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.images.blocks.ImageChooserBlock(
-                                            label="obrázek", required=True
-                                        ),
-                                        group="ostatní",
-                                        icon="image",
-                                        label="Galerie",
-                                    ),
-                                )
-                            ],
-                            label="Galerie",
-                        ),
-                    ),
-                    (
-                        "figure",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "img",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        label="Obrázek", required=True
-                                    ),
-                                ),
-                                (
-                                    "caption",
-                                    wagtail.blocks.TextBlock(
-                                        label="Popisek", required=False
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "card",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "img",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        label="Obrázek", required=False
-                                    ),
-                                ),
-                                (
-                                    "headline",
-                                    wagtail.blocks.TextBlock(
-                                        label="Titulek", required=False
-                                    ),
-                                ),
-                                (
-                                    "content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "page",
-                                    wagtail.blocks.PageChooserBlock(
-                                        label="Stránka", required=False
-                                    ),
-                                ),
-                                (
-                                    "link",
-                                    wagtail.blocks.URLBlock(
-                                        label="Odkaz", required=False
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "two_columns",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "left_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            label="Tabulka",
-                                                                            template="styleguide2/includes/atoms/table/table.html",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah levého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "right_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            label="Tabulka",
-                                                                            template="styleguide2/includes/atoms/table/table.html",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah pravého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "three_columns",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "left_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            label="Tabulka",
-                                                                            template="styleguide2/includes/atoms/table/table.html",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah levého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "middle_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            label="Tabulka",
-                                                                            template="styleguide2/includes/atoms/table/table.html",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah prostředního sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "right_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            label="Tabulka",
-                                                                            template="styleguide2/includes/atoms/table/table.html",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah pravého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "youtube",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "poster_image",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                        label="Náhled videa (automatické pole)",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "video_url",
-                                    wagtail.blocks.URLBlock(
-                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                        label="Odkaz na video",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "video_id",
-                                    wagtail.blocks.CharBlock(
-                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                        label="ID videa (automatické pole)",
-                                        required=False,
-                                    ),
-                                ),
-                            ],
-                            label="YouTube video",
-                        ),
-                    ),
-                    (
-                        "map_point",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "lat",
-                                    wagtail.blocks.DecimalBlock(
-                                        help_text="Např. 50.04075",
-                                        label="Zeměpisná šířka",
-                                    ),
-                                ),
-                                (
-                                    "lon",
-                                    wagtail.blocks.DecimalBlock(
-                                        help_text="Např. 15.77659",
-                                        label="Zeměpisná délka",
-                                    ),
-                                ),
-                                (
-                                    "hex_color",
-                                    wagtail.blocks.CharBlock(
-                                        default="000000",
-                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                        label="Barva špendlíku (HEX)",
-                                    ),
-                                ),
-                                (
-                                    "zoom",
-                                    wagtail.blocks.IntegerBlock(
-                                        default=15,
-                                        label="Výchozí zoom",
-                                        max_value=18,
-                                        min_value=1,
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("osm-mapnik", "OSM Mapnik"),
-                                            ("stadia-osm-bright", "Stadia OSM Bright"),
-                                            ("stadia-outdoors", "Stadia Outdoors"),
-                                            ("mapbox-streets", "Mapbox Streets"),
-                                            ("mapbox-outdoors", "Mapbox Outdoors"),
-                                            ("mapbox-light", "Mapbox Light"),
-                                            ("mapbox-dark", "Mapbox Dark"),
-                                            ("mapbox-satellite", "Mapbox Satellite"),
-                                            ("mapbox-pirate", "Mapbox Pirate Theme"),
-                                        ],
-                                        label="Styl",
-                                    ),
-                                ),
-                                (
-                                    "height",
-                                    wagtail.blocks.IntegerBlock(
-                                        label="Výška v px",
-                                        max_value=1000,
-                                        min_value=100,
-                                    ),
-                                ),
-                            ],
-                            label="Špendlík na mapě",
-                        ),
-                    ),
-                    (
-                        "map_collection",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "features",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.blocks.StructBlock(
-                                            [
-                                                (
-                                                    "title",
-                                                    wagtail.blocks.CharBlock(
-                                                        label="Titulek", required=True
-                                                    ),
-                                                ),
-                                                (
-                                                    "description",
-                                                    wagtail.blocks.TextBlock(
-                                                        label="Popisek", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "geojson",
-                                                    wagtail.blocks.TextBlock(
-                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                        label="Geodata",
-                                                        required=True,
-                                                    ),
-                                                ),
-                                                (
-                                                    "image",
-                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                        label="Obrázek", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "link",
-                                                    wagtail.blocks.URLBlock(
-                                                        label="Odkaz", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "hex_color",
-                                                    wagtail.blocks.CharBlock(
-                                                        default="000000",
-                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                        label="Barva (HEX)",
-                                                    ),
-                                                ),
-                                            ],
-                                            required=True,
-                                        ),
-                                        label="Součásti",
-                                    ),
-                                ),
-                                (
-                                    "zoom",
-                                    wagtail.blocks.IntegerBlock(
-                                        default=15,
-                                        label="Výchozí zoom",
-                                        max_value=18,
-                                        min_value=1,
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("osm-mapnik", "OSM Mapnik"),
-                                            ("stadia-osm-bright", "Stadia OSM Bright"),
-                                            ("stadia-outdoors", "Stadia Outdoors"),
-                                            ("mapbox-streets", "Mapbox Streets"),
-                                            ("mapbox-outdoors", "Mapbox Outdoors"),
-                                            ("mapbox-light", "Mapbox Light"),
-                                            ("mapbox-dark", "Mapbox Dark"),
-                                            ("mapbox-satellite", "Mapbox Satellite"),
-                                            ("mapbox-pirate", "Mapbox Pirate Theme"),
-                                        ],
-                                        label="Styl",
-                                    ),
-                                ),
-                                (
-                                    "height",
-                                    wagtail.blocks.IntegerBlock(
-                                        label="Výška v px",
-                                        max_value=1000,
-                                        min_value=100,
-                                    ),
-                                ),
-                            ],
-                            label="Mapová kolekce",
-                        ),
-                    ),
-                    (
-                        "button",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "title",
-                                    wagtail.blocks.CharBlock(
-                                        label="Titulek", max_length=128, required=True
-                                    ),
-                                ),
-                                (
-                                    "color",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("black", "Černá"),
-                                            ("white", "Bílá"),
-                                            ("pirati-yellow", "Žlutá"),
-                                            ("grey-125", "Světle šedá"),
-                                            ("blue-300", "Modrá"),
-                                            ("cyan-200", "Tyrkysová"),
-                                            ("green-400", "Zelená"),
-                                            ("violet-400", "Vínová"),
-                                            ("red-600", "Červená"),
-                                        ],
-                                        label="Barva",
-                                    ),
-                                ),
-                                (
-                                    "hoveractive",
-                                    wagtail.blocks.BooleanBlock(
-                                        default=True,
-                                        help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                        label="Animovat na hover",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "page",
-                                    wagtail.blocks.PageChooserBlock(
-                                        label="Stránka", required=False
-                                    ),
-                                ),
-                                (
-                                    "link",
-                                    wagtail.blocks.URLBlock(
-                                        label="Odkaz", required=False
-                                    ),
-                                ),
-                                (
-                                    "align",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("auto", "Automaticky"),
-                                            ("center", "Na střed"),
-                                        ],
-                                        label="Zarovnání",
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "button_group",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "buttons",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.blocks.StructBlock(
-                                            [
-                                                (
-                                                    "title",
-                                                    wagtail.blocks.CharBlock(
-                                                        label="Titulek",
-                                                        max_length=128,
-                                                        required=True,
-                                                    ),
-                                                ),
-                                                (
-                                                    "color",
-                                                    wagtail.blocks.ChoiceBlock(
-                                                        choices=[
-                                                            ("black", "Černá"),
-                                                            ("white", "Bílá"),
-                                                            ("pirati-yellow", "Žlutá"),
-                                                            ("grey-125", "Světle šedá"),
-                                                            ("blue-300", "Modrá"),
-                                                            ("cyan-200", "Tyrkysová"),
-                                                            ("green-400", "Zelená"),
-                                                            ("violet-400", "Vínová"),
-                                                            ("red-600", "Červená"),
-                                                        ],
-                                                        label="Barva",
-                                                    ),
-                                                ),
-                                                (
-                                                    "hoveractive",
-                                                    wagtail.blocks.BooleanBlock(
-                                                        default=True,
-                                                        help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                        label="Animovat na hover",
-                                                        required=False,
-                                                    ),
-                                                ),
-                                                (
-                                                    "page",
-                                                    wagtail.blocks.PageChooserBlock(
-                                                        label="Stránka", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "link",
-                                                    wagtail.blocks.URLBlock(
-                                                        label="Odkaz", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "align",
-                                                    wagtail.blocks.ChoiceBlock(
-                                                        choices=[
-                                                            ("auto", "Automaticky"),
-                                                            ("center", "Na střed"),
-                                                        ],
-                                                        label="Zarovnání",
-                                                    ),
-                                                ),
-                                            ]
-                                        ),
-                                        label="Tlačítka",
-                                    ),
-                                )
-                            ]
-                        ),
-                    ),
-                    (
-                        "image_banner",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "image",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        label="Obrázek", required=True
-                                    ),
-                                ),
-                                (
-                                    "headline",
-                                    wagtail.blocks.CharBlock(
-                                        label="Headline", max_length=128, required=True
-                                    ),
-                                ),
-                                (
-                                    "content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=(
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                    ),
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah pravého sloupce",
-                                        required=False,
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                ],
-                blank=True,
-                verbose_name="Článek",
-            ),
-        ),
-    ]
diff --git a/uniweb/migrations/0066_alter_uniwebarticlepage_content.py b/uniweb/migrations/0066_alter_uniwebarticlepage_content.py
deleted file mode 100644
index 7fa6c493d0c1ab9e1ac091b456e4856eec023566..0000000000000000000000000000000000000000
--- a/uniweb/migrations/0066_alter_uniwebarticlepage_content.py
+++ /dev/null
@@ -1,5086 +0,0 @@
-# Generated by Django 5.0.4 on 2024-05-22 14:01
-
-import wagtail.blocks
-import wagtail.contrib.table_block.blocks
-import wagtail.fields
-import wagtail.images.blocks
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-    dependencies = [
-        ("uniweb", "0065_alter_uniwebarticlepage_content"),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name="uniwebarticlepage",
-            name="content",
-            field=wagtail.fields.StreamField(
-                [
-                    (
-                        "text",
-                        wagtail.blocks.RichTextBlock(
-                            features=[
-                                "h2",
-                                "h3",
-                                "h4",
-                                "h5",
-                                "bold",
-                                "italic",
-                                "ol",
-                                "ul",
-                                "hr",
-                                "link",
-                                "document-link",
-                                "image",
-                                "superscript",
-                                "subscript",
-                                "strikethrough",
-                                "blockquote",
-                                "embed",
-                            ],
-                            label="Textový editor",
-                            template="styleguide2/includes/atoms/text/prose_richtext.html",
-                        ),
-                    ),
-                    (
-                        "headline",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "headline",
-                                    wagtail.blocks.CharBlock(
-                                        label="Nadpis", max_length=300, required=True
-                                    ),
-                                ),
-                                (
-                                    "tag",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("h1", "H1"),
-                                            ("h2", "H2"),
-                                            ("h3", "H3"),
-                                            ("h4", "H4"),
-                                            ("h5", "H5"),
-                                            ("h6", "H6"),
-                                        ],
-                                        help_text="Čím nižší číslo, tím vyšší úroveň.",
-                                        label="Úroveň nadpisu",
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("head-alt-xl", "Velký, Bebas Neue - 6XL"),
-                                            (
-                                                "head-alt-lg",
-                                                "Střední, Bebas Neue - 4XL",
-                                            ),
-                                            (
-                                                "head-alt-md",
-                                                "Základní velikost - Roboto - MD",
-                                            ),
-                                            ("head-alt-sm", "Malý - Roboto - SM"),
-                                            ("head-alt-xs", "Extra malý - Roboto - XS"),
-                                        ],
-                                        help_text="Náhled si prohlédněte na https://styleguide2.pirati.cz/pattern/patterns/atoms/text/headings.html.",
-                                        label="Velikost",
-                                    ),
-                                ),
-                                (
-                                    "align",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("auto", "Automaticky"),
-                                            ("center", "Na střed"),
-                                        ],
-                                        label="Zarovnání",
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "table",
-                        wagtail.contrib.table_block.blocks.TableBlock(
-                            label="Tabulka",
-                            template="styleguide2/includes/atoms/table/table.html",
-                        ),
-                    ),
-                    (
-                        "gallery",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "gallery_items",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.images.blocks.ImageChooserBlock(
-                                            label="obrázek", required=True
-                                        ),
-                                        group="ostatní",
-                                        icon="image",
-                                        label="Galerie",
-                                    ),
-                                )
-                            ],
-                            label="Galerie",
-                        ),
-                    ),
-                    (
-                        "figure",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "img",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        label="Obrázek", required=True
-                                    ),
-                                ),
-                                (
-                                    "caption",
-                                    wagtail.blocks.TextBlock(
-                                        label="Popisek", required=False
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "card",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "img",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        label="Obrázek", required=False
-                                    ),
-                                ),
-                                (
-                                    "headline",
-                                    wagtail.blocks.TextBlock(
-                                        label="Titulek", required=False
-                                    ),
-                                ),
-                                (
-                                    "content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "page",
-                                    wagtail.blocks.PageChooserBlock(
-                                        label="Stránka", required=False
-                                    ),
-                                ),
-                                (
-                                    "link",
-                                    wagtail.blocks.URLBlock(
-                                        label="Odkaz", required=False
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "two_columns",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "left_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            label="Tabulka",
-                                                                            template="styleguide2/includes/atoms/table/table.html",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah levého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "right_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            label="Tabulka",
-                                                                            template="styleguide2/includes/atoms/table/table.html",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah pravého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "three_columns",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "left_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            label="Tabulka",
-                                                                            template="styleguide2/includes/atoms/table/table.html",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah levého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "middle_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            label="Tabulka",
-                                                                            template="styleguide2/includes/atoms/table/table.html",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah prostředního sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                                (
-                                    "right_column_content",
-                                    wagtail.blocks.StreamBlock(
-                                        [
-                                            (
-                                                "text",
-                                                wagtail.blocks.RichTextBlock(
-                                                    features=[
-                                                        "h2",
-                                                        "h3",
-                                                        "h4",
-                                                        "h5",
-                                                        "bold",
-                                                        "italic",
-                                                        "ol",
-                                                        "ul",
-                                                        "hr",
-                                                        "link",
-                                                        "document-link",
-                                                        "image",
-                                                        "superscript",
-                                                        "subscript",
-                                                        "strikethrough",
-                                                        "blockquote",
-                                                        "embed",
-                                                    ],
-                                                    label="Textový editor",
-                                                ),
-                                            ),
-                                            (
-                                                "table",
-                                                wagtail.contrib.table_block.blocks.TableBlock(
-                                                    label="Tabulka",
-                                                    template="styleguide2/includes/atoms/table/table.html",
-                                                ),
-                                            ),
-                                            (
-                                                "card",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "headline",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Titulek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "content",
-                                                            wagtail.blocks.StreamBlock(
-                                                                [
-                                                                    (
-                                                                        "text",
-                                                                        wagtail.blocks.RichTextBlock(
-                                                                            features=[
-                                                                                "h2",
-                                                                                "h3",
-                                                                                "h4",
-                                                                                "h5",
-                                                                                "bold",
-                                                                                "italic",
-                                                                                "ol",
-                                                                                "ul",
-                                                                                "hr",
-                                                                                "link",
-                                                                                "document-link",
-                                                                                "image",
-                                                                                "superscript",
-                                                                                "subscript",
-                                                                                "strikethrough",
-                                                                                "blockquote",
-                                                                                "embed",
-                                                                            ],
-                                                                            label="Textový editor",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "table",
-                                                                        wagtail.contrib.table_block.blocks.TableBlock(
-                                                                            label="Tabulka",
-                                                                            template="styleguide2/includes/atoms/table/table.html",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "figure",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "img",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        label="Obrázek",
-                                                                                        required=True,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "caption",
-                                                                                    wagtail.blocks.TextBlock(
-                                                                                        label="Popisek",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "youtube",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "poster_image",
-                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                                        label="Náhled videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_url",
-                                                                                    wagtail.blocks.URLBlock(
-                                                                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                                        label="Odkaz na video",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "video_id",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                                        label="ID videa (automatické pole)",
-                                                                                        required=False,
-                                                                                    ),
-                                                                                ),
-                                                                            ]
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_point",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "lat",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 50.04075",
-                                                                                        label="Zeměpisná šířka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "lon",
-                                                                                    wagtail.blocks.DecimalBlock(
-                                                                                        help_text="Např. 15.77659",
-                                                                                        label="Zeměpisná délka",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "hex_color",
-                                                                                    wagtail.blocks.CharBlock(
-                                                                                        default="000000",
-                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                        label="Barva špendlíku (HEX)",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Špendlík na mapě",
-                                                                        ),
-                                                                    ),
-                                                                    (
-                                                                        "map_collection",
-                                                                        wagtail.blocks.StructBlock(
-                                                                            [
-                                                                                (
-                                                                                    "features",
-                                                                                    wagtail.blocks.ListBlock(
-                                                                                        wagtail.blocks.StructBlock(
-                                                                                            [
-                                                                                                (
-                                                                                                    "title",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        label="Titulek",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "description",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        label="Popisek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "geojson",
-                                                                                                    wagtail.blocks.TextBlock(
-                                                                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                                        label="Geodata",
-                                                                                                        required=True,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "image",
-                                                                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                                                                        label="Obrázek",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "link",
-                                                                                                    wagtail.blocks.URLBlock(
-                                                                                                        label="Odkaz",
-                                                                                                        required=False,
-                                                                                                    ),
-                                                                                                ),
-                                                                                                (
-                                                                                                    "hex_color",
-                                                                                                    wagtail.blocks.CharBlock(
-                                                                                                        default="000000",
-                                                                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                                        label="Barva (HEX)",
-                                                                                                    ),
-                                                                                                ),
-                                                                                            ],
-                                                                                            required=True,
-                                                                                        ),
-                                                                                        label="Součásti",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "zoom",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        default=15,
-                                                                                        label="Výchozí zoom",
-                                                                                        max_value=18,
-                                                                                        min_value=1,
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "style",
-                                                                                    wagtail.blocks.ChoiceBlock(
-                                                                                        choices=[
-                                                                                            (
-                                                                                                "osm-mapnik",
-                                                                                                "OSM Mapnik",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-osm-bright",
-                                                                                                "Stadia OSM Bright",
-                                                                                            ),
-                                                                                            (
-                                                                                                "stadia-outdoors",
-                                                                                                "Stadia Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-streets",
-                                                                                                "Mapbox Streets",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-outdoors",
-                                                                                                "Mapbox Outdoors",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-light",
-                                                                                                "Mapbox Light",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-dark",
-                                                                                                "Mapbox Dark",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-satellite",
-                                                                                                "Mapbox Satellite",
-                                                                                            ),
-                                                                                            (
-                                                                                                "mapbox-pirate",
-                                                                                                "Mapbox Pirate Theme",
-                                                                                            ),
-                                                                                        ],
-                                                                                        label="Styl",
-                                                                                    ),
-                                                                                ),
-                                                                                (
-                                                                                    "height",
-                                                                                    wagtail.blocks.IntegerBlock(
-                                                                                        label="Výška v px",
-                                                                                        max_value=1000,
-                                                                                        min_value=100,
-                                                                                    ),
-                                                                                ),
-                                                                            ],
-                                                                            label="Mapová kolekce",
-                                                                        ),
-                                                                    ),
-                                                                ],
-                                                                label="Obsah",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "figure",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "img",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                label="Obrázek",
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "caption",
-                                                            wagtail.blocks.TextBlock(
-                                                                label="Popisek",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "youtube",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "poster_image",
-                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                                                label="Náhled videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_url",
-                                                            wagtail.blocks.URLBlock(
-                                                                help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                                                label="Odkaz na video",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "video_id",
-                                                            wagtail.blocks.CharBlock(
-                                                                help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                                                label="ID videa (automatické pole)",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "map_point",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "lat",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 50.04075",
-                                                                label="Zeměpisná šířka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "lon",
-                                                            wagtail.blocks.DecimalBlock(
-                                                                help_text="Např. 15.77659",
-                                                                label="Zeměpisná délka",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hex_color",
-                                                            wagtail.blocks.CharBlock(
-                                                                default="000000",
-                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                label="Barva špendlíku (HEX)",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Špendlík na mapě",
-                                                ),
-                                            ),
-                                            (
-                                                "map_collection",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "features",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "description",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                label="Popisek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "geojson",
-                                                                            wagtail.blocks.TextBlock(
-                                                                                help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                                                label="Geodata",
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "image",
-                                                                            wagtail.images.blocks.ImageChooserBlock(
-                                                                                label="Obrázek",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hex_color",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                default="000000",
-                                                                                help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                                                label="Barva (HEX)",
-                                                                            ),
-                                                                        ),
-                                                                    ],
-                                                                    required=True,
-                                                                ),
-                                                                label="Součásti",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "zoom",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                default=15,
-                                                                label="Výchozí zoom",
-                                                                max_value=18,
-                                                                min_value=1,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "style",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "osm-mapnik",
-                                                                        "OSM Mapnik",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-osm-bright",
-                                                                        "Stadia OSM Bright",
-                                                                    ),
-                                                                    (
-                                                                        "stadia-outdoors",
-                                                                        "Stadia Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-streets",
-                                                                        "Mapbox Streets",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-outdoors",
-                                                                        "Mapbox Outdoors",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-light",
-                                                                        "Mapbox Light",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-dark",
-                                                                        "Mapbox Dark",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-satellite",
-                                                                        "Mapbox Satellite",
-                                                                    ),
-                                                                    (
-                                                                        "mapbox-pirate",
-                                                                        "Mapbox Pirate Theme",
-                                                                    ),
-                                                                ],
-                                                                label="Styl",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "height",
-                                                            wagtail.blocks.IntegerBlock(
-                                                                label="Výška v px",
-                                                                max_value=1000,
-                                                                min_value=100,
-                                                            ),
-                                                        ),
-                                                    ],
-                                                    label="Mapová kolekce",
-                                                ),
-                                            ),
-                                            (
-                                                "button",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "title",
-                                                            wagtail.blocks.CharBlock(
-                                                                label="Titulek",
-                                                                max_length=128,
-                                                                required=True,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "color",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    ("black", "Černá"),
-                                                                    ("white", "Bílá"),
-                                                                    (
-                                                                        "pirati-yellow",
-                                                                        "Žlutá",
-                                                                    ),
-                                                                    (
-                                                                        "grey-125",
-                                                                        "Světle šedá",
-                                                                    ),
-                                                                    (
-                                                                        "blue-300",
-                                                                        "Modrá",
-                                                                    ),
-                                                                    (
-                                                                        "cyan-200",
-                                                                        "Tyrkysová",
-                                                                    ),
-                                                                    (
-                                                                        "green-400",
-                                                                        "Zelená",
-                                                                    ),
-                                                                    (
-                                                                        "violet-400",
-                                                                        "Vínová",
-                                                                    ),
-                                                                    (
-                                                                        "red-600",
-                                                                        "Červená",
-                                                                    ),
-                                                                ],
-                                                                label="Barva",
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "hoveractive",
-                                                            wagtail.blocks.BooleanBlock(
-                                                                default=True,
-                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                label="Animovat na hover",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "page",
-                                                            wagtail.blocks.PageChooserBlock(
-                                                                label="Stránka",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "link",
-                                                            wagtail.blocks.URLBlock(
-                                                                label="Odkaz",
-                                                                required=False,
-                                                            ),
-                                                        ),
-                                                        (
-                                                            "align",
-                                                            wagtail.blocks.ChoiceBlock(
-                                                                choices=[
-                                                                    (
-                                                                        "auto",
-                                                                        "Automaticky",
-                                                                    ),
-                                                                    (
-                                                                        "center",
-                                                                        "Na střed",
-                                                                    ),
-                                                                ],
-                                                                label="Zarovnání",
-                                                            ),
-                                                        ),
-                                                    ]
-                                                ),
-                                            ),
-                                            (
-                                                "button_group",
-                                                wagtail.blocks.StructBlock(
-                                                    [
-                                                        (
-                                                            "buttons",
-                                                            wagtail.blocks.ListBlock(
-                                                                wagtail.blocks.StructBlock(
-                                                                    [
-                                                                        (
-                                                                            "title",
-                                                                            wagtail.blocks.CharBlock(
-                                                                                label="Titulek",
-                                                                                max_length=128,
-                                                                                required=True,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "color",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "black",
-                                                                                        "Černá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "white",
-                                                                                        "Bílá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "pirati-yellow",
-                                                                                        "Žlutá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "grey-125",
-                                                                                        "Světle šedá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "blue-300",
-                                                                                        "Modrá",
-                                                                                    ),
-                                                                                    (
-                                                                                        "cyan-200",
-                                                                                        "Tyrkysová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "green-400",
-                                                                                        "Zelená",
-                                                                                    ),
-                                                                                    (
-                                                                                        "violet-400",
-                                                                                        "Vínová",
-                                                                                    ),
-                                                                                    (
-                                                                                        "red-600",
-                                                                                        "Červená",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Barva",
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "hoveractive",
-                                                                            wagtail.blocks.BooleanBlock(
-                                                                                default=True,
-                                                                                help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                                                label="Animovat na hover",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "page",
-                                                                            wagtail.blocks.PageChooserBlock(
-                                                                                label="Stránka",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "link",
-                                                                            wagtail.blocks.URLBlock(
-                                                                                label="Odkaz",
-                                                                                required=False,
-                                                                            ),
-                                                                        ),
-                                                                        (
-                                                                            "align",
-                                                                            wagtail.blocks.ChoiceBlock(
-                                                                                choices=[
-                                                                                    (
-                                                                                        "auto",
-                                                                                        "Automaticky",
-                                                                                    ),
-                                                                                    (
-                                                                                        "center",
-                                                                                        "Na střed",
-                                                                                    ),
-                                                                                ],
-                                                                                label="Zarovnání",
-                                                                            ),
-                                                                        ),
-                                                                    ]
-                                                                ),
-                                                                label="Tlačítka",
-                                                            ),
-                                                        )
-                                                    ]
-                                                ),
-                                            ),
-                                        ],
-                                        label="Obsah pravého sloupce",
-                                        required=True,
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "youtube",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "poster_image",
-                                    wagtail.images.blocks.ImageChooserBlock(
-                                        help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.",
-                                        label="Náhled videa (automatické pole)",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "video_url",
-                                    wagtail.blocks.URLBlock(
-                                        help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.",
-                                        label="Odkaz na video",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "video_id",
-                                    wagtail.blocks.CharBlock(
-                                        help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.",
-                                        label="ID videa (automatické pole)",
-                                        required=False,
-                                    ),
-                                ),
-                            ],
-                            label="YouTube video",
-                        ),
-                    ),
-                    (
-                        "map_point",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "lat",
-                                    wagtail.blocks.DecimalBlock(
-                                        help_text="Např. 50.04075",
-                                        label="Zeměpisná šířka",
-                                    ),
-                                ),
-                                (
-                                    "lon",
-                                    wagtail.blocks.DecimalBlock(
-                                        help_text="Např. 15.77659",
-                                        label="Zeměpisná délka",
-                                    ),
-                                ),
-                                (
-                                    "hex_color",
-                                    wagtail.blocks.CharBlock(
-                                        default="000000",
-                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                        label="Barva špendlíku (HEX)",
-                                    ),
-                                ),
-                                (
-                                    "zoom",
-                                    wagtail.blocks.IntegerBlock(
-                                        default=15,
-                                        label="Výchozí zoom",
-                                        max_value=18,
-                                        min_value=1,
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("osm-mapnik", "OSM Mapnik"),
-                                            ("stadia-osm-bright", "Stadia OSM Bright"),
-                                            ("stadia-outdoors", "Stadia Outdoors"),
-                                            ("mapbox-streets", "Mapbox Streets"),
-                                            ("mapbox-outdoors", "Mapbox Outdoors"),
-                                            ("mapbox-light", "Mapbox Light"),
-                                            ("mapbox-dark", "Mapbox Dark"),
-                                            ("mapbox-satellite", "Mapbox Satellite"),
-                                            ("mapbox-pirate", "Mapbox Pirate Theme"),
-                                        ],
-                                        label="Styl",
-                                    ),
-                                ),
-                                (
-                                    "height",
-                                    wagtail.blocks.IntegerBlock(
-                                        label="Výška v px",
-                                        max_value=1000,
-                                        min_value=100,
-                                    ),
-                                ),
-                            ],
-                            label="Špendlík na mapě",
-                        ),
-                    ),
-                    (
-                        "map_collection",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "features",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.blocks.StructBlock(
-                                            [
-                                                (
-                                                    "title",
-                                                    wagtail.blocks.CharBlock(
-                                                        label="Titulek", required=True
-                                                    ),
-                                                ),
-                                                (
-                                                    "description",
-                                                    wagtail.blocks.TextBlock(
-                                                        label="Popisek", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "geojson",
-                                                    wagtail.blocks.TextBlock(
-                                                        help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.",
-                                                        label="Geodata",
-                                                        required=True,
-                                                    ),
-                                                ),
-                                                (
-                                                    "image",
-                                                    wagtail.images.blocks.ImageChooserBlock(
-                                                        label="Obrázek", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "link",
-                                                    wagtail.blocks.URLBlock(
-                                                        label="Odkaz", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "hex_color",
-                                                    wagtail.blocks.CharBlock(
-                                                        default="000000",
-                                                        help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).",
-                                                        label="Barva (HEX)",
-                                                    ),
-                                                ),
-                                            ],
-                                            required=True,
-                                        ),
-                                        label="Součásti",
-                                    ),
-                                ),
-                                (
-                                    "zoom",
-                                    wagtail.blocks.IntegerBlock(
-                                        default=15,
-                                        label="Výchozí zoom",
-                                        max_value=18,
-                                        min_value=1,
-                                    ),
-                                ),
-                                (
-                                    "style",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("osm-mapnik", "OSM Mapnik"),
-                                            ("stadia-osm-bright", "Stadia OSM Bright"),
-                                            ("stadia-outdoors", "Stadia Outdoors"),
-                                            ("mapbox-streets", "Mapbox Streets"),
-                                            ("mapbox-outdoors", "Mapbox Outdoors"),
-                                            ("mapbox-light", "Mapbox Light"),
-                                            ("mapbox-dark", "Mapbox Dark"),
-                                            ("mapbox-satellite", "Mapbox Satellite"),
-                                            ("mapbox-pirate", "Mapbox Pirate Theme"),
-                                        ],
-                                        label="Styl",
-                                    ),
-                                ),
-                                (
-                                    "height",
-                                    wagtail.blocks.IntegerBlock(
-                                        label="Výška v px",
-                                        max_value=1000,
-                                        min_value=100,
-                                    ),
-                                ),
-                            ],
-                            label="Mapová kolekce",
-                        ),
-                    ),
-                    (
-                        "button",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "title",
-                                    wagtail.blocks.CharBlock(
-                                        label="Titulek", max_length=128, required=True
-                                    ),
-                                ),
-                                (
-                                    "color",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("black", "Černá"),
-                                            ("white", "Bílá"),
-                                            ("pirati-yellow", "Žlutá"),
-                                            ("grey-125", "Světle šedá"),
-                                            ("blue-300", "Modrá"),
-                                            ("cyan-200", "Tyrkysová"),
-                                            ("green-400", "Zelená"),
-                                            ("violet-400", "Vínová"),
-                                            ("red-600", "Červená"),
-                                        ],
-                                        label="Barva",
-                                    ),
-                                ),
-                                (
-                                    "hoveractive",
-                                    wagtail.blocks.BooleanBlock(
-                                        default=True,
-                                        help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                        label="Animovat na hover",
-                                        required=False,
-                                    ),
-                                ),
-                                (
-                                    "page",
-                                    wagtail.blocks.PageChooserBlock(
-                                        label="Stránka", required=False
-                                    ),
-                                ),
-                                (
-                                    "link",
-                                    wagtail.blocks.URLBlock(
-                                        label="Odkaz", required=False
-                                    ),
-                                ),
-                                (
-                                    "align",
-                                    wagtail.blocks.ChoiceBlock(
-                                        choices=[
-                                            ("auto", "Automaticky"),
-                                            ("center", "Na střed"),
-                                        ],
-                                        label="Zarovnání",
-                                    ),
-                                ),
-                            ]
-                        ),
-                    ),
-                    (
-                        "button_group",
-                        wagtail.blocks.StructBlock(
-                            [
-                                (
-                                    "buttons",
-                                    wagtail.blocks.ListBlock(
-                                        wagtail.blocks.StructBlock(
-                                            [
-                                                (
-                                                    "title",
-                                                    wagtail.blocks.CharBlock(
-                                                        label="Titulek",
-                                                        max_length=128,
-                                                        required=True,
-                                                    ),
-                                                ),
-                                                (
-                                                    "color",
-                                                    wagtail.blocks.ChoiceBlock(
-                                                        choices=[
-                                                            ("black", "Černá"),
-                                                            ("white", "Bílá"),
-                                                            ("pirati-yellow", "Žlutá"),
-                                                            ("grey-125", "Světle šedá"),
-                                                            ("blue-300", "Modrá"),
-                                                            ("cyan-200", "Tyrkysová"),
-                                                            ("green-400", "Zelená"),
-                                                            ("violet-400", "Vínová"),
-                                                            ("red-600", "Červená"),
-                                                        ],
-                                                        label="Barva",
-                                                    ),
-                                                ),
-                                                (
-                                                    "hoveractive",
-                                                    wagtail.blocks.BooleanBlock(
-                                                        default=True,
-                                                        help_text="Pokud je zapnuto, tlačítko při najetí kurzorem ukáže žlutou šipku.",
-                                                        label="Animovat na hover",
-                                                        required=False,
-                                                    ),
-                                                ),
-                                                (
-                                                    "page",
-                                                    wagtail.blocks.PageChooserBlock(
-                                                        label="Stránka", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "link",
-                                                    wagtail.blocks.URLBlock(
-                                                        label="Odkaz", required=False
-                                                    ),
-                                                ),
-                                                (
-                                                    "align",
-                                                    wagtail.blocks.ChoiceBlock(
-                                                        choices=[
-                                                            ("auto", "Automaticky"),
-                                                            ("center", "Na střed"),
-                                                        ],
-                                                        label="Zarovnání",
-                                                    ),
-                                                ),
-                                            ]
-                                        ),
-                                        label="Tlačítka",
-                                    ),
-                                )
-                            ]
-                        ),
-                    ),
-                ],
-                blank=True,
-                verbose_name="Článek",
-            ),
-        ),
-    ]
diff --git a/uniweb/models.py b/uniweb/models.py
index e26531645577136255d6fbbc8db09dbec5fd3960..7217b6fb8e3ba92eb5bf4dd5644abf452c939335 100644
--- a/uniweb/models.py
+++ b/uniweb/models.py
@@ -27,18 +27,18 @@ from wagtail.search import index
 from wagtailmetadata.models import MetadataPageMixin
 
 from calendar_utils.models import CalendarMixin
-from shared.blocks import ChartBlock, FlipCardsBlock, NewsletterSubscriptionBlock
-from shared.const import RICH_TEXT_DEFAULT_FEATURES
-from shared.models import (
+from shared_legacy.blocks import ChartBlock, FlipCardsBlock, NewsletterSubscriptionBlock
+from shared_legacy.const import RICH_TEXT_DEFAULT_FEATURES
+from shared_legacy.models import (
     ArticleMixin,
     ExtendedMetadataHomePageMixin,
     ExtendedMetadataPageMixin,
     PdfPageMixin,
-    SharedTaggedUniwebArticle,
     SubpageMixin,
 )
-from shared.models.legacy import ArticlesPageMixin, FooterMixin
-from shared.utils import make_promote_panels, strip_all_html_tags, trim_to_length
+from shared.models import SharedTaggedUniwebArticle
+from shared_legacy.models import ArticlesPageMixin, FooterMixin
+from shared_legacy.utils import make_promote_panels, strip_all_html_tags, trim_to_length
 from tuning import admin_help
 
 from .blocks import AlignedTableBlock, PeopleGroupListBlock, PersonUrlBlock