diff --git a/calendar_utils/models.py b/calendar_utils/models.py
index 154098170e7e229b35b3dc1c1c59123214c7349b..6b219237e3f6d99497f69c2f9c7441e2ecc18822 100644
--- a/calendar_utils/models.py
+++ b/calendar_utils/models.py
@@ -1,3 +1,5 @@
+import re
+
 import arrow
 import requests
 from django.core.serializers.json import DjangoJSONEncoder
@@ -24,6 +26,27 @@ class EventsJSONField(models.JSONField):
             for event in value:
                 event["begin"] = arrow.get(event["begin"]).datetime
                 event["end"] = arrow.get(event["end"]).datetime
+
+                event["pir"] = {
+                    "name": None,
+                    "tags": [],
+                    "region": None,
+                }
+
+                pir_name = []
+
+                for word in event["name"].split():
+                    if word.startswith("#"):
+                        event["pir"]["tags"].append(word[1:])
+                    else:
+                        pir_name.append(word)
+
+                if len(pir_name) > 0:
+                    if pir_name[0].endswith(":") and len(pir_name[0]) == 4:
+                        event["pir"]["region"] = pir_name.pop(0)[:-1]
+
+                event["pir"]["name"] = " ".join(pir_name)
+
         return value
 
 
diff --git a/elections2021/templates/elections2021/elections2021_calendar_page.html b/elections2021/templates/elections2021/elections2021_calendar_page.html
index 920169fd4b68ae6d930fb95d8f6b307cee9a76f3..23302d608b102097188e0362cd8d8bf138517fc6 100644
--- a/elections2021/templates/elections2021/elections2021_calendar_page.html
+++ b/elections2021/templates/elections2021/elections2021_calendar_page.html
@@ -16,42 +16,181 @@
 {% endblock %}
 
 {% block content %}
-<div class="container container--default pt-8 pb-16 lg:py-24">
+<div class="container container--default pt-16 pb-8 px-0 md:px-1">
+  <div class="m-auto text-center text-xl leading-loose max-w-2xl">
+    {% if not request.GET.tag %}
+    <span class="font-bold p-1 bg-black text-white">Všechny akce</span> nebo jenom
+    {% else %}
+    <a href="?region={{request.GET.region|urlencode}}&amp;tag=" class="font-bold p-1 bg-lemon">Všechny akce</a> nebo jenom
+    {% endif %}
 
+    {% if request.GET.tag == 'lídři' %}
+    <span class="font-bold p-1 bg-black text-white">setkání s lídry</span>,
+    {% else %}
+    <a href="?region={{request.GET.region|urlencode}}&amp;tag=lídři" class="font-bold p-1 bg-lemon">setkání s lídry</a>,
+    {% endif %}
+
+    {% if request.GET.tag == 'bartoš' %}
+    <span class="font-bold p-1 bg-black text-white">Ivanem Bartošem</span>,
+    {% else %}
+    <a href="?region={{request.GET.region|urlencode}}&amp;tag=bartoš" class="font-bold p-1 bg-lemon">Ivanem Bartošem</a>,
+    {% endif %}
+
+    {% if request.GET.tag == 'rakušan' %}
+    <span class="font-bold p-1 bg-black text-white">Vítem Rakušanem</span>,
+    {% else %}
+    <a href="?region={{request.GET.region|urlencode}}&amp;tag=rakušan" class="font-bold p-1 bg-lemon">Vítem Rakušanem</a>,
+    {% endif %}
+
+    {% if request.GET.tag == 'nanukára' %}
+    <span class="font-bold p-1 bg-black text-white">zastávka Nanukáry</span> či
+    {% else %}
+    <a href="?region={{request.GET.region|urlencode}}&amp;tag=nanukára" class="font-bold p-1 bg-lemon">zastávka Nanukáry</a> či
+    {% endif %}
+
+    {% if request.GET.tag == 'vraťmezemibudoucnost' %}
+    <span class="font-bold p-1 bg-black text-white">vraťme zemi budoucnost</span>?
+    {% else %}
+    <a href="?region={{request.GET.region|urlencode}}&amp;tag=vraťmezemibudoucnost" class="font-bold p-1 bg-lemon">vraťme zemi budoucnost</a>?
+    {% endif %}
+  </div>
+
+  <div class="m-auto text-center py-8 text-xl leading-loose max-w-2xl">
+    {% if not request.GET.region %}
+    <span class="font-bold p-1 bg-black text-white">Všechny kraje</span> nebo jenom
+    {% else %}
+    <a href="?region=&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Všechny kraje</a> nebo jenom
+    {% endif %}
+
+    {% if request.GET.region == 'PHA' %}
+    <span class="font-bold p-1 bg-black text-white">Praha</span>,
+    {% else %}
+    <a href="?region=PHA&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Praha</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'STC' %}
+    <span class="font-bold p-1 bg-black text-white">Středočeský</span>,
+    {% else %}
+    <a href="?region=STC&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Středočeský</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'JHC' %}
+    <span class="font-bold p-1 bg-black text-white">Jihočeský</span>,
+    {% else %}
+    <a href="?region=JHC&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Jihočeský</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'PLK' %}
+    <span class="font-bold p-1 bg-black text-white">Plzeňský</span>,
+    {% else %}
+    <a href="?region=PLK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Plzeňský</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'KVK' %}
+    <span class="font-bold p-1 bg-black text-white">Karlovarský</span>,
+    {% else %}
+    <a href="?region=KVK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Karlovarský</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'ULK' %}
+    <span class="font-bold p-1 bg-black text-white">Ústecký</span>,
+    {% else %}
+    <a href="?region=ULK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Ústecký</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'LBK' %}
+    <span class="font-bold p-1 bg-black text-white">Liberecký</span>,
+    {% else %}
+    <a href="?region=LBK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Liberecký</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'HKK' %}
+    <span class="font-bold p-1 bg-black text-white">Královéhradecký</span>,
+    {% else %}
+    <a href="?region=HKK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Královéhradecký</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'MSK' %}
+    <span class="font-bold p-1 bg-black text-white">Moravskoslezský</span>,
+    {% else %}
+    <a href="?region=MSK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Moravskoslezský</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'PAK' %}
+    <span class="font-bold p-1 bg-black text-white">Pardubický</span>,
+    {% else %}
+    <a href="?region=PAK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Pardubický</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'VYS' %}
+    <span class="font-bold p-1 bg-black text-white">Vysočina</span>,
+    {% else %}
+    <a href="?region=VYS&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Vysočina</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'JHM' %}
+    <span class="font-bold p-1 bg-black text-white">Jihomoravský</span>,
+    {% else %}
+    <a href="?region=JHM&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Jihomoravský</a>,
+    {% endif %}
+
+    {% if request.GET.region == 'OLK' %}
+    <span class="font-bold p-1 bg-black text-white">Olomoucký</span> či
+    {% else %}
+    <a href="?region=OLK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Olomoucký</a> či
+    {% endif %}
+
+    {% if request.GET.region == 'ZLK' %}
+    <span class="font-bold p-1 bg-black text-white">Zlínský</span>?
+    {% else %}
+    <a href="?region=ZLK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Zlínský</a>?
+    {% endif %}
+  </div>
+
+<div class="container container--default pt-8 pb-16 px-0 md:px-1">
   {% for event in page.calendar.future_events %}
-  <div class="grid grid-cols-12 items-center calendar-table-row my-1">
-    <div class="col-span-2 head-alt-md calendar-table-row__col" style="color: #92ac00">
-      <span>{{ event.begin|date:"j." }}</span>
-    </div>
-    <div class="col-span-8 grid grid-cols-3 calendar-table-row__col">
-      <div class="col-span-3 md:col-span-1">
-        <strong class="block">{{ event.begin|date:"l j. E"|capfirst }}</strong>
-        <p class="font-light text-sm mt-1">{{ event.duration }}</p>
-      </div>
-      <div class="col-span-3 md:col-span-2 mt-4 md:mt-0">
-        <strong class="block">{{ event.name }}</strong>
-        {% if event.location %}
-        <p class="font-light text-sm mt-1">{{ event.location }}</p>
-        {% endif %}
-
-        {% if event.description %}
-        <p class="font-light text-sm mt-1">{{ event.description }}</p>
-        {% endif %}
-      </div>
-    </div>
-    <div class="col-span-2 text-center font-light calendar-table-row__col">
-      {% if event.location %}
-      <a href="https://maps.google.com/maps?q={{ event.location }}" class="icon-link">
-        <i class="ico--location" style="color: #92ac00" aria-hidden="true"></i>
-        <span>Mapa</span>
-      </a>
+    {% if not request.GET.tag or request.GET.tag in event.pir.tags %}
+      {% if not request.GET.region or request.GET.region == event.pir.region %}
+        <div class="grid grid-cols-12 items-center calendar-table-row my-1">
+          <div class="col-span-2 head-alt-md calendar-table-row__col" style="color: #92ac00">
+            <span>{{ event.begin|date:"j." }}</span>
+          </div>
+          <div class="col-span-8 grid grid-cols-3 calendar-table-row__col">
+            <div class="col-span-3 md:col-span-1">
+              <strong class="block">{{ event.begin|date:"l j. E"|capfirst }}</strong>
+              <p class="font-light text-sm mt-1">{{ event.duration }}</p>
+            </div>
+            <div class="col-span-3 md:col-span-2 mt-4 md:mt-0">
+              <p>
+                <strong>{{ event.pir.name }}</strong>
+                {% for tag in event.pir.tags %}
+                <span class="text-sm font-light">#{{tag}}</span>
+                {% endfor %}
+              </p>
+              {% if event.location %}
+              <p class="font-light text-sm mt-1">{{ event.location }}</p>
+              {% endif %}
+
+              {% if event.description %}
+              <p class="font-light text-sm mt-1">{{ event.description }}</p>
+              {% endif %}
+            </div>
+          </div>
+          <div class="col-span-2 text-center font-light calendar-table-row__col">
+            {% if event.location %}
+            <a href="https://maps.google.com/maps?q={{ event.location }}" class="icon-link">
+              <i class="ico--location" style="color: #92ac00" aria-hidden="true"></i>
+              <span>Mapa</span>
+            </a>
+            {% endif %}
+          </div>
+        </div>
       {% endif %}
-    </div>
-  </div>
+    {% endif %}
   {% empty %}
-  <div class="calendar__row__content">
-    <p>Žádné události.</p>
-  </div>
+    <div class="calendar__row__content">
+      <p>Žádné události.</p>
+    </div>
   {% endfor %}
 
 </div>
diff --git a/elections2021/templates/elections2021/elections2021_home_page.html b/elections2021/templates/elections2021/elections2021_home_page.html
index 9e5a6812abb5f7935c1289c2608edb696831c043..47f7eb704a05b28589d0415e308a4de9fed34dba 100644
--- a/elections2021/templates/elections2021/elections2021_home_page.html
+++ b/elections2021/templates/elections2021/elections2021_home_page.html
@@ -89,7 +89,12 @@
                 <p class="font-light text-sm mt-1">{{ event.duration }}</p>
               </div>
               <div class="col-span-3 md:col-span-2 mt-4 md:mt-0">
-                <strong class="block">{{ event.name }}</strong>
+                <p>
+                  <strong>{{ event.pir.name }}</strong>
+                  {% for tag in event.pir.tags %}
+                  <span class="text-sm font-light">#{{tag}}</span>
+                  {% endfor %}
+                </p>
                 {% if event.location %}
                 <p class="font-light text-sm mt-1">{{ event.location }}</p>
                 {% endif %}