diff --git a/Makefile b/Makefile
index 0de6a257717b416557ad21b6e15b345e46bd8bb4..4bbc93df1334b790e99a10395e11860f63d13a52 100644
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,19 @@
-all: pdf html docx odt
+resume = resume.rst
+papersize = A4
 
-pdf: resume.rst
-	pandoc resume.rst -o resume.pdf
+all: html pdf docx odt
 
-html: resume.rst
-	pandoc -s resume.rst -o resume.html
+html: $(resume)
+	pandoc -s -t html5 --email-obfuscation=none -c resume.css $(resume) -o resume.html
 
-docx: resume.rst
-	pandoc resume.rst -o resume.docx
+pdf: $(resume) html
+	pandoc resume.html -V papersize=$(papersize) -o resume.pdf
 
-odt: resume.rst
-	pandoc resume.rst -o resume.odt
+docx: $(resume) html
+	pandoc resume.html -V papersize=$(papersize) -o resume.docx
+
+odt: $(resume) html
+	pandoc resume.html -V papersize=$(papersize) -o resume.odt
 
 clean:
 	rm resume.html resume.pdf resume.docx resume.odt
diff --git a/resume.css b/resume.css
new file mode 100644
index 0000000000000000000000000000000000000000..b12d00734e701730367c4b5ee81a7fe39d232706
--- /dev/null
+++ b/resume.css
@@ -0,0 +1,331 @@
+/* http://meyerweb.com/eric/tools/css/reset/
+   v2.0 | 20110126
+   License: none (public domain)
+*/
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td,
+article, aside, canvas, details, embed,
+figure, figcaption, footer, header, hgroup,
+menu, nav, output, ruby, section, summary,
+time, mark, audio, video {
+	margin: 0;
+	padding: 0;
+	border: 0;
+	font-size: 100%;
+	font: inherit;
+	vertical-align: baseline;
+}
+/* HTML5 display-role reset for older browsers */
+article, aside, details, figcaption, figure,
+footer, header, hgroup, menu, nav, section {
+	display: block;
+}
+body {
+	line-height: 1;
+    width: 800px;
+}
+ol, ul {
+	list-style: none;
+}
+blockquote, q {
+	quotes: none;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+	content: '';
+	content: none;
+}
+table {
+	border-collapse: collapse;
+	border-spacing: 0;
+}
+
+/* Mockingbird Theme by Nevan Scott nevanscott.com */
+
+body {
+	font-family: Georgia, serif;
+	font-size: 16px;
+	line-height: 1.5em;
+	color: #444;
+	}
+#header, #wrapper, #controls ul {
+	width: 750px;
+	margin: 0 0 0 185px;
+	padding: 0 20px;
+	}
+
+a {
+	text-decoration: none;
+	color: #000;
+	}
+p a {
+	text-decoration: underline;
+	}
+
+ul {
+	list-style: outside disc;
+        }
+
+ol {
+	list-style: outside decimal;
+        }
+
+h1, h2, h3, h4, h5, h6 {
+	font-family: sans-serif;
+	font-weight: bold;
+	}
+h1, h2, h3 {
+	font-size: 1.5em;
+	line-height: 1em;
+	margin: 1em 0;
+	}
+p, h4, h5, h6 {
+	margin: 1.5em 0;
+	}
+blockquote {
+	margin: 1.5em 1.5em 1.5em .75em;
+	padding-left: .75em;
+	border-left: 1px solid #EEE;
+	}
+
+.date {
+	color: #DDD;
+	float: left;
+	clear: both;
+	width: 160px;
+	font-size: 1.5em;
+	line-height: 1em;
+	margin: 0 20px 1em 0;
+	}
+.post {
+	margin: 0 0 4.5em 180px;
+	}
+.post.archives {
+	margin-bottom: 1.5em;
+	}
+.post.pinned {
+	clear: both;
+	margin-left: 0;
+	margin-bottom: 3em;
+	background-color: #EEE;
+	color: #000;
+	padding: 1px 20px 10px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+	-o-border-radius: 5px;
+	border-radius: 5px;
+	}
+.info {
+	font-family: sans-serif;
+	text-align: right;
+	color: #CCC;
+	}
+.info a {
+	color: inherit;
+	}
+.info .tags a {
+    background: #CCC;
+    color: #FFF;
+    display: inline-block;
+    padding: 0 .3em;
+    border: 1px transparent solid;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+	-o-border-radius: 5px;
+	border-radius: 5px;
+    }
+.info .tags a:hover {
+    background: inherit;
+	color: inherit;
+    }
+.info .tags a.selected {
+    border: 1px #999 solid;
+    }
+
+.post .controls {
+	float: left;
+	visibility: hidden;
+	}
+.post:hover .controls {
+	visibility: visible;
+	}
+
+.page {
+	margin: 0 90px;
+	}
+
+div.codehilite {
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+	}
+
+
+code, pre {
+	font-family: monospace;
+	background-color: rgb(238, 238, 238);
+}
+
+/*sub and sup stolen from Twitter bootstrap.*/
+sub,
+sup {
+	position: relative;
+	font-size: 75%;
+	line-height: 0;
+	vertical-align: baseline;
+}
+
+sup {
+	top: -0.5em;
+}
+
+sub {
+	bottom: -0.25em;
+}
+
+.post pre, .page pre {
+	padding: .5em;
+	font-size: 12px;
+	font-family: Monospace;
+	line-height: 1.1em;
+	}
+
+form.inline_edit {
+	clear: both;
+	margin: 4.5em 0;
+	background-color: #DDD;
+	color: #000;
+	padding: 20px;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+	}
+.inline_edit .sub {
+	color: #888;
+	white-space: nowrap;
+	}
+.inline_edit label {
+	float: left;
+	clear: both;
+	width: 140px;
+	margin-right: 20px;
+	}
+.inline_edit .buttons {
+	display: block;
+	text-align: right;
+	}
+
+#nav {
+	float: right;
+	list-style: none;
+	margin: 0 0 0 3em;
+	padding: 0;
+	}
+#nav li {
+	float: left;
+	}
+#nav a {
+	display: block;
+	padding: 4.5em 10px 10px 10px;
+	}
+#nav a:hover {
+	background-color: #DDD;
+	}
+#nav li.selected a {
+	background-color: #000;
+	color: #FFF;
+	}
+#nav li.ephemeral.selected a {
+	background-color: #FFF;
+	color: #BBB;
+	}
+
+
+#header .header_box {
+	padding-top: 4.5em;
+	}
+#header h1 {
+	font-size: 1.5em;
+	line-height: 1em;
+	margin: 0;
+	}
+#header h2 {
+	font-size: 1em;
+	margin: .3em 0;
+	color: #DDD;
+	}
+
+#content {
+	margin-top: 3em;
+	}
+
+.pages {
+	font-family: sans-serif;
+	line-height: 2.5em;
+	margin: 4.5em 0 3em;
+	background-color: #EEE;
+	color: #444;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+	}
+.pages a.next_page {
+	float: right;
+	width: 140px;
+	text-align: center;
+	-moz-border-radius-topright: 5px;
+	-moz-border-radius-bottomright: 5px;
+	-webkit-border-top-right-radius: 5px;
+	-webkit-border-bottom-right-radius: 5px;
+	border-top-right-radius: 5px;
+	border-bottom-right-radius: 5px;
+	}
+.pages a.prev_page {
+	float: left;
+	width: 140px;
+	text-align: center;
+	-moz-border-radius-topleft: 5px;
+	-moz-border-radius-bottomleft: 5px;
+	-webkit-border-top-left-radius: 5px;
+	-webkit-border-bottom-left-radius: 5px;
+	border-top-left-radius: 5px;
+	border-bottom-left-radius: 5px;
+	}
+.pages a {
+	color: inherit;
+	border: none;
+	}
+.pages a:hover {
+	background-color: #DDD;
+	}
+.pages span {
+	display: block;
+	margin: 0 160px;
+	text-align: center;
+	}
+
+#footer {
+	font-family: sans-serif;
+	line-height: 2.5em;
+	text-align: center;
+	color: #CCC;
+	margin: 3em 0;
+	border: 1px solid #EEE;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+	}
+#footer a { color: inherit; }
+#footer p { margin: 0; }
+
+.right { float: right; }
+
+.clear { clear: both; }