diff --git a/lib/Kalamar.pm b/lib/Kalamar.pm
index e3f0d31..b4b15e0 100644
--- a/lib/Kalamar.pm
+++ b/lib/Kalamar.pm
@@ -19,6 +19,14 @@
     b($self->home . '/kalamar.secret')->slurp->split("\n")
   ]);
 
+  $self->hook(before_dispatch => sub {
+      my $c = shift;
+      my $host = $c->req->headers->header('X-Forwarded-Host');
+      if ($host && $host eq 'korap.ids-mannheim.de') {
+	$c->req->url->base->path('/kalamar/');
+      };
+  }) if $self->mode eq 'production';
+
   # Add additional plugin path
   push(@{$self->plugins->namespaces}, __PACKAGE__ . '::Plugin');
 
diff --git a/public/kwic-4.0.css b/public/kwic-4.0.css
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/public/kwic-4.0.css
diff --git a/public/style.css b/public/style.css
new file mode 100644
index 0000000..4a7743d
--- /dev/null
+++ b/public/style.css
@@ -0,0 +1,330 @@
+@charset "utf-8";
+
+body, html {
+  color: #666;
+  font-family: verdana, tahoma, arial;
+  text-shadow: 1px 1px rgba(255, 255, 255, 0.4);
+  margin: 0;
+}
+
+a {
+  color: inherit;
+}
+
+#top {
+  background-color: #7ba400;
+  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
+  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
+  box-sizing: border-box;         /* Opera/IE 8+ */
+  padding: 0pt;
+  padding-top: 5px;
+  position: relative;
+  height: 70px;
+  padding-left: 30px;
+}
+
+#q-field {
+  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
+  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
+  box-sizing: border-box;         /* Opera/IE 8+ */
+}
+
+#button-right {
+  position: absolute;
+  right: 15px;
+  top: 15px;
+}
+
+input, button {
+  border: 2px solid white;
+  padding: 3px;
+  font-size: 11pt;
+}
+
+form {
+  margin-left: 235px;
+  margin-top:0px
+}
+
+form input[type=search] {
+  width: 50%;
+}
+
+a {
+  text-decoration: none;
+}
+
+p.found {
+  font-size: 10pt;
+  padding: 0;
+  margin: 0;
+}
+
+p.found {
+  text-align: right;
+}
+
+#pagination {
+  position: fixed;
+  right: 20px;
+  bottom: 10px;
+  z-index: 800;
+}
+
+#pagination span {
+  display: inline-block;
+  background-color: #ddd;
+  margin: 2pt;
+  height: 1.5em;
+  padding-left: .5em;
+  padding-right: .5em;
+  line-height: 1.5em;
+  text-align: center;
+  border-width: 2px;
+  border-style: solid;
+  border-color: #999;
+  box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
+}
+
+#pagination a {
+  text-shadow: 1px 1px rgba(255, 255, 255, 0.9);
+}
+
+#pagination a[rel=self] span {
+  border-color: #ffa500;
+  background-color: #f4eebb;
+  color: #ff8000;
+}
+
+#pagination a[href] {
+  color: #7ba400;
+}
+
+#pagination a[href] span:hover {
+  background-color: #7ba400;
+  border-color: #496000;
+  color: #496000;
+  text-shadow: none;
+}
+
+#total-results {
+  color: #c1002b;
+}
+
+code.query {
+  background-color: #f4eebb;
+  display: block;
+  border-style: solid;
+  border-color: #ffa500;
+  font-size: 12pt;
+  padding: 2pt;
+  color: #bb6000;
+  font-weight: bold;
+  text-shadow: 1px 1px rgba(255, 255, 255, 0.9);
+  border-width: 2px;
+  margin: 0;
+  margin-bottom: 5pt;
+  cursor: pointer;
+}
+
+code.query.serial:not(.active) span {
+  padding: 2pt;
+}
+
+code.query pre {
+  display: block;
+  padding: 2px 5px;
+  margin: 0;
+}
+
+code.query.serial:not(.active) pre {
+  display: none;
+}
+
+code.query.serial.active span {
+  display: none;
+}
+
+#sidebar.active {
+  margin-left: 0px;
+  left: 0;
+  top: 0;
+}
+
+#sidebar {
+  color: #fff;
+  text-shadow: none;
+  transition: all .3s ease-in-out;
+  position: fixed;
+  z-index: 500;
+  height: 100%;
+  background-color: #496000;
+  width: 260px;
+  margin-left: -245px;
+  left: 0;
+  top: 0;
+}
+
+#sidebar > * {
+  opacity: 0;
+  transition-property: opacity;
+  transition-duration: .3s;
+}
+
+#sidebar:not(.active) > i.fa-bars {
+  opacity: 1;
+  cursor: pointer;
+  background-color: #496000;
+  position: fixed;
+  font-size: 16pt;
+  width: 16pt;  
+  height: 17pt;
+  padding: 6pt;
+  bottom: 0;
+  left: 0;
+  border-top-right-radius: 5pt;
+}
+
+#sidebar.active > * {
+  opacity: 1;
+}
+
+#sidebar.active > i.fa-bars {
+  opacity: 0;
+}
+
+#sidebar h2 {
+  font-size: 100%;
+  font-weight: bold;
+  text-align: center;
+  padding: 0;
+  margin: 0 0 5pt 0;
+}
+
+#sidebar ul {
+  list-style-type: none;
+  margin: 0;
+  font-size: 10pt;
+  text-indent: 0;
+  padding: 0;
+}
+
+#sidebar ul li {
+  padding: 4pt 10pt;
+}
+
+#sidebar ul li h3 {
+  font-weight: bold;
+  font-size: 100%;
+  padding: 0;
+  margin: 0;
+}
+
+#sidebar ul li.active h3 {
+  margin-bottom: 2pt;
+  padding-bottom: 2pt;
+  border-bottom: 1px solid black;
+}
+
+#sidebar ul li.active {
+  background-color: #7ba400;
+  text-shadow: 1px 1px rgba(0, 0, 0, 0.4);
+}
+
+dl.info {
+  font-size: 9pt;
+  padding: 0 10pt;
+}
+
+dl.info dt {
+  font-weight: bold;
+  float: left;
+}
+
+dl.info dd {
+  text-align: right;
+}
+
+#tutorial {
+  position: fixed;
+  display: block;
+  z-index: 9999;
+  background-color: #496000;
+  border-radius: 15px;
+  padding: 5px;
+  top: 2%;
+  bottom: 2%;
+  left: 5%;
+  right: 5%;
+}
+
+#tutorial:not(.active) {
+  display: none;
+}
+
+#tutorial.active {
+  display: block;
+}
+
+#tutorial > i,
+#tutorial > a > i {
+  font-size: 20pt;
+  color: #496000;
+  position: absolute;
+  z-index: 100;
+  top: 10pt;
+  right: 20pt;
+  cursor: pointer;
+}
+
+#tutorial > a > i {
+  right: 40pt;
+}
+
+#tutorial iframe {
+  width: 100%;
+  min-height: 100%;
+  border-width: 0;
+  border-radius: 10px;
+  background-image: url('img/crab.svg');
+  background-size: 10%;
+  background-repeat: no-repeat;
+  background-position: center center;
+  background-color: white;
+}
+
+h1 {
+    margin: 0;
+    left: 0;
+    top: 0;
+    background-image: url('/img/korap-logo-solo.svg');
+    position: absolute;
+    width: 260px; /* like sidebars*/
+    height: 68px; /* like #top */
+    z-index: 999;
+    background-repeat: no-repeat;
+    background-position: center center;
+    background-size: 65%;
+}
+
+h1 span {
+  margin-left: -3000px;
+}
+
+#search {
+  margin-bottom: 44px;
+}
+
+#search.match {
+  margin-top: 14pt;
+}
+
+main {
+  margin-left: 30px;
+  margin-right: 14px;
+}
+
+main.embedded {
+  margin-left: 14px;
+  margin-right: 14px;
+}
\ No newline at end of file
