diff --git a/conf.py b/conf.py
index 0594e0c3b2864b8a0d092d7f447ca2e6d2b5317a_Y29uZi5weQ==..6fb6953b86174826bed347dcac590ceb299109b3_Y29uZi5weQ== 100644
--- a/conf.py
+++ b/conf.py
@@ -139,6 +139,13 @@
 
 NAVIGATION_LINKS = {
     DEFAULT_LANG: (
-        ('/index.html', '<image src="images/pypy-logo-nav.png" alt=PyPy/>'),
-        ('/features.html', 'What is PyPy?'),
+        ('/index.html', '<image src="images/pypy-logo.svg" width=75 alt=PyPy>'),
+        (
+            (
+                ('/features.html', 'What is PyPy?'),
+                ('/compat.html', 'Compatibility'),
+                ('/performance.html', 'Performance'),
+            ),
+            'Features',
+        ),
         ('/download.html', 'Download'),
@@ -144,5 +151,3 @@
         ('/download.html', 'Download'),
-        ('/compat.html', 'Compatibility'),
-        ('/performance.html', 'Performance'),
         ('http://doc.pypy.org', 'Dev Documentation'),
         ('http://morepypy.blogspot.com', 'Blog'),
@@ -147,8 +152,13 @@
         ('http://doc.pypy.org', 'Dev Documentation'),
         ('http://morepypy.blogspot.com', 'Blog'),
-        ('/people.html', 'People'),
-        ('/contact.html', 'Contact'),
-        ("/rss.xml", "RSS feed"),
+        (
+            (
+                ('/people.html', 'People'),
+                ('/contact.html', 'Contact'),
+            ),
+            'About',
+        ),
+        #("/rss.xml", "RSS feed"),
     ),
 }
 
@@ -944,7 +954,11 @@
 
 # A small copyright notice for the page footer (in HTML).
 # (translatable)
-CONTENT_FOOTER = 'Contents &copy; {date}         <a href="mailto:{email}">{author}</a> - Powered by         <a href="https://getnikola.com" rel="nofollow">Nikola</a>         {license}'
+CONTENT_FOOTER = """
+<img src="images/pypy-logo-nav-grey.png" alt="PyPy Logo" />  Contents &copy;
+{date} <a href="mailto:{email}">{author}</a> Powered by <a
+href="https://getnikola.com" rel="nofollow">Nikola</a> {license}
+"""
 
 # Things that will be passed to CONTENT_FOOTER.format().  This is done
 # for translatability, as dicts are not formattable.  Nikola will
diff --git a/image/pypy-logo-nav-grey.png b/image/pypy-logo-nav-grey.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ac40afe49713efe05dd296a619862e5ee7f00cb
GIT binary patch
literal 1672
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
Pe-%Lgff2Ms$2Rz1&gZ`z

diff --git a/image/pypy-logo.svg b/image/pypy-logo.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6fb6953b86174826bed347dcac590ceb299109b3_aW1hZ2UvcHlweS1sb2dvLnN2Zw==
--- /dev/null
+++ b/image/pypy-logo.svg
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 361.4 170.8" style="enable-background:new 0 0 361.4 170.8;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#90A99C;}
+	.st1{fill:#D1DCC0;}
+	.st2{opacity:0.6;fill:url(#SVGID_1_);}
+	.st3{opacity:0.6;fill:url(#SVGID_2_);}
+	.st4{opacity:0.6;fill:url(#SVGID_3_);}
+	.st5{opacity:0.6;fill:url(#SVGID_4_);}
+	.st6{opacity:0.6;fill:url(#SVGID_5_);}
+	.st7{fill:#193440;}
+	.st8{opacity:0.6;fill:url(#SVGID_6_);}
+	.st9{fill:#3F616E;}
+	.st10{opacity:0.6;fill:url(#SVGID_7_);}
+	.st11{fill:#FFFFFF;}
+</style>
+<g>
+	<path class="st0" d="M83.5,3.3c-6.8,0-12.2,1.5-18.6,3l5.1,32.5c1,0.6,1.9,1.4,2.8,2.3c3.5-0.8,7.2-1.3,10.9-1.3
+		c2.1,0,4.1,0.1,6.1,0.4c-1.3-0.7-2.2-1.7-2.1-2.8c0.1-1.9,3.1-3.2,6.6-2.9c3.5,0.3,6.2,2,6.1,3.9c-0.1,1.6-2.2,2.7-4.9,2.9
+		c19.4,5,34,22.2,35,43c0.1,0.9,0.1,1.8,0.1,2.8l0,0c0,48-47.1,83.8-47.1,83.8s0,0,0,0c46.2,0,83.7-37.5,83.7-83.8
+		C167.3,40.8,129.8,3.3,83.5,3.3z M116.4,43.6c-0.7-0.7-1.3-1.3-2-1.8l3.2-0.6C117.2,42,116.8,42.8,116.4,43.6z"/>
+	<path class="st1" d="M83.8,3.3C37.5,3.3,0,40.8,0,87.1s37.5,83.8,83.8,83.8s83.8-37.5,83.8-83.8S130,3.3,83.8,3.3z M117.6,41.1
+		c-0.4,0.9-0.8,1.7-1.2,2.5c-0.7-0.7-1.3-1.3-2-1.8L117.6,41.1z M126.3,106.3c-0.2,0.4-0.4,0.9-0.6,1.3c-2.6,5.2-6.1,9.8-10.4,13.7
+		c-0.7,0.6-1.4,1.2-2.1,1.8c-1,0.8-2.1,1.6-3.2,2.4c-1.2,0.8-2.5,1.6-3.9,2.3c-6.6,3.6-14.2,5.7-22.3,5.7c-8.1,0-15.7-2-22.3-5.7
+		c-1.3-0.7-2.6-1.5-3.9-2.3c-1.1-0.8-2.2-1.6-3.2-2.4c-0.7-0.6-1.4-1.2-2.1-1.8c-0.6-0.5-1.1-1-1.6-1.6c-3.5-3.5-6.5-7.6-8.8-12.1
+		c-0.2-0.4-0.4-0.9-0.6-1.3c-2.8-6-4.3-12.6-4.3-19.7c0-12.9,5.2-24.6,13.7-33.1c0.5-0.5,1.1-1,1.6-1.6c1.7-1.5,3.4-2.9,5.3-4.2
+		c3.4-2.3,7.2-4.2,11.2-5.5c-0.6-0.6-1.2-1.2-1.9-1.7c-1.5-1-3.3-1.6-5.2-1.9c-1.9-0.4-3.9-0.4-5.9-0.3c-2,0.1-4,0.4-6,0.9
+		c1.9-0.8,3.8-1.5,5.9-1.9c2-0.5,4.1-0.8,6.3-0.8c2.1,0,4.4,0.3,6.5,1.2c1.7,0.7,3.2,1.9,4.5,3.3c3.5-0.8,7.2-1.3,11-1.3
+		c2.1,0,4.1,0.2,6.2,0.4c-1.4-0.7-2.2-1.7-2.1-2.8c0.1-1.9,3.1-3.2,6.6-2.9c3.5,0.3,6.2,2,6.1,3.9c-0.1,1.6-2.2,2.7-5,2.9
+		c5.2,1.3,10.1,3.5,14.4,6.5c12.5,8.4,20.7,22.7,20.7,38.8C130.6,93.6,129.1,100.3,126.3,106.3z"/>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="88.7372" y1="39.4964" x2="83.9239" y2="37.7445">
+			<stop  offset="0" style="stop-color:#FFFFFF"/>
+			<stop  offset="0.1884" style="stop-color:#FCFCFC"/>
+			<stop  offset="0.3217" style="stop-color:#F3F3F3"/>
+			<stop  offset="0.4381" style="stop-color:#E3E3E3"/>
+			<stop  offset="0.5447" style="stop-color:#CDCDCD"/>
+			<stop  offset="0.6448" style="stop-color:#B1B1B1"/>
+			<stop  offset="0.7399" style="stop-color:#8E8E8E"/>
+			<stop  offset="0.8311" style="stop-color:#646464"/>
+			<stop  offset="0.917" style="stop-color:#353535"/>
+			<stop  offset="1" style="stop-color:#000000"/>
+		</linearGradient>
+		<path class="st2" d="M86,38.3c-0.5,0.2-1,0.4-1.4,0.5c-0.4,0.1-0.8,0.2-1.2,0.4c1.8,0,3.6,0.1,5.4,0.2c-0.6-0.6-1-1.3-1-1.9
+			c-0.1,0.1-0.2,0.1-0.3,0.2C87,37.9,86.5,38.1,86,38.3z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="176.7438" y1="61.1448" x2="73.7115" y2="23.6441">
+			<stop  offset="0" style="stop-color:#FFFFFF"/>
+			<stop  offset="0.1884" style="stop-color:#FCFCFC"/>
+			<stop  offset="0.3217" style="stop-color:#F3F3F3"/>
+			<stop  offset="0.4381" style="stop-color:#E3E3E3"/>
+			<stop  offset="0.5447" style="stop-color:#CDCDCD"/>
+			<stop  offset="0.6448" style="stop-color:#B1B1B1"/>
+			<stop  offset="0.7399" style="stop-color:#8E8E8E"/>
+			<stop  offset="0.8311" style="stop-color:#646464"/>
+			<stop  offset="0.917" style="stop-color:#353535"/>
+			<stop  offset="1" style="stop-color:#000000"/>
+		</linearGradient>
+		<path class="st3" d="M83.5,3.3c-0.8,0-1.6,0-2.4,0.1c0.1,0,0.3,0.1,0.5,0.1c0.2,0,0.5,0.1,0.8,0.2c0.2,0,0.3,0.1,0.5,0.1
+			c0.2,0,0.3,0.1,0.5,0.2c0.4,0.1,0.8,0.2,1.2,0.4C85,4.4,85.5,4.6,86,4.8c0.5,0.2,1,0.5,1.5,0.7c0.5,0.3,1,0.6,1.6,0.9
+			c0.3,0.2,0.5,0.4,0.8,0.6c0.3,0.2,0.5,0.4,0.8,0.6C91.2,8,91.7,8.4,92.2,9c1,1,1.9,2.2,2.7,3.5c0.8,1.3,1.4,2.8,1.8,4.3
+			c0.1,0.4,0.2,0.8,0.3,1.2l0.1,0.3l0,0.3l0.1,0.6l0.1,0.6c0,0.2,0,0.4,0,0.6l0,0.6l0,0.3l0,0.2l0,0.1l0,0l0,0l-0.1,1.3l0,0.3
+			c0,0.1,0,0.2,0,0.3L97.2,24l-0.1,0.6l0,0.3L97,25.1c-0.1,0.4-0.2,0.8-0.3,1.2c-0.5,1.5-1,3-1.8,4.3c-0.8,1.3-1.7,2.5-2.7,3.5
+			c-0.2,0.2-0.3,0.3-0.5,0.5c0.8-0.1,1.7-0.2,2.7-0.1c3.5,0.3,6.2,2,6.1,3.9c-0.1,0.9-0.8,1.6-1.8,2.1c45.5,7.5,68.6,46.6,68.6,46.6
+			C167.3,40.8,129.8,3.3,83.5,3.3z M116.4,43.6c-0.7-0.7-1.3-1.3-2-1.8l3.2-0.6C117.2,42,116.8,42.8,116.4,43.6z"/>
+	</g>
+	<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="8.7971" y1="77.1246" x2="113.9849" y2="137.8548">
+		<stop  offset="0" style="stop-color:#FFFFFF"/>
+		<stop  offset="0.1884" style="stop-color:#FCFCFC"/>
+		<stop  offset="0.3217" style="stop-color:#F3F3F3"/>
+		<stop  offset="0.4381" style="stop-color:#E3E3E3"/>
+		<stop  offset="0.5447" style="stop-color:#CDCDCD"/>
+		<stop  offset="0.6448" style="stop-color:#B1B1B1"/>
+		<stop  offset="0.7399" style="stop-color:#8E8E8E"/>
+		<stop  offset="0.8311" style="stop-color:#646464"/>
+		<stop  offset="0.917" style="stop-color:#353535"/>
+		<stop  offset="1" style="stop-color:#000000"/>
+	</linearGradient>
+	<path class="st4" d="M130.6,87c0-0.9,0-1.9-0.1-2.8c0-0.1,0-0.1,0-0.2c0,0.9,0.1,1.7,0.1,2.6c0,7-1.6,13.7-4.3,19.7
+		c-0.2,0.4-0.4,0.9-0.6,1.3c-2.6,5.2-6.1,9.8-10.4,13.7c-0.7,0.6-1.4,1.2-2.1,1.8c-1,0.8-2.1,1.6-3.2,2.4c-1.2,0.8-2.5,1.6-3.9,2.3
+		c-6.6,3.6-14.2,5.7-22.3,5.7c-0.9,0-1.9,0-2.8-0.1c0.9,0.1,1.8,0.1,2.8,0.1c0,0-77.9,9.7-83-41.5c-0.2,0-0.4,0.1-0.5,0.1
+		c2.6,43.9,38.9,78.6,83.4,78.7c0,0,0,0,0,0S130.7,135.1,130.6,87L130.6,87z"/>
+	<path class="st1" d="M83.5,3.3c-6.8,0-12.2,1.5-18.6,3l2.8,31.3c0.2,0.1,0.3,0.1,0.5,0.2c0.5,0.2,1.1,0.5,1.6,0.8c0,0,0,0,0,0
+		c0.5,0.3,1,0.6,1.4,1l12.1-0.4c1.8,0,3.6,0.1,5.4,0.2c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1-0.1-0.2-0.3-0.3-0.4c-0.1-0.1-0.1-0.1-0.1-0.2
+		c-0.1-0.1-0.1-0.3-0.2-0.4c0-0.1-0.1-0.1-0.1-0.2c-0.1-0.2-0.1-0.4-0.1-0.6c0.1-1.9,3.1-3.2,6.6-2.9c3.5,0.3,6.2,2,6.1,3.9
+		c0,0.2-0.1,0.4-0.2,0.6c-0.1,0.1-0.2,0.3-0.3,0.4c0,0-0.1,0.1-0.1,0.2c-0.2,0.2-0.3,0.3-0.5,0.5c0,0,0,0,0,0
+		c-0.2,0.2-0.5,0.3-0.7,0.4c45.5,7.5,68.6,46.6,68.6,46.6C167.3,40.8,129.8,3.3,83.5,3.3z"/>
+	<g>
+		<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="85.0501" y1="41.2733" x2="86.087" y2="38.4245">
+			<stop  offset="0" style="stop-color:#FFFFFF"/>
+			<stop  offset="0.1884" style="stop-color:#FCFCFC"/>
+			<stop  offset="0.3217" style="stop-color:#F3F3F3"/>
+			<stop  offset="0.4381" style="stop-color:#E3E3E3"/>
+			<stop  offset="0.5447" style="stop-color:#CDCDCD"/>
+			<stop  offset="0.6448" style="stop-color:#B1B1B1"/>
+			<stop  offset="0.7399" style="stop-color:#8E8E8E"/>
+			<stop  offset="0.8311" style="stop-color:#646464"/>
+			<stop  offset="0.917" style="stop-color:#353535"/>
+			<stop  offset="1" style="stop-color:#000000"/>
+		</linearGradient>
+		<path class="st5" d="M89.9,40.2c-0.4-0.2-0.8-0.5-1.1-0.8c-1.8-0.1-3.6-0.2-5.4-0.2c0.4-0.1,0.8-0.2,1.2-0.4l-2.8,0.7l-0.7,0.3
+			c0.9,0,1.7-0.1,2.6-0.1C85.8,39.8,87.9,39.9,89.9,40.2z"/>
+		<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="93.95" y1="174.5922" x2="138.1377" y2="53.1876">
+			<stop  offset="0" style="stop-color:#FFFFFF"/>
+			<stop  offset="0.1884" style="stop-color:#FCFCFC"/>
+			<stop  offset="0.3217" style="stop-color:#F3F3F3"/>
+			<stop  offset="0.4381" style="stop-color:#E3E3E3"/>
+			<stop  offset="0.5447" style="stop-color:#CDCDCD"/>
+			<stop  offset="0.6448" style="stop-color:#B1B1B1"/>
+			<stop  offset="0.7399" style="stop-color:#8E8E8E"/>
+			<stop  offset="0.8311" style="stop-color:#646464"/>
+			<stop  offset="0.917" style="stop-color:#353535"/>
+			<stop  offset="1" style="stop-color:#000000"/>
+		</linearGradient>
+		<path class="st6" d="M98.7,40.5c-0.8,0.4-1.9,0.7-3.1,0.8c19.4,5,34,22.2,35,43c0.1,0.9,0.1,1.8,0.1,2.8l0,0
+			c0,48-47.1,83.8-47.1,83.8s0,0,0,0c46.2,0,83.7-37.5,83.7-83.8C167.3,87.1,144.2,48,98.7,40.5z"/>
+	</g>
+	<g>
+		<path class="st7" d="M319.7,78.5c0-0.9,0-2.9,0.1-5.7c0-2.9,0.1-5.7,0.1-8.4c0-4.3-1.2-7.6-3.5-10.1c-2.3-2.4-5.8-3.7-10.5-3.7
+			c-1,0-2.4,0-4.1,0.1c-1.7,0-3,0.1-3.9,0.1c-0.7,0-2.2,0-4.5-0.1c-2.3,0-3.8-0.1-4.5-0.1c-2.9,0-4.4,1.4-4.4,4.3
+			c0,1.2,0,5.6,0.1,13c0,7.4,0.1,12.9,0.1,16.4c0,7.8,0,19.6-0.1,32.1h0c0,3.4,2.7,6.1,6.1,6.1c3.4,0,6.1-2.7,6.1-6.1v-7
+			c0-0.6,0.3-0.9,0.9-0.9h8.2c4.5,0,8-1.2,10.3-3.7c2.3-2.4,3.5-6,3.5-10.6c0-2.4,0-5.3-0.1-8.5C319.7,82.5,319.7,80.1,319.7,78.5z
+			 M307.5,93.4c0,2.7-1.3,4.1-4,4.1h-5.8c-0.5,0-0.8-0.3-0.8-0.8V62.8c0-0.5,0.3-0.8,0.8-0.8h5.7c2.7,0,4.1,1.4,4.1,4.1V93.4z"/>
+	</g>
+	<g>
+		<path class="st7" d="M235.7,78.5c0-0.9,0-2.9,0.1-5.7c0-2.9,0.1-5.7,0.1-8.4c0-4.3-1.2-7.6-3.5-10.1c-2.3-2.4-5.8-3.7-10.5-3.7
+			c-1,0-2.4,0-4.1,0.1c-1.7,0-3,0.1-3.9,0.1c-0.7,0-2.2,0-4.5-0.1c-2.3,0-3.8-0.1-4.5-0.1c-2.9,0-4.4,1.4-4.4,4.3
+			c0,1.2,0,5.6,0.1,13c0,7.4,0.1,12.9,0.1,16.4c0,7.8,0,19.6-0.1,32.1h0c0,3.4,2.7,6.1,6.1,6.1c3.4,0,6.1-2.7,6.1-6.1h0v-7
+			c0-0.6,0.3-0.9,0.9-0.9h8.2c4.5,0,8-1.2,10.3-3.7c2.3-2.4,3.5-6,3.5-10.6c0-2.4,0-5.3-0.1-8.5C235.7,82.5,235.7,80.1,235.7,78.5z
+			 M223.5,93.4c0,2.7-1.3,4.1-4,4.1h-5.8c-0.5,0-0.8-0.3-0.8-0.8V62.8c0-0.5,0.3-0.8,0.8-0.8h5.7c2.7,0,4.1,1.4,4.1,4.1V93.4z"/>
+	</g>
+	<path class="st7" d="M361.4,94.4c0-1.4,0-4.1-0.1-8.3c0-4.2-0.1-7.2-0.1-9l0.1-20.3c0-3.4-2.8-6.1-6.1-6.1c-3.4,0-6.1,2.7-6.1,6.1
+		h0v36.4c0,2.7-1.5,4.1-4.5,4.1h-0.8h-0.8c-3,0-4.5-1.4-4.5-4.1V56.8h0c0-3.4-2.7-6.1-6.1-6.1c-3.4,0-6.1,2.7-6.1,6.1l0.1,20.3
+		c0,1.8,0,4.8-0.1,9c0,4.2-0.1,6.9-0.1,8.3c0,4.2,1.2,7.6,3.5,10.2c2.3,2.6,5.7,3.9,10.2,3.9h3.8h0.6c-0.9,2.4-1.7,4.3-2.3,5.8
+		c-1.2,3.1,0.3,6.6,3.4,7.8c3.1,1.2,6.6-0.3,7.8-3.4l0,0l7-18.3C361,98.6,361.4,96.6,361.4,94.4z"/>
+	<path class="st7" d="M277.4,94.4c0-1.4,0-4.1-0.1-8.3c0-4.2-0.1-7.2-0.1-9l0.1-20.3c0-3.4-2.8-6.1-6.1-6.1c-3.4,0-6.1,2.7-6.1,6.1
+		h0v36.4c0,2.7-1.5,4.1-4.5,4.1h-0.8h-0.8c-3,0-4.5-1.4-4.5-4.1V56.8h0c0-3.4-2.7-6.1-6.1-6.1c-3.4,0-6.1,2.7-6.1,6.1l0.1,20.3
+		c0,1.8,0,4.8-0.1,9c0,4.2-0.1,6.9-0.1,8.3c0,4.2,1.2,7.6,3.5,10.2c2.3,2.6,5.7,3.9,10.2,3.9h3.8h0.6c-0.9,2.4-1.7,4.3-2.3,5.8
+		c-1.2,3.1,0.3,6.6,3.4,7.8c3.1,1.2,6.6-0.3,7.8-3.4l0,0l7-18.3C277,98.6,277.4,96.6,277.4,94.4z"/>
+	<path class="st0" d="M87.8,37.4c0.1-1.4,1.7-2.4,3.9-2.8c0.2-0.2,0.3-0.3,0.5-0.5c1-1,1.9-2.2,2.7-3.5c0.8-1.3,1.4-2.8,1.8-4.3
+		c0.1-0.4,0.2-0.8,0.3-1.2l0.1-0.3l0-0.3l0.1-0.6l0.1-0.6c0-0.1,0-0.2,0-0.3l0-0.3l0.1-1.3l0,0l0,0l0-0.1l0-0.2l0-0.3l0-0.6
+		c0-0.2,0-0.4,0-0.6l-0.1-0.6l-0.1-0.6l0-0.3L97,18c-0.1-0.4-0.2-0.8-0.3-1.2c-0.5-1.5-1-3-1.8-4.3c-0.8-1.3-1.7-2.5-2.7-3.5
+		c-0.5-0.5-1-1-1.5-1.4c-0.2-0.2-0.5-0.4-0.8-0.6c-0.3-0.2-0.5-0.4-0.8-0.6c-0.5-0.3-1.1-0.7-1.6-0.9C87,5.2,86.5,5,86,4.8
+		c-0.5-0.2-1-0.4-1.4-0.5c-0.4-0.1-0.8-0.2-1.2-0.4c-0.2-0.1-0.4-0.1-0.5-0.2c-0.2,0-0.3-0.1-0.5-0.1c-0.3-0.1-0.6-0.1-0.8-0.2
+		c-0.3-0.1-0.6-0.1-0.6-0.1C59.8,4,39.9,12.6,24.8,27.7C9.1,43.4,0.4,64.3,0.4,86.6c0,0.5,0,0.9,0,1.4c1.3,55.7,83.3,45.5,83.3,45.5
+		c-25.8,0-46.9-21-46.9-46.9c0-14.5,6.7-27.5,17-36.1c0.1-0.1,0.3-0.2,0.4-0.3c1-0.8,2.1-1.6,3.1-2.3c0.2-0.1,0.4-0.2,0.6-0.4
+		c1.1-0.7,2.1-1.3,3.2-2c0.2-0.1,0.4-0.2,0.6-0.3c1.1-0.6,2.2-1.1,3.4-1.6c0.2-0.1,0.5-0.2,0.7-0.3c0.9-0.4,1.9-0.7,2.8-1
+		c-0.6-0.6-1.2-1.2-1.9-1.7c-1.5-1-3.3-1.6-5.2-1.9c-1.9-0.4-3.9-0.4-5.9-0.3c-2,0.1-4,0.4-6,0.9c1.9-0.8,3.8-1.5,5.9-1.9
+		c2-0.5,4.1-0.8,6.3-0.8c2.1,0,4.4,0.3,6.5,1.2c1.7,0.7,3.2,1.9,4.5,3.3c0.4-0.1,0.7-0.2,1.1-0.3c0.3-0.1,0.5-0.1,0.8-0.2
+		c1.2-0.2,2.5-0.4,3.7-0.6c0.3,0,0.6-0.1,0.9-0.1c0.6-0.1,1.1-0.1,1.6-0.2c0,0,0,0,0,0s0.2,0,0.6-0.1c0.2,0,0.5-0.1,0.8-0.2
+		c0.1,0,0.3-0.1,0.5-0.1c0.2,0,0.3-0.1,0.5-0.2c0.4-0.1,0.8-0.2,1.2-0.4c0.4-0.2,0.9-0.3,1.4-0.5c0.5-0.2,1-0.5,1.5-0.7
+		C87.6,37.6,87.7,37.5,87.8,37.4C87.8,37.4,87.8,37.4,87.8,37.4z"/>
+	<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="48.9086" y1="3.3284" x2="48.9086" y2="134.1741">
+		<stop  offset="0" style="stop-color:#FFFFFF"/>
+		<stop  offset="0.1884" style="stop-color:#FCFCFC"/>
+		<stop  offset="0.3217" style="stop-color:#F3F3F3"/>
+		<stop  offset="0.4381" style="stop-color:#E3E3E3"/>
+		<stop  offset="0.5447" style="stop-color:#CDCDCD"/>
+		<stop  offset="0.6448" style="stop-color:#B1B1B1"/>
+		<stop  offset="0.7399" style="stop-color:#8E8E8E"/>
+		<stop  offset="0.8311" style="stop-color:#646464"/>
+		<stop  offset="0.917" style="stop-color:#353535"/>
+		<stop  offset="1" style="stop-color:#000000"/>
+	</linearGradient>
+	<path class="st8" d="M87.8,37.4c0-0.3,0.1-0.5,0.2-0.8c0,0,0,0,0,0c0,0,0,0,0,0c0.1-0.1,0.2-0.3,0.3-0.4c0,0,0,0,0,0c0,0,0,0,0,0
+		c0.4-0.5,1-0.9,1.8-1.2c0,0,0,0,0,0c0,0,0,0,0,0c0.1,0,0.2-0.1,0.3-0.1c0,0,0,0,0,0l0,0c0.4-0.1,0.8-0.3,1.3-0.3l0,0l0,0
+		c0,0,0,0,0,0c0.2-0.2,0.3-0.3,0.5-0.5c1-1,1.9-2.2,2.7-3.5c0.8-1.3,1.4-2.8,1.8-4.3c0.1-0.4,0.2-0.8,0.3-1.2l0.1-0.3l0-0.3l0.1-0.6
+		l0.1-0.6c0-0.1,0-0.2,0-0.3l0-0.3l0.1-1.3l0,0l0,0l0-0.1l0-0.2l0-0.3l0-0.6c0-0.2,0-0.4,0-0.6l-0.1-0.6l-0.1-0.6l0-0.3L97,18
+		c-0.1-0.4-0.2-0.8-0.3-1.2c-0.5-1.5-1-3-1.8-4.3c-0.8-1.3-1.7-2.5-2.7-3.5c-0.5-0.5-1-1-1.5-1.4c-0.2-0.2-0.5-0.4-0.8-0.6
+		c-0.3-0.2-0.5-0.4-0.8-0.6c-0.5-0.3-1.1-0.7-1.6-0.9C87,5.2,86.5,5,86,4.8c-0.5-0.2-1-0.4-1.4-0.5c-0.4-0.1-0.8-0.2-1.2-0.4
+		c-0.2-0.1-0.4-0.1-0.5-0.2c-0.2,0-0.3-0.1-0.5-0.1c-0.3-0.1-0.6-0.1-0.8-0.2c-0.3-0.1-0.6-0.1-0.6-0.1C59.8,4,39.9,12.6,24.8,27.7
+		C9.1,43.4,0.4,64.3,0.4,86.6c0,0.5,0,0.9,0,1.4c1.3,55.7,83.3,45.5,83.3,45.5c-25.8,0-46.9-21-46.9-46.9c0-14.5,6.7-27.5,17-36.1
+		c0.1-0.1,0.3-0.2,0.4-0.3c1-0.8,2.1-1.6,3.1-2.3c0.2-0.1,0.4-0.2,0.6-0.4c1.1-0.7,2.1-1.3,3.2-2c0.2-0.1,0.4-0.2,0.6-0.3
+		c1.1-0.6,2.2-1.1,3.4-1.6c0.2-0.1,0.5-0.2,0.7-0.3c0.9-0.4,1.9-0.7,2.8-1c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0
+		c-0.3-0.3-0.5-0.6-0.9-0.9c-0.3-0.3-0.7-0.5-1-0.8c-1.5-1-3.3-1.6-5.2-1.9c-1.9-0.4-3.9-0.4-5.9-0.3c-2,0.1-4,0.4-6,0.9
+		c1.9-0.8,3.8-1.5,5.9-1.9c2-0.5,4.1-0.8,6.3-0.8c2.1,0,4.4,0.3,6.5,1.2c0.5,0.2,0.9,0.5,1.4,0.7c0,0,0,0,0,0c0,0,0,0,0,0
+		c0.2,0.1,0.4,0.2,0.6,0.4c0,0,0,0,0,0c0,0,0,0,0,0c0.2,0.2,0.5,0.3,0.7,0.5v0c0.2,0.2,0.5,0.4,0.7,0.6c0,0,0,0,0,0v0c0,0,0,0,0,0
+		c0.1,0.1,0.1,0.1,0.2,0.2c0,0,0,0,0,0c0.3,0.3,0.7,0.6,1,1c0.4-0.1,0.7-0.2,1.1-0.3c0.3-0.1,0.5-0.1,0.8-0.2
+		c1.2-0.2,2.5-0.4,3.7-0.6c0.3,0,0.6-0.1,0.9-0.1c0.6-0.1,1.1-0.1,1.6-0.2c0,0,0,0,0,0s0.2,0,0.6-0.1c0.2,0,0.5-0.1,0.8-0.2
+		c0.1,0,0.3-0.1,0.5-0.1c0.2,0,0.3-0.1,0.5-0.2c0.4-0.1,0.8-0.2,1.2-0.4c0.4-0.2,0.9-0.3,1.4-0.5c0.5-0.2,1-0.5,1.5-0.7
+		C87.6,37.6,87.7,37.5,87.8,37.4C87.8,37.4,87.8,37.4,87.8,37.4z"/>
+	<path class="st9" d="M115.4,42.6c0.7-0.2,1.3-0.5,1.9-0.8c0,0,0,0,0,0c0.5-0.3,1.1-0.6,1.6-1c0.1,0,0.1-0.1,0.2-0.1
+		c0.5-0.4,0.9-0.8,1.4-1.2c0.1-0.1,0.1-0.1,0.2-0.2c0,0,0,0,0.1-0.1c0.4-0.4,0.8-0.8,1.1-1.3c0,0,0,0,0,0c0.4-0.5,0.7-1,1-1.5
+		c0.1-0.1,0.1-0.2,0.2-0.3c0.3-0.5,0.5-1,0.7-1.6c0-0.1,0-0.1,0.1-0.2c0.2-0.5,0.3-1,0.4-1.6c0-0.1,0-0.2,0.1-0.3
+		c0.1-0.4,0.1-0.9,0.2-1.3c0-0.1,0-0.3,0.1-0.4c0-0.1,0-0.2,0-0.4c0-0.4,0-0.7,0-1.1c0-0.3,0-0.5,0-0.8l0,0c-0.3-3.4-2-6.4-4.3-8.6
+		l0,0L104.6,5.9c-0.1-0.1-0.3-0.2-0.4-0.3l-0.7-0.7l0,0c-4-3.4-9.4-5.3-15.1-4.7c-3.4,0.3-6.6,1.5-9.2,3.3c-1,0.1-1.9,0.1-2.9,0.2
+		c-0.4,0-0.8,0.1-1.2,0.1c-1.2,0.1-2.4,0.3-3.6,0.5c-0.3,0-0.6,0.1-0.9,0.1c-45.8,9.3-33.9,80.7-33.7,82.2c0,0,0,0,0,0c0,0,0,0,0,0
+		c0,0,0,0,0,0c0,0,0,0,0,0c0-14.5,6.7-27.5,17-36.1l0.4-0.3c1-0.8,2.1-1.6,3.1-2.3c0.2-0.1,0.4-0.2,0.6-0.4c1.1-0.7,2.1-1.3,3.2-2
+		c0.2-0.1,0.4-0.2,0.6-0.3c1.1-0.6,2.2-1.1,3.4-1.6c0.2-0.1,0.5-0.2,0.7-0.3c0.9-0.4,1.9-0.7,2.8-1c-0.6-0.6-1.2-1.2-1.9-1.7
+		c-1.5-1-3.3-1.6-5.2-1.9c-1.9-0.4-3.9-0.4-5.9-0.3c-2,0.1-4,0.4-6,0.9c1.9-0.8,3.8-1.5,5.9-1.9c2-0.5,4.1-0.8,6.3-0.8
+		c2.1,0,4.4,0.3,6.5,1.2c1.7,0.7,3.2,1.9,4.5,3.3c0,0,0,0,0,0c4.1,4.7,10.4,7.5,17.2,6.8c0.6-0.1,1.2-0.2,1.8-0.3l0,0l0.2,0
+		c0,0,0,0,0.1,0l21.6-4.4C114.3,43,114.9,42.8,115.4,42.6z"/>
+	<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="35.2909" y1="43.2855" x2="124.4093" y2="43.2855">
+		<stop  offset="0" style="stop-color:#FFFFFF"/>
+		<stop  offset="0.1884" style="stop-color:#FCFCFC"/>
+		<stop  offset="0.3217" style="stop-color:#F3F3F3"/>
+		<stop  offset="0.4381" style="stop-color:#E3E3E3"/>
+		<stop  offset="0.5447" style="stop-color:#CDCDCD"/>
+		<stop  offset="0.6448" style="stop-color:#B1B1B1"/>
+		<stop  offset="0.7399" style="stop-color:#8E8E8E"/>
+		<stop  offset="0.8311" style="stop-color:#646464"/>
+		<stop  offset="0.917" style="stop-color:#353535"/>
+		<stop  offset="1" style="stop-color:#000000"/>
+	</linearGradient>
+	<path class="st10" d="M115.4,42.6c0.7-0.2,1.3-0.5,1.9-0.8c0,0,0,0,0,0c0.5-0.3,1.1-0.6,1.6-1c0.1,0,0.1-0.1,0.2-0.1
+		c0.5-0.4,0.9-0.8,1.4-1.2c0.1-0.1,0.1-0.1,0.2-0.2c0,0,0,0,0.1-0.1c0.4-0.4,0.8-0.8,1.1-1.3c0,0,0,0,0,0c0.4-0.5,0.7-1,1-1.5
+		c0.1-0.1,0.1-0.2,0.2-0.3c0.3-0.5,0.5-1,0.7-1.6c0-0.1,0-0.1,0.1-0.2c0.2-0.5,0.3-1,0.4-1.6c0-0.1,0-0.2,0.1-0.3
+		c0.1-0.4,0.1-0.9,0.2-1.3c0-0.1,0-0.3,0.1-0.4c0-0.1,0-0.2,0-0.4c0-0.4,0-0.7,0-1.1c0-0.3,0-0.5,0-0.8l0,0c-0.3-3.4-2-6.4-4.3-8.6
+		l0,0L104.6,5.9c-0.1-0.1-0.3-0.2-0.4-0.3l-0.7-0.7l0,0c-4-3.4-9.4-5.3-15.1-4.7c-3.4,0.3-6.6,1.5-9.2,3.3c-1,0.1-1.9,0.1-2.9,0.2
+		c-0.4,0-0.8,0.1-1.2,0.1c-1.2,0.1-2.4,0.3-3.6,0.5c-0.3,0-0.6,0.1-0.9,0.1c-45.8,9.3-33.9,80.7-33.7,82.2c0,0,0,0,0,0c0,0,0,0,0,0
+		c0,0,0,0,0,0c0,0,0,0,0,0c0-14.5,6.7-27.5,17-36.1l0.4-0.3c1-0.8,2.1-1.6,3.1-2.3c0.2-0.1,0.4-0.2,0.6-0.4c1.1-0.7,2.1-1.3,3.2-2
+		c0.2-0.1,0.4-0.2,0.6-0.3c1.1-0.6,2.2-1.1,3.4-1.6c0.2-0.1,0.5-0.2,0.7-0.3c0.9-0.4,1.9-0.7,2.8-1c-0.6-0.6-1.2-1.2-1.9-1.7
+		c-1.5-1-3.3-1.6-5.2-1.9c-1.9-0.4-3.9-0.4-5.9-0.3c-2,0.1-4,0.4-6,0.9c1.9-0.8,3.8-1.5,5.9-1.9c2-0.5,4.1-0.8,6.3-0.8
+		c2.1,0,4.4,0.3,6.5,1.2c1.7,0.7,3.2,1.9,4.5,3.3c0,0,0,0,0,0c4.1,4.7,10.4,7.5,17.2,6.8c0.6-0.1,1.2-0.2,1.8-0.3l0,0l0.2,0
+		c0,0,0,0,0.1,0l21.6-4.4C114.3,43,114.9,42.8,115.4,42.6z"/>
+	<path class="st11" d="M93.9,41.3c-3.5-0.3-6.2-2-6.1-3.9c0.1-1.9,3.1-3.2,6.6-2.9c3.5,0.3,6.2,2,6.1,3.9
+		C100.3,40.2,97.4,41.5,93.9,41.3z"/>
+</g>
+</svg>
diff --git a/image/pypy-logo2-white-background.png b/image/pypy-logo2-white-background.png
deleted file mode 100644
index 5e4b3ed732549b0d60e655b552f31f1baadf8e14..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001

diff --git a/image/pypy_speed_graph.png b/image/pypy_speed_graph.png
new file mode 100644
index 0000000000000000000000000000000000000000..c6643f080d62b10300b2794b8d00a3c518fb55c3
GIT binary patch
literal 41506
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
D5Jg`M

diff --git a/pages/compat.rst b/pages/compat.rst
index 0594e0c3b2864b8a0d092d7f447ca2e6d2b5317a_cGFnZXMvY29tcGF0LnJzdA==..6fb6953b86174826bed347dcac590ceb299109b3_cGFnZXMvY29tcGF0LnJzdA== 100644
--- a/pages/compat.rst
+++ b/pages/compat.rst
@@ -14,11 +14,7 @@
 PyPy3 implements the Python language version 3.6.9.  It has been released,
 but Python is a large language and it is quite possible that a few things are missing.
 
-.. class:: download_menu
-
-   `List of installable top 1000 PyPI packages`_
-
 PyPy has support for the `CPython C API`_, however there are constructs
 that are `not compatible`.  We strongly advise use of `CFFI`_
 instead. CFFI come builtin with PyPy. Many libraries will require
 a bit of effort to work, but there are known success stories. Check out
@@ -21,10 +17,8 @@
 PyPy has support for the `CPython C API`_, however there are constructs
 that are `not compatible`.  We strongly advise use of `CFFI`_
 instead. CFFI come builtin with PyPy. Many libraries will require
 a bit of effort to work, but there are known success stories. Check out
-PyPy blog for updates, as well as the `Compatibility Wiki`__.
-
-.. __: https://bitbucket.org/pypy/compatibility/wiki/Home
+PyPy blog for updates
 
 C extensions need to be recompiled for PyPy in order to work. Depending on
 your build system, it might work out of the box or will be slightly harder.
@@ -33,5 +27,5 @@
 library are implemented in pure python, so they don't have to be listed
 there. Please just check if it imports. If it imports, it should work.
 
-* ``__builtin__, __pypy__, _ast, _cffi_backend, _codecs, _collections, _continuation, _csv, _file, _hashlib, _io, _locale, _lsprof, _md5, _minimal_curses, _multibytecodec, _multiprocessing, _numpypy, _pickle_support, _pypyjson, _random, _rawffi, _sha, _socket, _sre, _ssl, _struct, _testing, _warnings, _weakref, array, binascii, bz2, cStringIO, cmath, cppyy, cpyext, crypt, errno, exceptions, fcntl, gc, imp, itertools, marshal, math, mmap, operator, parser, posix, pwd, pyexpat, pypyjit, select, signal, symbol, sys, termios, thread, time, token, unicodedata, zipimport, zlib``
+``__builtin__, __pypy__, _ast, _cffi_backend, _codecs, _collections, _continuation, _csv, _file, _hashlib, _io, _locale, _lsprof, _md5, _minimal_curses, _multibytecodec, _multiprocessing, _numpypy, _pickle_support, _pypyjson, _random, _rawffi, _sha, _socket, _sre, _ssl, _struct, _testing, _warnings, _weakref, array, binascii, bz2, cStringIO, cmath, cppyy, cpyext, crypt, errno, exceptions, fcntl, gc, imp, itertools, marshal, math, mmap, operator, parser, posix, pwd, pyexpat, pypyjit, select, signal, symbol, sys, termios, thread, time, token, unicodedata, zipimport, zlib``
 
@@ -37,3 +31,3 @@
 
-Supported, but written in pure Python:
+Supported, and written in pure Python:
 
@@ -39,5 +33,5 @@
 
-* ``cPickle, ctypes, datetime, dbm, _functools, grp, readline, resource, sqlite3, syslog``
+``cPickle, ctypes, datetime, dbm, _functools, grp, readline, resource, sqlite3, syslog``
 
 All modules that are pure python in CPython of course work.
 
@@ -79,14 +73,6 @@
 
 .. code-block:: python
 
-    f = open("filename", "w")
-    f.write("stuff")
-    f.close()
-
-or using the ``with`` keyword
-
-.. code-block:: python
-
     with open("filename", "w") as f:
         f.write("stuff")
 
@@ -95,12 +81,11 @@
 In that case, you can easily hit the system limit on the number of file
 descriptors that are allowed to be opened at the same time.
 
-Since release 5.4, PyPy can be run with the command-line option ``-X
-track-resources`` (as in, ``pypy -X track-resources myprogram.py``).
-This produces a ResourceWarning when the GC closes a non-closed file or
-socket.  The traceback for the place where the file or socket was
-allocated is given as well, which aids finding places where ``close()``
-is missing.
+PyPy can be run with the command-line option ``-X track-resources`` (as in,
+``pypy -X track-resources myprogram.py``). This produces a ``ResourceWarning``
+when the GC closes a non-closed file or socket.  The traceback for the place
+where the file or socket was allocated is given as well, which aids finding
+places where ``close()`` is missing.
 
 Similarly, remember that you must ``close()`` a non-exhausted
 generator in order to have its pending ``finally`` or ``with``
diff --git a/pages/download.rst b/pages/download.rst
index 0594e0c3b2864b8a0d092d7f447ca2e6d2b5317a_cGFnZXMvZG93bmxvYWQucnN0..6fb6953b86174826bed347dcac590ceb299109b3_cGFnZXMvZG93bmxvYWQucnN0 100644
--- a/pages/download.rst
+++ b/pages/download.rst
@@ -6,7 +6,10 @@
 .. link: 
 .. description: 
 
-.. class:: download_menu
+.. contents::
+    :depth: 2
+
+.. note::
 
   There are `nightly binary builds`_ available. Those builds are not always
   as stable as the release, but they contain numerous bugfixes and
@@ -24,19 +27,6 @@
 .. _what's new in PyPy 7.3.0?: http://doc.pypy.org/en/latest/release-v7.3.0.html
 
 
-.. class:: download_menu
-
- * Download
-
-   * `Default (with a JIT Compiler)`_
-   * `Other versions`_
-
- * `Installing`_ (optional)
- * `Installing more modules`_
- * `Building from source`_
- * `Packaging`_
- * `Checksums`_
-
 .. _`Default (with a JIT Compiler)`:
 
 "JIT Compiler" version
@@ -83,7 +73,7 @@
 
 * or translate_ your own PyPy.
 
-.. class:: download_menu
+.. note::
 
     SSL Certificates
 
diff --git a/pages/features.rst b/pages/features.rst
index 0594e0c3b2864b8a0d092d7f447ca2e6d2b5317a_cGFnZXMvZmVhdHVyZXMucnN0..6fb6953b86174826bed347dcac590ceb299109b3_cGFnZXMvZmVhdHVyZXMucnN0 100644
--- a/pages/features.rst
+++ b/pages/features.rst
@@ -1,6 +1,6 @@
-.. title: What is PyPy?
+.. title: PyPy - Features
 .. slug: features
 .. date: 2019-12-28 16:14:02 UTC
 .. tags: 
 .. category: 
 .. link: 
@@ -2,7 +2,8 @@
 .. slug: features
 .. date: 2019-12-28 16:14:02 UTC
 .. tags: 
 .. category: 
 .. link: 
-.. description: 
+.. author: The PyPy Team
+.. description: What is PyPy and what are its features
 
@@ -8,5 +9,5 @@
 
-PyPy is a replacement for CPython.  It is built using the RPython
+**PyPy** is a replacement for CPython.  It is built using the RPython
 language that was co-developed with it.  The main reason to use it
 instead of CPython is speed: it runs generally faster (see next section).
 
@@ -39,9 +40,10 @@
 .. _`System Z (s390x)`: https://de.wikipedia.org/wiki/System/390
 .. _`howtohelp`: howtohelp.html
 
-
+.. |---| unicode:: U+2014  .. em dash, trimming surrounding whitespace
+   :trim:
 
 The main features of PyPy:
 --------------------------
 
 Speed
@@ -43,8 +45,8 @@
 
 The main features of PyPy:
 --------------------------
 
 Speed
------
+=====
 
 Our `main executable`_ comes with a Just-in-Time compiler.  It is
@@ -49,6 +51,6 @@
 
 Our `main executable`_ comes with a Just-in-Time compiler.  It is
-`really fast`_ in running most benchmarks --- including very large and
+`really fast`_ in running most benchmarks |---| including very large and
 complicated Python applications, not just 10-liners.
 
 There are two cases that you should be aware where PyPy will *not* be
@@ -72,7 +74,7 @@
 
 
 Memory usage
---------------------------
+============
 
 Memory-hungry Python programs (several hundreds of MBs or more) might
 end up taking less space than they do in CPython.  It is not always
@@ -81,7 +83,7 @@
 
 
 Stackless
---------------------------
+=========
 
 Support for Stackless_ and greenlets are now integrated in the normal
 PyPy.  More detailed information is available here__.
@@ -91,7 +93,7 @@
 
 
 Other features
----------------------------------------
+==============
 
 PyPy has many secondary features and semi-independent
 projects.  We will mention here:
@@ -105,7 +107,7 @@
 
 
 Sandboxing
---------------------
+==========
 
 PyPy's *sandboxing* is a working prototype for the idea of running untrusted
 user programs. Unlike other sandboxing approaches for Python, PyPy's does not
@@ -113,16 +115,16 @@
 calls to external libraries (C or platform) with a stub that communicates
 with an external process handling the policy.
 
-+-----------------------------------------------------------------------------+
-| **Please be aware that it is a prototype only.**  *It needs work to become  |
-| more complete, and you are welcome to help.  In particular, almost none     |
-| of the extension modules work (not even* ``time`` *), and* ``pypy_interact``|
-| *is merely a demo.  Also, a more complete system would include a way        |
-| to do the same as* ``pypy_interact`` *from other languages than Python,     |
-| to embed a sandboxed interpreter inside programs written in other           |
-| languages.*                                                                 |
-+-----------------------------------------------------------------------------+
+.. note::
+
+    **Please be aware that it is a prototype only.**  It needs work to become  
+    more complete, and you are welcome to help.  In particular, almost none     
+    of the extension modules work (not even ``time`` ), and ``pypy_interact``
+    is merely a demo.  Also, a more complete system would include a way        
+    to do the same as ``pypy_interact`` from other languages than Python,     
+    to embed a sandboxed interpreter inside programs written in other           
+    languages. 
 
 To run the sandboxed process, you need to get the full sources and
 build ``pypy-sandbox`` from it (see `Building from source`_).  These
 instructions give you a ``pypy-c`` that you should rename to
@@ -125,6 +127,8 @@
 
 To run the sandboxed process, you need to get the full sources and
 build ``pypy-sandbox`` from it (see `Building from source`_).  These
 instructions give you a ``pypy-c`` that you should rename to
-``pypy-sandbox`` to avoid future confusion.  Then run::
+``pypy-sandbox`` to avoid future confusion.  Then run:
+
+.. code-block:: bash
 
@@ -130,7 +134,7 @@
 
-   cd pypy/sandbox
-   pypy_interact.py path/to/pypy-sandbox
-   # don't confuse it with pypy/goal/pyinteractive.py!
+    cd pypy/sandbox
+    pypy_interact.py path/to/pypy-sandbox
+    # don't confuse it with pypy/goal/pyinteractive.py!
 
 You get a fully sandboxed interpreter, in its own filesystem hierarchy
 (try ``os.listdir('/')``).  For example, you would run an untrusted
@@ -134,7 +138,9 @@
 
 You get a fully sandboxed interpreter, in its own filesystem hierarchy
 (try ``os.listdir('/')``).  For example, you would run an untrusted
-script as follows::
+script as follows:
+
+.. code-block:: bash
 
    mkdir virtualtmp
    cp untrusted.py virtualtmp/
@@ -150,9 +156,6 @@
 .. _`Building from source`: download.html#building-from-source
 .. _`our documentation site`: http://pypy.readthedocs.org/en/latest/sandbox.html
 
-
-
-
 .. _`the cli-jit branch`: https://bitbucket.org/pypy/pypy/src/cli-jit
 .. _`contact us`: contact.html
 .. _Prolog: https://bitbucket.org/cfbolz/pyrolog/
diff --git a/pages/index.rst b/pages/index.rst
index 0594e0c3b2864b8a0d092d7f447ca2e6d2b5317a_cGFnZXMvaW5kZXgucnN0..6fb6953b86174826bed347dcac590ceb299109b3_cGFnZXMvaW5kZXgucnN0 100644
--- a/pages/index.rst
+++ b/pages/index.rst
@@ -7,6 +7,26 @@
 .. description: 
 .. type: text
 
-PyPy is a `fast`_, `compliant`_ alternative implementation of the `Python`_
-language (2.7.13 and 3.6.9). It has several advantages and distinct features:
+.. raw:: html
+
+    <div class="row">
+    <div class="column pb-4">
+
+.. image:: images/pypy-logo.svg
+    :alt: PyPy logo
+    :width: 350px
+
+A `fast`_, `compliant`_ alternative implementation of `Python`_
+
+.. class:: button
+
+    `Get Started`_ : Download and install
+
+.. class:: button
+
+    `What is PyPy`_ : Features
+
+.. class:: button
+
+    `Documentation`_ (external link)
 
@@ -12,4 +32,14 @@
 
-  * **Speed:** thanks to its Just-in-Time compiler, Python programs
-    often run `faster`_ on PyPy.  `(What is a JIT compiler?)`_
+.. _`Get Started`: download.html
+.. _`What is PyPy`: features.html
+.. _`Documentation`: https://doc.pypy.org
+
+.. raw:: html
+
+    </div>
+    <div class="column pb-4" "flex-basis: 400px">
+
+.. class:: small
+
+On average, PyPy is **4.4 times faser** than CPython
 
@@ -15,4 +45,19 @@
 
-    "If you want your code to run faster, you should probably just use PyPy."
+.. figure:: images/pypy_speed_graph.png
+    :alt: PyPy vs. Python speed comparison graph"
+    :figclass: text-sm
+
+    PyPy trunk (with JIT) benchmark times normalized to CPython. Smaller is
+    better. Based on he geometric average of all benchmarks
+
+.. raw:: html
+
+    </div>
+    </div>
+
+::
+
+    "If you want your code to run faster,
+    you should probably just use PyPy."
     -- Guido van Rossum (creator of Python)
 
@@ -17,5 +62,4 @@
     -- Guido van Rossum (creator of Python)
 
-  * **Memory usage:** memory-hungry Python programs (several hundreds of
-    MBs or more) might end up taking `less space`_ than they do in CPython.
+**Advantages and distinct Features**
 
@@ -21,5 +65,4 @@
 
-  * **Compatibility:** PyPy is `highly compatible`_ with existing python code.
-    It supports `cffi`_ and can run popular python libraries like `twisted`_
-    and `django`_.
+* **Speed:** thanks to its Just-in-Time compiler, Python programs
+  often run `faster`_ on PyPy.  `(What is a JIT compiler?)`_
 
@@ -25,4 +68,4 @@
 
-  * **Stackless:** PyPy comes by default with support for `stackless mode`_,
-    providing micro-threads for massive concurrency.
+* **Memory usage:** memory-hungry Python programs (several hundreds of
+  MBs or more) might end up taking `less space`_ than they do in CPython.
 
@@ -28,5 +71,5 @@
 
-  * As well as other `features`_.
-
-.. class:: download
+* **Compatibility:** PyPy is `highly compatible`_ with existing python code.
+  It supports `cffi`_, `cppyy`_, and can run popular python libraries like
+  `twisted`_ and `django`_.
 
@@ -32,3 +75,4 @@
 
-`Download and try out PyPy`__
+* **Stackless:** PyPy comes by default with support for `stackless mode`_,
+  providing micro-threads for massive concurrency.
 
@@ -34,8 +78,5 @@
 
-.. __: download.html
-
-Want to know more? A good place to start is our detailed `speed`_ and
-`compatibility`_ reports!
+* As well as other `features`_.
 
 .. _`stackless mode`: features.html#stackless
 .. _`Python`: http://python.org/
@@ -48,6 +89,7 @@
 .. _`twisted`: https://twistedmatrix.com/
 .. _`django`: https://www.djangoproject.com/
 .. _`cffi`: https://cffi.readthedocs.org
+.. _`cppyy`: https://cppyy.readthedocs.org
 .. _`features`: features.html
 .. _`less space`: http://morepypy.blogspot.com/2009/10/gc-improvements.html
 .. _`highly compatible`: compat.html
diff --git a/themes/pypy/assets/css/styles.css b/themes/pypy/assets/css/styles.css
index 0594e0c3b2864b8a0d092d7f447ca2e6d2b5317a_dGhlbWVzL3B5cHkvYXNzZXRzL2Nzcy9zdHlsZXMuY3Nz..6fb6953b86174826bed347dcac590ceb299109b3_dGhlbWVzL3B5cHkvYXNzZXRzL2Nzcy9zdHlsZXMuY3Nz 100644
--- a/themes/pypy/assets/css/styles.css
+++ b/themes/pypy/assets/css/styles.css
@@ -1,23 +1,1 @@
-/*! sanitize.css v8.0.0 | CC0 License | github.com/csstools/sanitize.css */
-*,
-::before,
-::after {
-  background-repeat: no-repeat;
-  box-sizing: border-box; }
-
-::before,
-::after {
-  text-decoration: inherit;
-  vertical-align: inherit; }
-
-html {
-  cursor: default;
-  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
-  line-height: 1.15;
-  -moz-tab-size: 4;
-  tab-size: 4;
-  -ms-text-size-adjust: 100%;
-  -webkit-text-size-adjust: 100%;
-  word-break: break-word; }
-
 body {
@@ -23,33 +1,4 @@
 body {
-  margin: 0; }
-
-h1 {
-  font-size: 2em;
-  margin: 0.67em 0; }
-
-hr {
-  height: 0;
-  overflow: visible; }
-
-main {
-  display: block; }
-
-nav ol,
-nav ul {
-  list-style: none; }
-
-pre {
-  font-family: Menlo, Consolas, Roboto Mono, Ubuntu Monospace, Noto Mono, Oxygen Mono, Liberation Mono, monospace;
-  font-size: 1em; }
-
-a {
-  background-color: transparent; }
-
-abbr[title] {
-  text-decoration: underline;
-  text-decoration: underline dotted; }
-
-b,
-strong {
-  font-weight: bolder; }
+    color: #383939;
+}
 
@@ -55,56 +4,5 @@
 
-code,
-kbd,
-samp {
-  font-family: Menlo, Consolas, Roboto Mono, Ubuntu Monospace, Noto Mono, Oxygen Mono, Liberation Mono, monospace;
-  font-size: 1em; }
-
-small {
-  font-size: 80%; }
-
-::-moz-selection {
-  background-color: #b3d4fc;
-  color: #000;
-  text-shadow: none; }
-
-::selection {
-  background-color: #b3d4fc;
-  color: #000;
-  text-shadow: none; }
-
-audio,
-canvas,
-iframe,
-img,
-svg,
-video {
-  vertical-align: middle; }
-
-audio,
-video {
-  display: inline-block; }
-
-audio:not([controls]) {
-  display: none;
-  height: 0; }
-
-img {
-  border-style: none; }
-
-svg:not([fill]) {
-  fill: currentColor; }
-
-svg:not(:root) {
-  overflow: hidden; }
-
-table {
-  border-collapse: collapse; }
-
-button,
-input,
-select,
-textarea {
-  font-family: inherit;
-  font-size: inherit;
-  line-height: inherit; }
+:visited {
+    color: darkolivegreen;
+}
 
@@ -110,59 +8,6 @@
 
-button,
-input,
-select {
-  margin: 0; }
-
-button {
-  overflow: visible;
-  text-transform: none; }
-
-button,
-[type="button"],
-[type="reset"],
-[type="submit"] {
-  -webkit-appearance: button; }
-
-fieldset {
-  padding: 0.35em 0.75em 0.625em; }
-
-input {
-  overflow: visible; }
-
-legend {
-  color: inherit;
-  display: table;
-  max-width: 100%;
-  white-space: normal; }
-
-progress {
-  display: inline-block;
-  vertical-align: baseline; }
-
-select {
-  text-transform: none; }
-
-textarea {
-  margin: 0;
-  overflow: auto;
-  resize: vertical; }
-
-[type="checkbox"],
-[type="radio"] {
-  padding: 0; }
-
-[type="search"] {
-  -webkit-appearance: textfield;
-  outline-offset: -2px; }
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
-  height: auto; }
-
-::-webkit-input-placeholder {
-  color: inherit;
-  opacity: 0.54; }
-
-::-webkit-search-decoration {
-  -webkit-appearance: none; }
+.reference:hover {
+    color: white;
+    background-color: #d0dad5;
+}
 
@@ -168,62 +13,7 @@
 
-::-webkit-file-upload-button {
-  -webkit-appearance: button;
-  font: inherit; }
-
-::-moz-focus-inner {
-  border-style: none;
-  padding: 0; }
-
-:-moz-focusring {
-  outline: 1px dotted ButtonText; }
-
-details {
-  display: block; }
-
-dialog {
-  background-color: white;
-  border: solid;
-  color: black;
-  display: block;
-  height: -moz-fit-content;
-  height: -webkit-fit-content;
-  height: fit-content;
-  left: 0;
-  margin: auto;
-  padding: 1em;
-  position: absolute;
-  right: 0;
-  width: -moz-fit-content;
-  width: -webkit-fit-content;
-  width: fit-content; }
-
-dialog:not([open]) {
-  display: none; }
-
-summary {
-  display: list-item; }
-
-canvas {
-  display: inline-block; }
-
-template {
-  display: none; }
-
-a,
-area,
-button,
-input,
-label,
-select,
-summary,
-textarea,
-[tabindex] {
-  -ms-touch-action: manipulation;
-  touch-action: manipulation; }
-
-[hidden] {
-  display: none; }
-
-[aria-busy="true"] {
-  cursor: progress; }
+/* Add a black background color to the top navigation */
+.topnav {
+  /* background-color: #333; */
+  overflow: hidden;
+}
 
@@ -229,105 +19,7 @@
 
-[aria-controls] {
-  cursor: pointer; }
-
-[aria-disabled="true"],
-[disabled] {
-  cursor: not-allowed; }
-
-[aria-hidden="false"][hidden]:not(:focus) {
-  clip: rect(0, 0, 0, 0);
-  display: inherit;
-  position: absolute; }
-
-/*! Based on https://github.com/milligram/milligram */
-*,
-*:after,
-*:before {
-  box-sizing: inherit; }
-
-html {
-  box-sizing: border-box;
-  font-size: 62.5%; }
-
-body {
-  font-size: 1.6em;
-  font-weight: 300;
-  letter-spacing: .01em;
-  line-height: 1.6;
-  background-color: #fcfcfc; }
-
-body {
-  color: #4B545C;
-  font-family: 'Roboto', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif; }
-
-b,
-strong {
-  font-weight: bold; }
-
-p {
-  margin-top: 0; }
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  font-weight: 300;
-  letter-spacing: -.1rem;
-  margin-bottom: 2.0rem;
-  margin-top: 0; }
-
-h1 {
-  font-size: 4.6rem;
-  line-height: 1.2; }
-
-h2 {
-  font-size: 3.6rem;
-  line-height: 1.25; }
-
-h3 {
-  font-size: 2.8rem;
-  line-height: 1.3; }
-
-h4 {
-  font-size: 2.2rem;
-  letter-spacing: -.08rem;
-  line-height: 1.35; }
-
-h5 {
-  font-size: 1.8rem;
-  letter-spacing: -.05rem;
-  line-height: 1.5; }
-
-h6 {
-  font-size: 1.6rem;
-  letter-spacing: 0;
-  line-height: 1.4; }
-
-blockquote {
-  border-left: 0.3rem solid #d1d1d1;
-  margin-left: 0;
-  margin-right: 0;
-  padding: 1rem 1.5rem; }
-  blockquote *:last-child {
-    margin-bottom: 0; }
-
-.button,
-button,
-input[type='button'],
-input[type='reset'],
-input[type='submit'] {
-  background-color: #1890ff;
-  border: 0.1rem solid #1890ff;
-  border-radius: .4rem;
-  color: #fcfcfc;
-  cursor: pointer;
-  display: inline-block;
-  font-size: 1.1rem;
-  font-weight: 700;
-  height: 3.8rem;
-  letter-spacing: .1rem;
-  line-height: 3.8rem;
-  padding: 0 3.0rem;
+/* Style the links inside the navigation bar */
+.topnav a {
+  float: left;
+  display: block;
+  color: #383939;
   text-align: center;
@@ -333,2 +25,3 @@
   text-align: center;
+  padding: 14px 16px;
   text-decoration: none;
@@ -334,101 +27,15 @@
   text-decoration: none;
-  text-transform: uppercase;
-  white-space: nowrap;
-  -webkit-box-shadow: 0px 5px 10px 0px rgba(24, 144, 255, 0.2);
-    -webkit-box-shadow--moz-box-shadow: 0px 5px 10px 0px rgba(24, 144, 255, 0.2);
-    -webkit-box-shadow-box-shadow: 0px 5px 10px 0px rgba(24, 144, 255, 0.2); }
-  .button:focus, .button:hover,
-  button:focus,
-  button:hover,
-  input[type='button']:focus,
-  input[type='button']:hover,
-  input[type='reset']:focus,
-  input[type='reset']:hover,
-  input[type='submit']:focus,
-  input[type='submit']:hover {
-    background-color: #4B545C;
-    border-color: #4B545C;
-    color: #fcfcfc;
-    outline: 0;
-    -webkit-box-shadow: 0px 5px 10px 0px rgba(75, 84, 92, 0.2);
-      -webkit-box-shadow--moz-box-shadow: 0px 5px 10px 0px rgba(75, 84, 92, 0.2);
-      -webkit-box-shadow-box-shadow: 0px 5px 10px 0px rgba(75, 84, 92, 0.2); }
-  .button[disabled],
-  button[disabled],
-  input[type='button'][disabled],
-  input[type='reset'][disabled],
-  input[type='submit'][disabled] {
-    cursor: default;
-    opacity: .5; }
-    .button[disabled]:focus, .button[disabled]:hover,
-    button[disabled]:focus,
-    button[disabled]:hover,
-    input[type='button'][disabled]:focus,
-    input[type='button'][disabled]:hover,
-    input[type='reset'][disabled]:focus,
-    input[type='reset'][disabled]:hover,
-    input[type='submit'][disabled]:focus,
-    input[type='submit'][disabled]:hover {
-      background-color: #1890ff;
-      border-color: #1890ff; }
-  .button.button-outline,
-  button.button-outline,
-  input[type='button'].button-outline,
-  input[type='reset'].button-outline,
-  input[type='submit'].button-outline {
-    background-color: transparent;
-    color: #1890ff; }
-    .button.button-outline:focus, .button.button-outline:hover,
-    button.button-outline:focus,
-    button.button-outline:hover,
-    input[type='button'].button-outline:focus,
-    input[type='button'].button-outline:hover,
-    input[type='reset'].button-outline:focus,
-    input[type='reset'].button-outline:hover,
-    input[type='submit'].button-outline:focus,
-    input[type='submit'].button-outline:hover {
-      background-color: transparent;
-      border-color: #4B545C;
-      color: #4B545C; }
-    .button.button-outline[disabled]:focus, .button.button-outline[disabled]:hover,
-    button.button-outline[disabled]:focus,
-    button.button-outline[disabled]:hover,
-    input[type='button'].button-outline[disabled]:focus,
-    input[type='button'].button-outline[disabled]:hover,
-    input[type='reset'].button-outline[disabled]:focus,
-    input[type='reset'].button-outline[disabled]:hover,
-    input[type='submit'].button-outline[disabled]:focus,
-    input[type='submit'].button-outline[disabled]:hover {
-      border-color: inherit;
-      color: #1890ff; }
-  .button.button-clear,
-  button.button-clear,
-  input[type='button'].button-clear,
-  input[type='reset'].button-clear,
-  input[type='submit'].button-clear {
-    background-color: transparent;
-    border-color: transparent;
-    color: #1890ff; }
-    .button.button-clear:focus, .button.button-clear:hover,
-    button.button-clear:focus,
-    button.button-clear:hover,
-    input[type='button'].button-clear:focus,
-    input[type='button'].button-clear:hover,
-    input[type='reset'].button-clear:focus,
-    input[type='reset'].button-clear:hover,
-    input[type='submit'].button-clear:focus,
-    input[type='submit'].button-clear:hover {
-      background-color: transparent;
-      border-color: transparent;
-      color: #4B545C; }
-    .button.button-clear[disabled]:focus, .button.button-clear[disabled]:hover,
-    button.button-clear[disabled]:focus,
-    button.button-clear[disabled]:hover,
-    input[type='button'].button-clear[disabled]:focus,
-    input[type='button'].button-clear[disabled]:hover,
-    input[type='reset'].button-clear[disabled]:focus,
-    input[type='reset'].button-clear[disabled]:hover,
-    input[type='submit'].button-clear[disabled]:focus,
-    input[type='submit'].button-clear[disabled]:hover {
-      color: #1890ff; }
+  font-size: 17px;
+}
+
+/* Add an active class to highlight the current page */
+.active {
+  background-color: #4CAF50;
+  color: white;
+}
+
+/* Hide the link that should open and close the topnav on small screens */
+.topnav .icon {
+  display: none;
+}
 
@@ -434,9 +41,7 @@
 
-code {
-  background: #f4f5f6;
-  border-radius: .4rem;
-  font-size: 86%;
-  margin: 0 .2rem;
-  padding: 0.8rem 1rem;
-  white-space: normal; }
+/* Dropdown container - needed to position the dropdown content */
+.dropdown {
+  float: left;
+  overflow: hidden;
+}
 
@@ -442,17 +47,13 @@
 
-pre {
-  border-left: 0.3rem solid #1890ff;
-  padding-left: 2rem;
-  background: #f4f5f6;
-  overflow-y: hidden; }
-  pre > code {
-    border-radius: 0;
-    display: block;
-    padding: 1rem 1.5rem;
-    white-space: pre; }
-
-hr {
-  border: 0;
-  border-top: 0.1rem solid #d1d1d1;
-  margin: 3.0rem 0; }
+/* Style the dropdown button to fit inside the topnav */
+.dropdown .dropbtn {
+  font-size: 17px;
+  border: none;
+  outline: none;
+  color: #383939;
+  padding: 14px 16px;
+  background-color: inherit;
+  font-family: inherit;
+  margin: 0;
+}
 
@@ -458,122 +59,11 @@
 
-input[type='email'],
-input[type='number'],
-input[type='password'],
-input[type='search'],
-input[type='tel'],
-input[type='text'],
-input[type='url'],
-input[type='color'],
-input[type='date'],
-input[type='month'],
-input[type='week'],
-input[type='datetime'],
-input[type='datetime-local'],
-input:not([type]),
-textarea,
-select {
-  -webkit-appearance: none;
-    -webkit-appearance--moz-appearance: none;
-  appearance: none;
-  background-color: transparent;
-  color: #4B545C;
-  border: 0.1rem solid #d1d1d1;
-  border-radius: .4rem;
-  box-shadow: none;
-  box-sizing: inherit;
-  height: 3.8rem;
-  padding: .6rem 1.0rem;
-  width: 100%; }
-  input[type='email']:focus,
-  input[type='number']:focus,
-  input[type='password']:focus,
-  input[type='search']:focus,
-  input[type='tel']:focus,
-  input[type='text']:focus,
-  input[type='url']:focus,
-  input[type='color']:focus,
-  input[type='date']:focus,
-  input[type='month']:focus,
-  input[type='week']:focus,
-  input[type='datetime']:focus,
-  input[type='datetime-local']:focus,
-  input:not([type]):focus,
-  textarea:focus,
-  select:focus {
-    border-color: #1890ff;
-    outline: 0; }
-
-select {
-  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="14" viewBox="0 0 29 14" width="29"><path fill="%23d1d1d1" d="M9.37727 3.625l5.08154 6.93523L19.54036 3.625"/></svg>') center right no-repeat;
-  padding-right: 3.0rem; }
-  select:focus {
-    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="14" viewBox="0 0 29 14" width="29"><path fill="%239b4dca" d="M9.37727 3.625l5.08154 6.93523L19.54036 3.625"/></svg>'); }
-
-textarea {
-  min-height: 6.5rem; }
-
-label,
-legend {
-  display: block;
-  font-size: 1.6rem;
-  font-weight: 700;
-  margin-bottom: .5rem; }
-
-fieldset {
-  border-width: 0;
-  padding: 0; }
-
-input[type='checkbox'],
-input[type='radio'] {
-  display: inline; }
-
-.label-inline {
-  display: inline-block;
-  font-weight: normal;
-  margin-left: .5rem; }
-
-a {
-  color: #1890ff;
-  text-decoration: none; }
-  a:focus, a:hover {
-    color: #4B545C; }
-
-dl,
-ol,
-ul {
-  list-style: none;
-  margin-top: 0;
-  padding-left: 3rem; }
-  dl dl,
-  dl ol,
-  dl ul,
-  ol dl,
-  ol ol,
-  ol ul,
-  ul dl,
-  ul ol,
-  ul ul {
-    font-size: 90%;
-    margin: 1.5rem 0 1.5rem 3.0rem; }
-
-ol {
-  list-style: decimal inside;
-  list-style-position: outside; }
-
-ul {
-  list-style: circle inside;
-  list-style-position: outside; }
-
-.button,
-button,
-dd,
-dt,
-li {
-  margin-bottom: 1.0rem; }
-
-fieldset,
-input,
-select,
-textarea {
-  margin-bottom: 1.5rem; }
+/* Style the dropdown content (hidden by default) */
+.dropdown-content {
+  display: none;
+  position: absolute;
+  background-color: #f9f9f9;
+  min-width: 160px;
+  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
+  z-index: 1;
+}
 
@@ -579,71 +69,11 @@
 
-blockquote,
-dl,
-figure,
-form,
-ol,
-p,
-pre,
-table,
-ul {
-  margin-bottom: 2.5rem; }
-
-table {
-  border-spacing: 0;
-  width: 100%; }
-
-td,
-th {
-  border-bottom: 0.1rem solid #e1e1e1;
-  padding: 1.2rem 1.5rem;
-  text-align: left; }
-  td:first-child,
-  th:first-child {
-    padding-left: 0; }
-  td:last-child,
-  th:last-child {
-    padding-right: 0; }
-
-@media screen and (max-width: 40rem) {
-  table {
-    border-spacing: 0;
-    display: flex;
-    width: 100%; }
-    table thead {
-      border-right: solid 0.1rem #e1e1e1; }
-      table thead td,
-      table thead th {
-        padding-left: 0; }
-        table thead td:first-child,
-        table thead th:first-child {
-          padding-left: 0; }
-        table thead td:last-child,
-        table thead th:last-child {
-          padding-right: 1.2rem; }
-    table tbody {
-      display: flex;
-      overflow-x: auto;
-      white-space: nowrap; }
-      table tbody tr {
-        border-right: solid 0.1rem #e1e1e1; }
-        table tbody tr:last-child {
-          border-right: none; }
-    table td,
-    table th {
-      display: block; }
-      table td:first-child,
-      table th:first-child {
-        padding-left: 1.2rem; }
-      table td:last-child,
-      table th:last-child {
-        padding-right: 1.2rem; } }
-
-img {
-  max-width: 100%; }
-
-.p-0 {
-  padding: 0; }
-
-.pt-0 {
-  padding-top: 0; }
+/* Style the links inside the dropdown */
+.dropdown-content a {
+  float: none;
+  color: black;
+  padding: 12px 16px;
+  text-decoration: none;
+  display: block;
+  text-align: left;
+}
 
@@ -649,37 +79,7 @@
 
-.pb-0 {
-  padding-bottom: 0; }
-
-.pl-0 {
-  padding-left: 0; }
-
-.pr-0 {
-  padding-right: 0; }
-
-.py-0 {
-  padding-top: 0;
-  padding-bottom: 0; }
-
-.px-0 {
-  padding-left: 0;
-  padding-right: 0; }
-
-.p-1 {
-  padding: 1rem; }
-
-.pt-1 {
-  padding-top: 1rem; }
-
-.pb-1 {
-  padding-bottom: 1rem; }
-
-.pl-1 {
-  padding-left: 1rem; }
-
-.pr-1 {
-  padding-right: 1rem; }
-
-.py-1 {
-  padding-top: 1rem;
-  padding-bottom: 1rem; }
+/* Add a dark background on topnav links and the dropdown button on hover */
+.topnav a:hover, .dropdown:hover .dropbtn {
+  background-color: #555;
+  color: white;
+}
 
@@ -685,37 +85,7 @@
 
-.px-1 {
-  padding-left: 1rem;
-  padding-right: 1rem; }
-
-.p-2 {
-  padding: 2rem; }
-
-.pt-2 {
-  padding-top: 2rem; }
-
-.pb-2 {
-  padding-bottom: 2rem; }
-
-.pl-2 {
-  padding-left: 2rem; }
-
-.pr-2 {
-  padding-right: 2rem; }
-
-.py-2 {
-  padding-top: 2rem;
-  padding-bottom: 2rem; }
-
-.px-2 {
-  padding-left: 2rem;
-  padding-right: 2rem; }
-
-.p-3 {
-  padding: 3rem; }
-
-.pt-3 {
-  padding-top: 3rem; }
-
-.pb-3 {
-  padding-bottom: 3rem; }
+/* Add a grey background to dropdown links on hover */
+.dropdown-content a:hover {
+  background-color: #ddd;
+  color: black;
+}
 
@@ -721,67 +91,6 @@
 
-.pl-3 {
-  padding-left: 3rem; }
-
-.pr-3 {
-  padding-right: 3rem; }
-
-.py-3 {
-  padding-top: 3rem;
-  padding-bottom: 3rem; }
-
-.px-3 {
-  padding-left: 3rem;
-  padding-right: 3rem; }
-
-.p-4 {
-  padding: 6rem; }
-
-.pt-4 {
-  padding-top: 6rem; }
-
-.pb-4 {
-  padding-bottom: 6rem; }
-
-.pl-4 {
-  padding-left: 6rem; }
-
-.pr-4 {
-  padding-right: 6rem; }
-
-.py-4 {
-  padding-top: 6rem;
-  padding-bottom: 6rem; }
-
-.px-4 {
-  padding-left: 6rem;
-  padding-right: 6rem; }
-
-.p-5 {
-  padding: 8rem; }
-
-.pt-5 {
-  padding-top: 8rem; }
-
-.pb-5 {
-  padding-bottom: 8rem; }
-
-.pl-5 {
-  padding-left: 8rem; }
-
-.pr-5 {
-  padding-right: 8rem; }
-
-.py-5 {
-  padding-top: 8rem;
-  padding-bottom: 8rem; }
-
-.px-5 {
-  padding-left: 8rem;
-  padding-right: 8rem; }
-
-.m-0 {
-  margin: 0; }
-
-.mt-0 {
-  margin-top: 0; }
+/* Show the dropdown menu when the user moves the mouse over the dropdown button */
+.dropdown:hover .dropdown-content {
+  display: block;
+}
 
@@ -787,67 +96,12 @@
 
-.mb-0 {
-  margin-bottom: 0; }
-
-.ml-0 {
-  margin-left: 0; }
-
-.mr-0 {
-  margin-right: 0; }
-
-.my-0 {
-  margin-top: 0;
-  margin-bottom: 0; }
-
-.mx-0 {
-  margin-left: 0;
-  margin-right: 0; }
-
-.m-1 {
-  margin: 1rem; }
-
-.mt-1 {
-  margin-top: 1rem; }
-
-.mb-1 {
-  margin-bottom: 1rem; }
-
-.ml-1 {
-  margin-left: 1rem; }
-
-.mr-1 {
-  margin-right: 1rem; }
-
-.my-1 {
-  margin-top: 1rem;
-  margin-bottom: 1rem; }
-
-.mx-1 {
-  margin-left: 1rem;
-  margin-right: 1rem; }
-
-.m-2 {
-  margin: 2rem; }
-
-.mt-2 {
-  margin-top: 2rem; }
-
-.mb-2 {
-  margin-bottom: 2rem; }
-
-.ml-2 {
-  margin-left: 2rem; }
-
-.mr-2 {
-  margin-right: 2rem; }
-
-.my-2 {
-  margin-top: 2rem;
-  margin-bottom: 2rem; }
-
-.mx-2 {
-  margin-left: 2rem;
-  margin-right: 2rem; }
-
-.m-3 {
-  margin: 3rem; }
+/* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
+@media screen and (max-width: 600px) {
+  .topnav a:not(:first-child), .dropdown .dropbtn {
+    display: none;
+  }
+  .topnav a.icon {
+    float: right;
+    display: block;
+  }
+}
 
@@ -853,67 +107,22 @@
 
-.mt-3 {
-  margin-top: 3rem; }
-
-.mb-3 {
-  margin-bottom: 3rem; }
-
-.ml-3 {
-  margin-left: 3rem; }
-
-.mr-3 {
-  margin-right: 3rem; }
-
-.my-3 {
-  margin-top: 3rem;
-  margin-bottom: 3rem; }
-
-.mx-3 {
-  margin-left: 3rem;
-  margin-right: 3rem; }
-
-.m-4 {
-  margin: 6rem; }
-
-.mt-4 {
-  margin-top: 6rem; }
-
-.mb-4 {
-  margin-bottom: 6rem; }
-
-.ml-4 {
-  margin-left: 6rem; }
-
-.mr-4 {
-  margin-right: 6rem; }
-
-.my-4 {
-  margin-top: 6rem;
-  margin-bottom: 6rem; }
-
-.mx-4 {
-  margin-left: 6rem;
-  margin-right: 6rem; }
-
-.m-5 {
-  margin: 8rem; }
-
-.mt-5 {
-  margin-top: 8rem; }
-
-.mb-5 {
-  margin-bottom: 8rem; }
-
-.ml-5 {
-  margin-left: 8rem; }
-
-.mr-5 {
-  margin-right: 8rem; }
-
-.my-5 {
-  margin-top: 8rem;
-  margin-bottom: 8rem; }
-
-.mx-5 {
-  margin-left: 8rem;
-  margin-right: 8rem; }
+/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
+@media screen and (max-width: 600px) {
+  .topnav.responsive {position: relative;}
+  .topnav.responsive a.icon {
+    position: absolute;
+    right: 0;
+    top: 0;
+  }
+  .topnav.responsive a {
+    float: none;
+    display: block;
+    text-align: left;
+  }
+  .topnav.responsive .dropdown {float: none;}
+  .topnav.responsive .dropdown-content {position: relative;}
+  .topnav.responsive .dropdown .dropbtn {
+    display: block;
+    width: 100%;
+    text-align: left;
+  }
 
@@ -919,5 +128,2 @@
 
-.mx-auto {
-  margin-left: auto;
-  margin-right: auto; }
 
@@ -923,66 +129,6 @@
 
-.text-justify {
-  text-align: justify; }
-
-.text-left {
-  text-align: left; }
-
-.text-center {
-  text-align: center; }
-
-.text-left {
-  text-align: right; }
-
-.text-sm {
-  font-size: 1rem; }
-
-.text-lg {
-  font-size: 2rem; }
-
-.text-xl {
-  font-size: 2.5rem; }
-
-.display-none {
-  display: none; }
-
-.display-inline {
-  display: inline; }
-
-.display-inline-block {
-  display: inline-block; }
-
-.display-block {
-  display: block; }
-
-.display-flex {
-  display: flex; }
-
-.display-inline-flex {
-  display: inline-flex; }
-
-.display-table {
-  display: table; }
-
-.clearfix:after {
-  clear: both;
-  content: ' ';
-  display: table; }
-
-.float-left {
-  float: left; }
-
-.float-right {
-  float: right; }
-
-.container {
-  margin: 0 auto;
-  max-width: 112.0rem;
-  padding: 0 2.0rem;
-  position: relative;
-  width: 100%; }
-
-.row {
+} .row {
   display: flex;
   flex-direction: column;
   padding: 0;
   width: 100%; }
@@ -985,26 +131,10 @@
   display: flex;
   flex-direction: column;
   padding: 0;
   width: 100%; }
-  .row.row-no-padding {
-    padding: 0; }
-    .row.row-no-padding > .column {
-      padding: 0; }
-  .row.row-wrap {
-    flex-wrap: wrap; }
-  .row.row-top {
-    align-items: flex-start; }
-  .row.row-bottom {
-    align-items: flex-end; }
-  .row.row-center {
-    align-items: center; }
-  .row.row-stretch {
-    align-items: stretch; }
-  .row.row-baseline {
-    align-items: baseline; }
   .row .column {
     display: block;
     flex: 1 1 auto;
     margin-left: 0;
     max-width: 100%;
     width: 100%; }
@@ -1005,66 +135,9 @@
   .row .column {
     display: block;
     flex: 1 1 auto;
     margin-left: 0;
     max-width: 100%;
     width: 100%; }
-    .row .column.column-offset-10 {
-      margin-left: 10%; }
-    .row .column.column-offset-20 {
-      margin-left: 20%; }
-    .row .column.column-offset-25 {
-      margin-left: 25%; }
-    .row .column.column-offset-33, .row .column.column-offset-34 {
-      margin-left: 33.3333%; }
-    .row .column.column-offset-50 {
-      margin-left: 50%; }
-    .row .column.column-offset-66, .row .column.column-offset-67 {
-      margin-left: 66.6666%; }
-    .row .column.column-offset-75 {
-      margin-left: 75%; }
-    .row .column.column-offset-80 {
-      margin-left: 80%; }
-    .row .column.column-offset-90 {
-      margin-left: 90%; }
-    .row .column.column-10 {
-      flex: 0 0 10%;
-      max-width: 10%; }
-    .row .column.column-20 {
-      flex: 0 0 20%;
-      max-width: 20%; }
-    .row .column.column-25 {
-      flex: 0 0 25%;
-      max-width: 25%; }
-    .row .column.column-33, .row .column.column-34 {
-      flex: 0 0 33.3333%;
-      max-width: 33.3333%; }
-    .row .column.column-40 {
-      flex: 0 0 40%;
-      max-width: 40%; }
-    .row .column.column-50 {
-      flex: 0 0 50%;
-      max-width: 50%; }
-    .row .column.column-60 {
-      flex: 0 0 60%;
-      max-width: 60%; }
-    .row .column.column-66, .row .column.column-67 {
-      flex: 0 0 66.6666%;
-      max-width: 66.6666%; }
-    .row .column.column-75 {
-      flex: 0 0 75%;
-      max-width: 75%; }
-    .row .column.column-80 {
-      flex: 0 0 80%;
-      max-width: 80%; }
-    .row .column.column-90 {
-      flex: 0 0 90%;
-      max-width: 90%; }
-    .row .column .column-top {
-      align-self: flex-start; }
-    .row .column .column-bottom {
-      align-self: flex-end; }
-    .row .column .column-center {
-      align-self: center; }
 
 @media (min-width: 40rem) {
   .row {
@@ -1075,230 +148,7 @@
       margin-bottom: inherit;
       padding: 0 1.0rem; } }
 
-@font-face {
-  font-family: 'ico';
-  src: url("../font/ico.eot?13319731");
-  src: url("../font/ico.eot?13319731#iefix") format("embedded-opentype"), url("../font/ico.woff2?13319731") format("woff2"), url("../font/ico.woff?13319731") format("woff"), url("../font/ico.ttf?13319731") format("truetype"), url("../font/ico.svg?13319731#ico") format("svg");
-  font-weight: normal;
-  font-style: normal; }
-
-/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
-/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
-/*
-  @media screen and (-webkit-min-device-pixel-ratio:0) {
-    @font-face {
-      font-family: 'ico';
-      src: url('../font/ico.svg?13319731#ico') format('svg');
-    }
-  }
-  */
-[class^="icon-"]:before, [class*=" icon-"]:before {
-  font-family: "ico";
-  font-style: normal;
-  font-weight: normal;
-  speak: none;
-  display: inline-block;
-  text-decoration: inherit;
-  width: 1em;
-  margin-right: .2em;
-  text-align: center;
-  /* opacity: .8; */
-  /* For safety - reset parent styles, that can break glyph codes*/
-  font-variant: normal;
-  text-transform: none;
-  /* fix buttons height, for twitter bootstrap */
-  line-height: 1em;
-  /* Animation center compensation - margins should be symmetric */
-  /* remove if not needed */
-  margin-left: .2em;
-  /* you can be more comfortable with increased icons size */
-  /* font-size: 120%; */
-  /* Font smoothing. That was taken from TWBS */
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  /* Uncomment for 3D effect */
-  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }
-
-/*
-     Animation example, for spinners
-  */
-.animate-spin {
-  -moz-animation: spin 2s infinite linear;
-  -o-animation: spin 2s infinite linear;
-  -webkit-animation: spin 2s infinite linear;
-  animation: spin 2s infinite linear;
-  display: inline-block; }
-
-@-moz-keyframes spin {
-  0% {
-    -moz-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg); }
-  100% {
-    -moz-transform: rotate(359deg);
-    -o-transform: rotate(359deg);
-    -webkit-transform: rotate(359deg);
-    transform: rotate(359deg); } }
-
-@-webkit-keyframes spin {
-  0% {
-    -moz-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg); }
-  100% {
-    -moz-transform: rotate(359deg);
-    -o-transform: rotate(359deg);
-    -webkit-transform: rotate(359deg);
-    transform: rotate(359deg); } }
-
-@-o-keyframes spin {
-  0% {
-    -moz-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg); }
-  100% {
-    -moz-transform: rotate(359deg);
-    -o-transform: rotate(359deg);
-    -webkit-transform: rotate(359deg);
-    transform: rotate(359deg); } }
-
-@-ms-keyframes spin {
-  0% {
-    -moz-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg); }
-  100% {
-    -moz-transform: rotate(359deg);
-    -o-transform: rotate(359deg);
-    -webkit-transform: rotate(359deg);
-    transform: rotate(359deg); } }
-
-@keyframes spin {
-  0% {
-    -moz-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg); }
-  100% {
-    -moz-transform: rotate(359deg);
-    -o-transform: rotate(359deg);
-    -webkit-transform: rotate(359deg);
-    transform: rotate(359deg); } }
-
-.icon-menu-outline:before {
-  content: '\e800'; }
-
-.icon-github-circled:before {
-  content: '\f09b'; }
-
-.icon-rss:before {
-  content: '\f09e'; }
-
-.icon-menu:before {
-  content: '\f0c9'; }
-
-.icon-spinner:before {
-  content: '\f110'; }
-
-.icon-code:before {
-  content: '\f121'; }
-
-.icon-bitbucket:before {
-  content: '\f171'; }
-
-.icon-circle-notch:before {
-  content: '\f1ce'; }
-
-.icon-github-text:before {
-  content: '\f307'; }
-
-.navbar {
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: space-between;
-  margin-top: 2rem;
-  padding-left: 0;
-  padding-inline-start: 0; }
-
-.navbar-item {
-  padding: 0.5rem 0.66rem;
-  margin: 0 0.2rem; }
-
-.nav-item-active {
-  border-radius: .4rem;
-  border: 0.1rem solid #1890ff; }
-  .nav-item-active:hover {
-    border-color: #4B545C; }
-
-.navbar-menu {
-  display: none;
-  position: fixed;
-  right: 0;
-  top: 0;
-  z-index: 100;
-  padding: 0.5rem 0.66rem;
-  margin-top: 2rem;
-  margin-right: 2rem;
-  border-radius: 50%;
-  background-color: #fff; }
-
-@media screen and (max-width: 60rem) {
-  .navbar {
-    justify-content: center; } }
-
-.navbar-smart {
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: space-between;
-  margin-top: 2rem;
-  padding-left: 0;
-  padding-inline-start: 0; }
-
-@media screen and (max-width: 60rem) {
-  .navbar-menu-on {
-    display: block; }
-  .navbar-smart {
-    display: none;
-    flex-direction: column;
-    align-items: flex-start;
-    position: fixed;
-    left: 0;
-    top: 0;
-    width: 100%;
-    z-index: 100;
-    padding: 1rem;
-    background-color: rgba(255, 255, 255, 0.98); }
-  .navbar-open {
-    display: flex; } }
-
-.shadow {
-  -webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3);
-  -moz-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3);
-  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3); }
-
-.shadow-lg {
-  -webkit-box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.8);
-  -moz-box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.8);
-  box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.8); }
-
-.active {
-  -webkit-box-shadow: 0px 5px 10px 0px rgba(24, 144, 255, 0.2);
-  -moz-box-shadow: 0px 5px 10px 0px rgba(24, 144, 255, 0.2);
-  box-shadow: 0px 5px 10px 0px rgba(24, 144, 255, 0.2); }
-
-.shadow-secondary {
-  -webkit-box-shadow: 0px 5px 10px 0px rgba(75, 84, 92, 0.2);
-  -moz-box-shadow: 0px 5px 10px 0px rgba(75, 84, 92, 0.2);
-  box-shadow: 0px 5px 10px 0px rgba(75, 84, 92, 0.2); }
-
-.muted {
-  color: #8B9298; }
-
 @media screen and (max-width: 40rem) {
   .row .column {
     text-align: center; } }
 
@@ -1301,17 +151,7 @@
 @media screen and (max-width: 40rem) {
   .row .column {
     text-align: center; } }
 
-.person {
-  min-height: 190px;
-  margin-bottom: 8rem; }
-  .person h3 {
-    margin-bottom: 1rem; }
-  .person img {
-    float: left;
-    max-width: 150px;
-    margin-right: 2rem;
-    margin-bottom: 1rem; }
-  .person p {
-    margin-left: 150px; }
+.pb-4 {
+  padding-bottom: 6rem; }
 
@@ -1317,7 +157,4 @@
 
-@media screen and (max-width: 40rem) {
-  .person img {
-    float: none; }
-  .person p {
-    margin-left: 0; } }
+.text-sm {
+  font-size: 1rem; }
 
@@ -1323,18 +160,4 @@
 
-.hljs {
-  display: block;
-  overflow-x: auto;
-  padding: 0.5em;
-  color: #9006b3;
-  background: #f4f5f6; }
-
-.hljs-comment,
-.hljs-quote {
-  color: #bbbcc2;
-  font-style: italic; }
-
-.hljs-doctag,
-.hljs-keyword,
-.hljs-formula {
-  color: #dd4600; }
+.text-lg {
+  font-size: 2rem; }
 
@@ -1340,22 +163,18 @@
 
-.hljs-section,
-.hljs-name,
-.hljs-selector-tag,
-.hljs-deletion,
-.hljs-subst {
-  color: #e45649; }
-
-.hljs-literal {
-  color: #009c15; }
-
-.hljs-string,
-.hljs-regexp,
-.hljs-addition,
-.hljs-attribute,
-.hljs-meta-string {
-  color: #2e912c; }
-
-.hljs-built_in,
-.hljs-class .hljs-title {
-  color: #c1ae01; }
+/*.button, button {
+  background-color: transparent;
+  border: 0.1rem solid #1890ff;
+  border-radius: .4rem;
+  cursor: pointer;
+  display: inline-block;
+  font-weight: 700;
+  height: 2rem;
+  letter-spacing: .1rem;
+  line-height: 2rem;
+  padding: 0 2.0rem;
+  text-align: center;
+  text-decoration: none;
+  text-transform: uppercase;
+  white-space: nowrap;
+}
 
@@ -1361,11 +180,17 @@
 
-.hljs-attr,
-.hljs-variable,
-.hljs-template-variable,
-.hljs-type,
-.hljs-selector-class,
-.hljs-selector-attr,
-.hljs-selector-pseudo,
-.hljs-number {
-  color: #b97f00; }
+.button:focus, .button:hover,
+button:focus,
+button:hover
+ {
+    background-color: lightblue;
+    border-color: #4B545C;
+    color: white;
+}
+*/
+pre.literal-block {
+  border-left: 0.3rem solid #d1d1d1;
+  margin-left: 0;
+  margin-right: 0;
+  padding: 1rem 1.5rem;
+}
 
@@ -1371,9 +196,5 @@
 
-.hljs-symbol,
-.hljs-bullet,
-.hljs-link,
-.hljs-meta,
-.hljs-selector-id,
-.hljs-title {
-  color: #2263f0; }
+pre.literal-block *:last-child {
+    margin-bottom: 0; 
+}
 
@@ -1379,4 +200,2 @@
 
-.hljs-emphasis {
-  font-style: italic; }
 
@@ -1382,6 +201,1 @@
 
-.hljs-strong {
-  font-weight: bold; }
-
-.hljs-link {
-  text-decoration: underline; }
diff --git a/themes/pypy/assets/js/styles.js b/themes/pypy/assets/js/styles.js
index 0594e0c3b2864b8a0d092d7f447ca2e6d2b5317a_dGhlbWVzL3B5cHkvYXNzZXRzL2pzL3N0eWxlcy5qcw==..6fb6953b86174826bed347dcac590ceb299109b3_dGhlbWVzL3B5cHkvYXNzZXRzL2pzL3N0eWxlcy5qcw== 100644
--- a/themes/pypy/assets/js/styles.js
+++ b/themes/pypy/assets/js/styles.js
@@ -1,43 +1,12 @@
 'use strict';
 
 // Navbar
-(function () {
-    // Swap simple navbar for smart navbar
-    function swapNavbars() {
-        var navbars = document.getElementsByClassName("js-navbar");
-        [].forEach.call(navbars, function (navbar) {
-            if (navbar.classList.contains("navbar")) {
-                navbar.classList.remove("navbar");
-                navbar.classList.add("navbar-smart");
-                // also turn on the menu button
-                var menuButtons = navbar.parentNode.getElementsByClassName("js-navbar-toggler");
-                [].forEach.call(menuButtons, function (menuButton) {
-                    menuButton.classList.add("navbar-menu-on");
-                });
-            }
-        });
-    }
-
-    // Add event to show or hide the navbar menu when icon is clicked
-    function toggleNavbarMenu() {
-        var navbars = document.getElementsByClassName("js-navbar");
-
-        [].forEach.call(navbars, function (navbar) {
-            // only works with "navbar-smart"
-            if (navbar.classList.contains("navbar-smart")) {
-                var menuButtons = navbar.parentNode.getElementsByClassName("js-navbar-toggler");
-                [].forEach.call(menuButtons, function (menuButton) {
-                    menuButton.addEventListener('click', function (e) {
-                        e.preventDefault();
-                        var related_navbar = navbar;
-                        related_navbar.classList.toggle('navbar-open');
-                    });
-                });
-            }
-        });
-    }
-    document.addEventListener("DOMContentLoaded", function () {
-        swapNavbars();
-        toggleNavbarMenu();
-    });
-})();
+/* Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon */
+function make_responsive() {
+  var x = document.getElementById("myTopNav");
+  if (x.className === "topnav") {
+    x.className += " responsive";
+  } else {
+    x.className = "topnav";
+  }
+} 
diff --git a/themes/pypy/templates/base_header.tml b/themes/pypy/templates/base_header.tml
deleted file mode 100644
index 0594e0c3b2864b8a0d092d7f447ca2e6d2b5317a_dGhlbWVzL3B5cHkvdGVtcGxhdGVzL2Jhc2VfaGVhZGVyLnRtbA==..0000000000000000000000000000000000000000
--- a/themes/pypy/templates/base_header.tml
+++ /dev/null
@@ -1,72 +0,0 @@
-{#  -*- coding: utf-8 -*- #}
-{% import 'base_helper.tmpl' as base with context %}
-
-{% macro html_header() %}
-    <header id="header">
-        {{ html_site_title() }}
-        {{ html_translation_header() }}
-        {{ html_navigation_links() }}
-        {% if search_form %}
-            <div class="searchform" role="search">
-                {{ search_form }}
-            </div>
-        {% endif %}
-    </header>
-    {{ template_hooks['page_header']() }}
-    {% block extra_header %}{% endblock %}
-{% endmacro %}
-
-{% macro html_site_title() %}
-    <h1 id="brand"><a href="{{ abs_link(_link("root", None, lang)) }}" title="{{ blog_title|e }}" rel="home">
-    {% if logo_url %}
-        <img src="{{ logo_url }}" alt="{{ blog_title|e }}" id="logo">
-    {% endif %}
-
-    {% if show_blog_title %}
-        <span id="blog-title">{{ blog_title|e }}</span>
-    {% endif %}
-    </a></h1>
-{% endmacro %}
-
-{% macro html_navigation_links() %}
-    <nav id="menu">
-    <ul class="navbar js-navbar">
-    {{ html_navigation_links_entries(navigation_links) }}
-    {{ html_navigation_links_entries(navigation_alt_links) }}
-    {{ template_hooks['menu']() }}
-    {{ template_hooks['menu_alt']() }}
-    </ul>
-    </nav>
-{% endmacro %}
-
-{% macro html_navigation_links_entries(navigation_links_source) %}
-    {% for url, text in navigation_links_source[lang] %}
-        {% if isinstance(url, tuple) %}
-            <li> {{ text }}
-            <ul>
-            {% for suburl, text in url %}
-                {% if rel_link(permalink, suburl) == "#" %}
-                    <li class="navbar-item nav-item-active"><a href="{{ permalink }}">{{ text }}<span class="sr-only"> {{ messages("(active)", lang) }}</span></a></li>
-                {% else %}
-                    <li class="navbar-item"><a href="{{ suburl }}">{{ text }}</a></li>
-                {% endif %}
-            {% endfor %}
-            </ul>
-        {% else %}
-            {% if rel_link(permalink, url) == "#" %}
-                <li class="navbar-item nav-item-active"><a href="{{ permalink }}">{{ text }}<span class="sr-only"> {{ messages("(active)", lang) }}</span></a></li>
-            {% else %}
-                <li class="navbar-item"><a href="{{ url }}">{{ text }}</a></li>
-            {% endif %}
-        {% endif %}
-    {% endfor %}
-{% endmacro %}
-
-{% macro html_translation_header() %}
-    {% if translations|length > 1 %}
-        <div id="toptranslations">
-            <h2>{{ messages("Languages:") }}</h2>
-            {{ base.html_translations() }}
-        </div>
-    {% endif %}
-{% endmacro %}
diff --git a/themes/pypy/templates/base_header.tmpl b/themes/pypy/templates/base_header.tmpl
new file mode 100644
index 0000000000000000000000000000000000000000..6fb6953b86174826bed347dcac590ceb299109b3_dGhlbWVzL3B5cHkvdGVtcGxhdGVzL2Jhc2VfaGVhZGVyLnRtcGw=
--- /dev/null
+++ b/themes/pypy/templates/base_header.tmpl
@@ -0,0 +1,75 @@
+{#  -*- coding: utf-8 -*- #}
+{% import 'base_helper.tmpl' as base with context %}
+
+{% macro html_header() %}
+    <header id="header">
+        {{ html_site_title() }}
+        {{ html_translation_header() }}
+        {{ html_navigation_links() }}
+        {% if search_form %}
+            <div class="searchform" role="search">
+                {{ search_form }}
+            </div>
+        {% endif %}
+    </header>
+    {{ template_hooks['page_header']() }}
+    {% block extra_header %}{% endblock %}
+{% endmacro %}
+
+{% macro html_site_title() %}
+    <h1 id="brand"><a href="{{ abs_link(_link("root", None, lang)) }}" title="{{ blog_title|e }}" rel="home">
+    {% if logo_url %}
+        <img src="{{ logo_url }}" alt="{{ blog_title|e }}" id="logo">
+    {% endif %}
+
+    {% if show_blog_title %}
+        <span id="blog-title">{{ blog_title|e }}</span>
+    {% endif %}
+    </a></h1>
+{% endmacro %}
+
+{% macro html_navigation_links() %}
+    <div class="topnav" id="myTopNav">
+    <div>
+    {{ html_navigation_links_entries(navigation_links) }}
+    {{ html_navigation_links_entries(navigation_alt_links) }}
+    {{ template_hooks['menu']() }}
+    {{ template_hooks['menu_alt']() }}
+    </div>
+    <a href="javascript:void(0);" class="icon" onclick="make_responsive()">&#9776;</a>
+    </div>
+{% endmacro %}
+
+{% macro html_navigation_links_entries(navigation_links_source) %}
+    {% for url, text in navigation_links_source[lang] %}
+        {% if isinstance(url, tuple) %}
+            <div class="dropdown"> <button class="dropbtn">{{ text }}
+                <i class="fa fa-caret-down"></i>
+                </button>
+            <div class="dropdown-content"> 
+            {% for suburl, text in url %}
+                {% if rel_link(permalink, suburl) == "#" %}
+                    <a class="active" href="{{ permalink }}">{{ text }}{{ messages("(active)", lang) }}</a>
+                {% else %}
+                    <a href="{{ suburl }}">{{ text }}</a>
+                {% endif %}
+            {% endfor %}
+            </div></div>
+        {% else %}
+            {% if rel_link(permalink, url) == "#" %}
+                <a class="active" href="{{ permalink }}">{{ text }}<span class="sr-only"> {{ messages("(active)", lang) }}</span></a>
+            {% else %}
+                <a href="{{ url }}">{{ text }}</a>
+            {% endif %}
+        {% endif %}
+    {% endfor %}
+{% endmacro %}
+
+{% macro html_translation_header() %}
+    {% if translations|length > 1 %}
+        <div id="toptranslations">
+            <h2>{{ messages("Languages:") }}</h2>
+            {{ base.html_translations() }}
+        </div>
+    {% endif %}
+{% endmacro %}