diff --git a/guacamole/web-client/web/guacamole.css b/guacamole/web-client/web/guacamole.css
index 7107ea89f..bd0e7c80f 100644
--- a/guacamole/web-client/web/guacamole.css
+++ b/guacamole/web-client/web/guacamole.css
@@ -20,6 +20,70 @@
body {
background: black;
font-family: sans-serif;
+ padding: 0;
+ margin: 0;
+}
+
+div#login-ui {
+ background: #342;
+ height: 100%;
+ width: 100%;
+ position: fixed;
+ left: 0;
+ top: 0;
+ display: table;
+}
+
+div#login-logo {
+ position: relative;
+ bottom: 0;
+ display: inline-block;
+ vertical-align: middle;
+}
+
+div#login-dialog-middle {
+ width: 100%;
+ display: table-cell;
+ vertical-align: middle;
+ text-align: center;
+}
+
+div#login-dialog {
+
+ background: white;
+ vertical-align: middle;
+
+ padding: 1em;
+ border: 0.2em solid black;
+
+ -khtml-border-radius: 0.5em;
+ -webkit-border-radius: 0.5em;
+ -moz-border-radius: 0.5em;
+ border-radius: 0.5em;
+
+ max-width: 75%;
+ text-align: left;
+
+ display: inline-block;
+}
+
+div#login-dialog h1 {
+ margin-top: 0;
+ margin-bottom: 0em;
+ text-align: center;
+ border-bottom: 1px solid silver;
+ padding-bottom: 0.5em;
+}
+
+div#login-dialog #buttons {
+ border-top: 1px solid silver;
+ padding-top: 0.5em;
+ text-align: center;
+}
+
+div#login-dialog #login-fields {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
}
div.errorDialogOuter {
diff --git a/guacamole/web-client/web/images/login-logo.png b/guacamole/web-client/web/images/login-logo.png
new file mode 100644
index 000000000..d20a2e730
Binary files /dev/null and b/guacamole/web-client/web/images/login-logo.png differ
diff --git a/guacamole/web-client/web/index.html b/guacamole/web-client/web/index.html
index 8420cf3bf..f6a53aabb 100644
--- a/guacamole/web-client/web/index.html
+++ b/guacamole/web-client/web/index.html
@@ -30,44 +30,79 @@
-
-