diff --git a/src/web/html/index.html b/src/web/html/index.html
index 294b41cc..60f03a36 100755
--- a/src/web/html/index.html
+++ b/src/web/html/index.html
@@ -280,6 +280,7 @@
diff --git a/src/web/stylesheets/index.css b/src/web/stylesheets/index.css
index a2892e5e..d0c83325 100644
--- a/src/web/stylesheets/index.css
+++ b/src/web/stylesheets/index.css
@@ -9,6 +9,7 @@
/* Themes */
@import "./themes/_classic.css";
@import "./themes/_dark.css";
+@import "./themes/_geocities.css";
/* Utilities */
@import "./utils/_overrides.css";
diff --git a/src/web/stylesheets/themes/_geocities.css b/src/web/stylesheets/themes/_geocities.css
new file mode 100755
index 00000000..b52d8dfe
--- /dev/null
+++ b/src/web/stylesheets/themes/_geocities.css
@@ -0,0 +1,115 @@
+/**
+ * GeoCities theme definitions
+ *
+ * @author n1474335 [n1474335@gmail.com]
+ * @copyright Crown Copyright 2017
+ * @license Apache-2.0
+ */
+
+:root.geocities {
+ --primary-font-family: "Comic Sans", "Comic Sans MS", "Chalkboard", "ChalkboardSE-Regular", "Marker Felt", "Purisa", "URW Chancery L", cursive, sans-serif;
+ --primary-font-colour: black;
+ --primary-font-size: 14px;
+ --primary-line-height: 20px;
+
+ --fixed-width-font-family: "Courier New", Courier, monospace;
+ --fixed-width-font-colour: yellow;
+ --fixed-width-font-size: inherit;
+
+ --subtext-font-colour: darkgrey;
+ --subtext-font-size: 13px;
+
+ --primary-background-colour: #00f;
+ --secondary-background-colour: #f00;
+
+ --primary-border-colour: pink;
+ --secondary-border-colour: springgreen;
+
+ --title-colour: red;
+ --title-weight: bold;
+ --title-background-colour: yellow;
+
+ --banner-font-colour: white;
+ --banner-bg-colour: maroon;
+
+
+ /* Operation colours */
+ --op-list-operation-font-colour: blue;
+ --op-list-operation-bg-colour: yellow;
+ --op-list-operation-border-colour: green;
+
+ --rec-list-operation-font-colour: white;
+ --rec-list-operation-bg-colour: purple;
+ --rec-list-operation-border-colour: green;
+
+ --selected-operation-font-color: white;
+ --selected-operation-bg-colour: pink;
+ --selected-operation-border-colour: blue;
+
+ --breakpoint-font-colour: white;
+ --breakpoint-bg-colour: red;
+ --breakpoint-border-colour: blue;
+
+ --disabled-font-colour: grey;
+ --disabled-bg-colour: black;
+ --disabled-border-colour: grey;
+
+ --fc-operation-font-colour: sienna;
+ --fc-operation-bg-colour: pink;
+ --fc-operation-border-colour: yellow;
+
+ --fc-breakpoint-operation-font-colour: darkgrey;
+ --fc-breakpoint-operation-bg-colour: deeppink;
+ --fc-breakpoint-operation-border-colour: yellowgreen;
+
+
+ /* Operation arguments */
+ --arg-title-font-weight: bold;
+ --arg-input-height: 34px;
+ --arg-input-line-height: 20px;
+ --arg-input-font-size: 15px;
+ --arg-font-colour: white;
+ --arg-background: black;
+ --arg-border-colour: lime;
+ --arg-disabled-background: grey;
+
+
+ /* Buttons */
+ --btn-default-font-colour: black;
+ --btn-default-bg-colour: white;
+ --btn-default-border-colour: grey;
+
+ --btn-default-hover-font-colour: black;
+ --btn-default-hover-bg-colour: white;
+ --btn-default-hover-border-colour: grey;
+
+ --btn-success-font-colour: white;
+ --btn-success-bg-colour: lawngreen;
+ --btn-success-border-colour: grey;
+
+ --btn-success-hover-font-colour: white;
+ --btn-success-hover-bg-colour: lime;
+ --btn-success-hover-border-colour: grey;
+
+
+ /* Highlighter colours */
+ --hl1: #fff000;
+ --hl2: #95dfff;
+ --hl3: #ffb6b6;
+ --hl4: #fcf8e3;
+ --hl5: #8de768;
+
+
+ /* Scrollbar */
+ --scrollbar-track: lightsteelblue;
+ --scrollbar-thumb: lightslategrey;
+ --scrollbar-hover: grey;
+
+
+ /* Misc. */
+ --drop-file-border-colour: purple;
+ --popover-background: turquoise;
+ --popover-border-colour: violet;
+ --code-background: black;
+ --code-font-colour: limegreen;
+}