diff --git a/src/App.js b/src/App.js
index 8b4771b2896edf8c4211a49c771fde7c65bcf866..4af5727b03c634ce3a8b824cf036d04a0767ddbe 100644
--- a/src/App.js
+++ b/src/App.js
@@ -49,7 +49,7 @@ function BaseApp() {
       </Helmet>
 
       <div className="container container--default my-4 md:my-16 space-y-8 md:space-y-16">
-        <div className="md:flex items-center text-center md:text-left">
+        <header className="md:flex items-center text-center md:text-left">
           <h1 className="head-alt-xl">
             <Link to="/" className="no-underline hover:no-underline">
               {basics.appTitle}
@@ -60,7 +60,7 @@ function BaseApp() {
             <h2>{process.env.REACT_APP_CF_EVENT_CITY}</h2>
             <h2>{process.env.REACT_APP_CF_EVENT_VENUE}</h2>
           </div>
-        </div>
+        </header>
 
         <Switch>
           <Route path="/registrace">
@@ -93,10 +93,10 @@ function BaseApp() {
           </Route>
         </Switch>
 
-        <div className="border-t border-grey-125 pt-4 flex flex-col md:flex-row items-center md:justify-between space-y-4  text-center md:text-left">
+        <footer className="border-t border-grey-125 pt-4 flex flex-col md:flex-row items-center md:justify-between space-y-4  text-center md:text-left">
           <img src={partyLogo} className="w-32" alt="Pirátská strana" />
           <p>Piráti, {year}. Všechna práva vyhlazena.</p>
-        </div>
+        </footer>
       </div>
     </Router>
   );
diff --git a/src/components/VNav.js b/src/components/VNav.js
index 445f5358420e8062a3be670be12ac833b659f0be..e212525ed1886b6ced17c42d9903fa0e58d2cdcd 100644
--- a/src/components/VNav.js
+++ b/src/components/VNav.js
@@ -10,7 +10,7 @@ const VNav = ({ className, ...props }) => {
   );
 
   return (
-    <div className={cls} {...props}>
+    <nav className={cls} {...props}>
       <ul className="vertical-navbar__items">
         <li>
           <NavLink to="/">Rozcestník</NavLink>
@@ -29,7 +29,7 @@ const VNav = ({ className, ...props }) => {
             </li>
           ))}
       </ul>
-    </div>
+    </nav>
   );
 };
 
diff --git a/src/header.afdesign b/src/header.afdesign
index bb2fb142fb260d990db781e1440a000167707bb1..7569e2003356e948312fe020bd458fa33e97ee25 100644
Binary files a/src/header.afdesign and b/src/header.afdesign differ
diff --git a/src/pages/Accommodation.js b/src/pages/Accommodation.js
index 04b40ce60e9dbff7d38be975b3e94ee77fd58d10..fd7d5851dbe7ad52484e43a7a99624ed946e6e3e 100644
--- a/src/pages/Accommodation.js
+++ b/src/pages/Accommodation.js
@@ -20,15 +20,28 @@ const Accommodation = () => {
     });
   };
 
+  const perex =
+    "Jedete na CF 2022 a nechcete každý večer pendlovat trasu domov - Pardubice? Využijte ubytování, které jsme pro vás zařídili nedaleko Ideonu! Nabízíme vám šest osvědčených hotelů v centru Pardubic, ze kterých si vybere každý. Heslo pro ubytování je: PIRÁTI.";
+
   return (
-    <div className="space-y-8 w-full">
+    <article className="space-y-8 w-full">
       <PageTitle>Ubytování</PageTitle>
 
       <Helmet>
         <title>Ubytování | {basics.appTitle}</title>
+        <meta name="description" content={perex} />
         <meta property="og:title" content="Ubytování" />
+        <meta property="og:description" content={perex} />
       </Helmet>
 
+      <p className="leading-normal">
+        Jedete na CF 2022 a nechcete každý večer pendlovat trasu domov -
+        Pardubice? Využijte ubytování, které jsme pro vás zařídili nedaleko
+        Ideonu! Nabízíme vám šest osvědčených hotelů v centru Pardubic, ze
+        kterých si vybere každý. Heslo pro ubytování je: <strong>PIRÁTI</strong>
+        .
+      </p>
+
       <div className="grid lg:grid-cols-2 gap-4 md:gap-8 container-padding--zero md:container-padding--auto">
         {accommodation.map((place) => (
           <Card key={place.title} className="relative">
@@ -78,7 +91,7 @@ const Accommodation = () => {
           </Card>
         ))}
       </div>
-    </div>
+    </article>
   );
 };
 
diff --git a/src/pages/Home.js b/src/pages/Home.js
index 91579fd7b4fe9bc57b03779989c33b86bef036bb..497a405762b1a96e13fcb5cbb1137b2a1f5458cc 100644
--- a/src/pages/Home.js
+++ b/src/pages/Home.js
@@ -12,7 +12,7 @@ const Home = () => {
   const hours = Math.floor((delta - days * 86_400) / 3_600) % 24;
 
   return (
-    <>
+    <article className="space-y-8 md:space-y-16">
       <div className="relative card elevation-10 flex flex-col lg:flex-row lg:items-center my-8 xl:-mx-16 container-padding--zero md:container-padding--auto">
         <div
           className="absolute w-full h-full flex bg-blur"
@@ -54,7 +54,7 @@ const Home = () => {
           />
         ))}
       </div>
-    </>
+    </article>
   );
 };
 
diff --git a/src/pages/Map.js b/src/pages/Map.js
index 890503caa153772c2876034858614673e4a4b9ad..62c389e395cf1a533b0ac7cfdeacbaf9fc7cf531 100644
--- a/src/pages/Map.js
+++ b/src/pages/Map.js
@@ -25,7 +25,7 @@ const Map = () => {
   };
 
   return (
-    <div className="space-y-8 w-full">
+    <article className="space-y-8 w-full">
       <PageTitle>Mapa</PageTitle>
       <Helmet>
         <title>Mapa | {basics.appTitle}</title>
@@ -70,7 +70,7 @@ const Map = () => {
           ))}
         </MapContainer>
       </div>
-    </div>
+    </article>
   );
 };
 
diff --git a/src/pages/Registration.js b/src/pages/Registration.js
index 863448dc77f2bb16b4a5450913d2852716ee56b0..1eb075a91df58cc0363fc05eb791f228626a5b29 100644
--- a/src/pages/Registration.js
+++ b/src/pages/Registration.js
@@ -7,7 +7,7 @@ import { basics } from "config";
 
 const Registration = () => {
   return (
-    <div className="space-y-8 w-full">
+    <article className="space-y-8 w-full">
       <PageTitle>Registrace</PageTitle>
 
       <Helmet>
@@ -142,7 +142,7 @@ const Registration = () => {
           </CardBody>
         </Card>
       </div>
-    </div>
+    </article>
   );
 };
 
diff --git a/src/pages/Team.js b/src/pages/Team.js
index 08e2ab2b48c63d1041eb4ad68939a15491e8f48b..8759ba1b5554b65f12eb7605aa5c3ea52204102f 100644
--- a/src/pages/Team.js
+++ b/src/pages/Team.js
@@ -2,18 +2,21 @@ import React from "react";
 import { Helmet } from "react-helmet";
 
 import Badge from "components/Badge";
+import PageTitle from "components/PageTitle";
 import { basics, organisers } from "config";
 
 const Team = () => {
   const isLastItem = (idx) => organisers.length - 1 === idx;
 
   return (
-    <div className="space-y-8 w-full">
+    <article className="space-y-8 w-full">
       <Helmet>
         <title>Organizátoři | {basics.appTitle}</title>
         <meta property="og:title" content="Organizátoři" />
       </Helmet>
 
+      <PageTitle>Organizátoři</PageTitle>
+
       {organisers.map((team, idx) => (
         <React.Fragment key={team.title}>
           <section key={team.title}>
@@ -34,7 +37,7 @@ const Team = () => {
           {!isLastItem(idx) && <hr className="hr--big" />}
         </React.Fragment>
       ))}
-    </div>
+    </article>
   );
 };
 
diff --git a/src/pages/Volunteers.js b/src/pages/Volunteers.js
index 5a40a60112e36aaecb3fdf222f42b25e89126161..076ff189ffa5edca23870d20b00e51015bed1c21 100644
--- a/src/pages/Volunteers.js
+++ b/src/pages/Volunteers.js
@@ -5,7 +5,7 @@ import { basics } from "config";
 
 const Volunteers = () => {
   return (
-    <div className="w-full">
+    <article className="w-full">
       <PageTitle>Pro dobrovolníky</PageTitle>
 
       <Helmet>
@@ -55,7 +55,7 @@ const Volunteers = () => {
           Jiráskova 1963, Pardubice
         </p>
       </div>
-    </div>
+    </article>
   );
 };