diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index aee690650b1c21b8aa8c71e9998e9c2dcd71a653..d761ec5c3e30b28a2696320c3acbec24e1dd726f 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -15,6 +15,7 @@ import { StatisticsComponent } from './components/fragments/statistics/statistic
 import { ContentCreatePageComponent } from './components/pages/content-create-page/content-create-page.component';
 import { ContentCarouselPageComponent } from './components/pages/content-carousel-page/content-carousel-page.component';
 import { FeedbackBarometerPageComponent } from './components/pages/feedback-barometer-page/feedback-barometer-page.component';
+import { FooterImprintComponent } from './components/pages/footer-imprint/footer-imprint.component';
 
 const routes: Routes = [
   {
@@ -98,6 +99,10 @@ const routes: Routes = [
     canActivate: [AuthenticationGuard],
     data: { roles: [UserRole.PARTICIPANT] }
   },
+  {
+    path: 'imprint',
+    component: FooterImprintComponent
+  },
   {
     path: '**',
     component: PageNotFoundPageComponent
diff --git a/src/app/app.component.html b/src/app/app.component.html
index 49832c88f4eb5d81419b4f0108ad6349b99bd2c0..b86ef90e22afcc573488a94b2a31092e5d3f795c 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -3,4 +3,5 @@
   <div fxFlex class="app-component">
     <router-outlet></router-outlet>
   </div>
+  <app-footer></app-footer>
 </div>
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 3937566e8a94a1ffdd708874024d2e2bff766dcb..f3f3484c4c59d7f7933989d8557d7fada018333d 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -91,6 +91,9 @@ import { MarkdownModule } from 'ngx-markdown';
 import { MarkdownToolbarComponent } from './components/fragments/markdown-toolbar/markdown-toolbar.component';
 import { MarkdownHelpDialogComponent } from './components/dialogs/markdown-help-dialog/markdown-help-dialog.component';
 import { GenericDataDialogComponent } from './components/dialogs/generic-data-dialog/generic-data-dialog.component';
+import { FooterComponent } from './components/fragments/footer/footer.component';
+import { FooterLoginDialogComponent } from './components/dialogs/footer-login-dialog/footer-login-dialog.component';
+import { FooterImprintComponent } from './components/pages/footer-imprint/footer-imprint.component';
 
 @NgModule({
   declarations: [
@@ -131,7 +134,10 @@ import { GenericDataDialogComponent } from './components/dialogs/generic-data-di
     FeedbackBarometerPageComponent,
     MarkdownToolbarComponent,
     MarkdownHelpDialogComponent,
-    GenericDataDialogComponent
+    GenericDataDialogComponent,
+    FooterComponent,
+    FooterLoginDialogComponent,
+    FooterImprintComponent
   ],
   entryComponents: [
     RegisterComponent,
@@ -146,7 +152,8 @@ import { GenericDataDialogComponent } from './components/dialogs/generic-data-di
     ContentYesNoCreatorComponent,
     ContentDeleteComponent,
     MarkdownHelpDialogComponent,
-    GenericDataDialogComponent
+    GenericDataDialogComponent,
+    FooterLoginDialogComponent
   ],
   imports: [
     AppRoutingModule,
diff --git a/src/app/components/dialogs/footer-login-dialog/footer-login-dialog.component.html b/src/app/components/dialogs/footer-login-dialog/footer-login-dialog.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..045bdd3d15b2d007c63c3b52c8f57cf5ceedbc8e
--- /dev/null
+++ b/src/app/components/dialogs/footer-login-dialog/footer-login-dialog.component.html
@@ -0,0 +1,8 @@
+<h3 mat-header>Login as Guest</h3>
+<p mat-line>Do you really want to leave the current page and login as a guest?</p>
+<p mat-line>You'll be logged out if you are currently logged in</p>
+
+<mat-action-row>
+  <button mat-button (click)="dialogRef.close('login')">Login</button>
+  <button mat-button (click)="onNoClick()">Cancel</button>
+</mat-action-row>
\ No newline at end of file
diff --git a/src/app/components/dialogs/footer-login-dialog/footer-login-dialog.component.scss b/src/app/components/dialogs/footer-login-dialog/footer-login-dialog.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/app/components/dialogs/footer-login-dialog/footer-login-dialog.component.spec.ts b/src/app/components/dialogs/footer-login-dialog/footer-login-dialog.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..dcb44e78bfb42fc82105489a6ff88778d8f7d8a0
--- /dev/null
+++ b/src/app/components/dialogs/footer-login-dialog/footer-login-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { FooterLoginDialogComponent } from './footer-login-dialog.component';
+
+describe('FooterLoginDialogComponent', () => {
+  let component: FooterLoginDialogComponent;
+  let fixture: ComponentFixture<FooterLoginDialogComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ FooterLoginDialogComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(FooterLoginDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/src/app/components/dialogs/footer-login-dialog/footer-login-dialog.component.ts b/src/app/components/dialogs/footer-login-dialog/footer-login-dialog.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..281d27d3c1d8272d05a14abfa25bbb9e205275a9
--- /dev/null
+++ b/src/app/components/dialogs/footer-login-dialog/footer-login-dialog.component.ts
@@ -0,0 +1,23 @@
+import { Component, OnInit, Inject } from '@angular/core';
+import { FooterComponent } from '../../fragments/footer/footer.component';
+import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
+
+@Component({
+  selector: 'app-footer-login-dialog',
+  templateUrl: './footer-login-dialog.component.html',
+  styleUrls: ['./footer-login-dialog.component.scss']
+})
+export class FooterLoginDialogComponent implements OnInit {
+
+  constructor(
+    public dialogRef: MatDialogRef<FooterComponent>,
+    @Inject(MAT_DIALOG_DATA) public data: any
+  ) { }
+
+  onNoClick(): void {
+    this.dialogRef.close();
+  }
+
+  ngOnInit() {
+  }
+}
diff --git a/src/app/components/fragments/footer/footer.component.html b/src/app/components/fragments/footer/footer.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..ec2a042563e0e9f097552f7d2c56ca85a72eb401
--- /dev/null
+++ b/src/app/components/fragments/footer/footer.component.html
@@ -0,0 +1,9 @@
+<footer>
+  <mat-toolbar>
+    <div class="container">
+      <a href="imprint" target="_parent">
+        <button mat-button>Impressum</button>
+      </a>
+    </div>
+  </mat-toolbar>
+</footer>
\ No newline at end of file
diff --git a/src/app/components/fragments/footer/footer.component.scss b/src/app/components/fragments/footer/footer.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..97bba6929502cb49b703697086809bbd5a0d9634
--- /dev/null
+++ b/src/app/components/fragments/footer/footer.component.scss
@@ -0,0 +1,38 @@
+footer {
+    overflow-y: auto;   
+}
+
+mat-expansion-panel {
+  background-color: rgb(235, 235, 235);
+  color: rgb(60, 60, 60);  
+  height: auto;
+}
+
+mat-toolbar {
+  background-color: rgb(240, 240, 240);
+  color: rgb(140, 140, 140);  
+  height: auto;
+}
+
+button {
+  min-height: 28px;
+  font-size: 12px;
+  color: rgb(140, 140, 140);  
+}
+
+.container {
+  display: flex;
+  justify-content: space-around;
+}
+
+/* Small screens */
+@media all and (max-width: 300px) {
+  .container {
+    flex-direction: column;
+    margin: auto;
+  }
+
+  mat-toolbar {
+    height: auto;
+  }
+}
\ No newline at end of file
diff --git a/src/app/components/fragments/footer/footer.component.spec.ts b/src/app/components/fragments/footer/footer.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..2ca6c45431d529bbf993d17231e1c7604bb6a480
--- /dev/null
+++ b/src/app/components/fragments/footer/footer.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { FooterComponent } from './footer.component';
+
+describe('FooterComponent', () => {
+  let component: FooterComponent;
+  let fixture: ComponentFixture<FooterComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ FooterComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(FooterComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/src/app/components/fragments/footer/footer.component.ts b/src/app/components/fragments/footer/footer.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8675f2f5dac38dff9c835e2c0ea1c9cda0e3447d
--- /dev/null
+++ b/src/app/components/fragments/footer/footer.component.ts
@@ -0,0 +1,45 @@
+import { Component, OnInit, Input } from '@angular/core';
+import { AuthenticationService } from '../../../services/http/authentication.service';
+import { NotificationService } from '../../../services/util/notification.service';
+import { Router } from '@angular/router';
+import { MatDialog } from '@angular/material';
+import { FooterLoginDialogComponent } from '../../dialogs/footer-login-dialog/footer-login-dialog.component';
+
+@Component({
+  selector: 'app-footer',
+  templateUrl: './footer.component.html',
+  styleUrls: ['./footer.component.scss']
+})
+export class FooterComponent implements OnInit {
+
+  constructor(
+    public authenticationService: AuthenticationService,
+    public notificationService: NotificationService,
+    public router: Router,
+    public dialog: MatDialog
+  ) { }
+
+  ngOnInit() {
+  }
+
+  guestLogin(): void {
+    this.authenticationService.guestLogin().subscribe(loginSuccessful => this.checkLogin(loginSuccessful));
+  }
+
+  openLoginDialog(): void {
+    const dialogRef = this.dialog.open(FooterLoginDialogComponent, {
+      width: '400px'
+    });
+    dialogRef.afterClosed()
+      .subscribe(result => {
+        if(result === 'login'){this.guestLogin();}
+      });
+  }
+
+  private checkLogin(loginSuccessful: boolean) {
+    if (loginSuccessful) {
+      this.notificationService.show('Login successful!');
+      this.router.navigate(['participant']);
+    }
+  }
+}
diff --git a/src/app/components/pages/footer-imprint/footer-imprint.component.html b/src/app/components/pages/footer-imprint/footer-imprint.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..53eaf18269306fe6b7c1b7ecfd73c6c348fd528c
--- /dev/null
+++ b/src/app/components/pages/footer-imprint/footer-imprint.component.html
@@ -0,0 +1,117 @@
+<mat-accordion>
+  <mat-expansion-panel [expanded]="step === 0" (opened)="setStep(0)" hideToggle="true">
+    <mat-expansion-panel-header>
+      <mat-panel-title>Impressum</mat-panel-title>
+    </mat-expansion-panel-header>
+    <p>
+      <a>Technische Hochschule Mittelhessen (THM) University of Applied Sciences</a>
+      <br>Wiesenstraße 14
+      <br>35390 Gießen
+      <br>Germany
+      <br>
+    </p>
+
+    <p>
+      <mat-icon>phone</mat-icon> +49 641 309-0
+      <br>
+      <mat-icon>print</mat-icon> +49 641 309-2901
+      <br>
+      <mat-icon>mail</mat-icon> praesident@thm.de
+      <br>
+    </p>
+
+    <mat-divider></mat-divider>
+    <br>
+
+    <p>
+      Die Technische Hochschule Mittelhessen ist eine rechtsfähige Körperschaft des öffentlichen Rechts und zugleich staatliche
+      Einrichtung gemäß § 1 (1) HHG (Hessisches Hochschulgesetz vom 14. Dezember 2009, GVBl. I, S. 666).
+    </p>
+
+    <p> Sie wird gesetzlich vertreten durch den Präsidenten
+      <a>Prof. Dr. Matthias Willems</a>.
+    </p>
+
+    <p>Umsatzsteuer-Identifikationsnummer gemäß § 27 a Umsatzsteuergesetz:
+      <br>
+      <a>DE 813885934</a>
+    </p>
+
+    <p>
+      <a>Zuständige Aufsichtsbehörde:</a>
+      <br> Hessisches Ministerium für Wissenschaft und Kunst Rheinstraße 23 - 25 65185 Wiesbaden
+    </p>
+
+    <p>
+      <a>Inhaltlich Verantwortlicher gemäß § 55 Abs. 2 RStV:</a>
+      <br> Das Präsidium hat die allgemeine inhaltliche Verantwortung und entscheidet in Zweifelsfällen über die Zulässigkeit
+      von Daten. Die Einrichtungen und Organe der Technischen Hochschule Mittelhessen (u.a. Fachbereiche, Bibliothek, AStA,
+      Personalräte) erstellen ihre Webseiten in eigener Verantwortung. Die inhaltliche Verantwortung dieser Webseiten liegt
+      bei der/dem Vertretungsberechtigten der jeweils zuständigen Einrichtung bzw. bei der von ihr/ihm autorisierten Person.
+      Die Kontaktdaten dieser Personen sind dort jeweils im Impressum angegeben.
+    </p>
+
+    <p>
+      <a>Das Impressum gilt auch für folgende Social Media Profile:</a>
+      <br>www.thm.de/facebook
+      <br>www.thm.de/twitter
+      <br>www.thm.de/plus.google
+      <br>www.thm.de/youtube
+    </p>
+
+    <p>
+      <a>Technische Ansprechpartner für den Internetauftritt:</a>
+      <br>Referat Neue Medien
+      <br>Ostanlage 37 - 41
+      <br>35390 Gießen
+      <br>webredaktion@thm.de
+    </p>
+  </mat-expansion-panel>
+
+  <mat-expansion-panel [expanded]="step === 1" (opened)="setStep(1)" hideToggle="true">
+    <mat-expansion-panel-header>Haftungsausschluss</mat-expansion-panel-header>
+    <h4>1. Inhalt der Internetpräsenz</h4>
+    Die Technische Hochschule Mittelhessen (THM) ist bemüht, die bereitgestellte Internetpräsenz stets informativ, aktuell, klar
+    strukturiert und übersichtlich zu halten. Trotzdem können Fehler und Unklarheiten nicht vollständig ausgeschlossen werden.
+    Aus diesem Grunde übernimmt die Technische Hochschule Mittelhessen keine Gewähr für die Vollständigkeit, die Richtigkeit,
+    die Aktualität und die Qualität der zur Verfügung gestellten Informationen. Für Schäden immaterieller oder materieller
+    Art, die durch die Nutzung oder die Nichtnutzung der dargebotenen Informationen oder durch die Nutzung fehlerhafter oder
+    unvollständiger Informationen mittelbar oder unmittelbar entstehen, haftet die Technische Hochschule Mittelhessen nicht,
+    sofern ihr nicht nachweislich ein grob fahrlässiges oder vorsätzliches Verschulden zur Last gelegt werden kann. Gleiches
+    gilt für kostenlos zur Verfügung gestellte Software. Die Technische Hochschule Mittelhessen kann ohne vorherige Ankündigung
+    Teile des Internetangebotes oder auch das gesamte Internetangebot verändern, ergänzen löschen oder endgültig oder zeitweise
+    sperren.
+
+    <h4>2. Links und Verweise</h4>
+    Für „fremde Inhalte“, die durch direkte oder indirekte Verknüpfungen (sogenannte Links) von anderen Anbietern zur Verfügung
+    gestellt werden, übernimmt die Technische Hochschule Mittelhessen keine Haftung. Sie macht sich diese Seiten ausdrücklich
+    nicht zu Eigen und distanziert sich auch von den Inhalten der gelinkten/verknüpften Seiten. Diese Feststellung betrifft
+    auch die von der Technischen Hochschule Mittelhessen eingerichteten Diskussionsforen, Gästebücher und Mailinglisten.
+    Für unvollständige, fehlerhafte oder auch illegale Inhalte und insbesondere für Schäden, die aus der Nutzung dieser Seiten
+    und der in ihnen dargebotenen Informationen entstehen, haftet allein der Anbieter der entsprechenden Seiten. Die Technische
+    Hochschule Mittelhessen hat keine Kenntnis über anstößige oder rechtswidrige Inhalte der gelinkten/verknüpften Seiten
+    der Anbieter. Sollten auf diesen Seiten dennoch rechtswidrige oder anstößige Inhalte enthalten sein, distanziert sich
+    die Technische Hochschule Mittelhessen ausdrücklich von diesen Inhalten.
+
+    <h4>3. Urheberrecht</h4>
+    Die Technische Hochschule Mittelhessen ist bestrebt, in ihren Publikationen die Urheberrechte der verwendeten Dokumente,
+    Texte, Grafiken, Tondokumente und Videosequenzen zu beachten, von ihr selbst erstellte Grafiken, Tondokumente, Videosequenzen
+    und Texte zu nutzen oder auf lizenzfreie Grafiken, Tondokumente, Videosequenzen und Texte zurückzugreifen. Alle innerhalb
+    des Internetangebotes genannten und ggf. durch Dritte geschützten Marken- und Warenzeichen unterliegen uneingeschränkt
+    den Bestimmungen des gültigen Kennzeichenrechts und den Besitzrechten der jeweiligen eingetragenen Eigentümer. Allein
+    aufgrund der bloßen Nennung ist nicht der Schluss zu ziehen, dass Markenzeichen nicht durch Rechte Dritter geschützt
+    sind! Das Copyright für von der Technischen Hochschule Mittelhessen veröffentlichte Dokumente bleibt alleine bei der
+    Technische Hochschule Mittelhessen. Die Vervielfältigung der von der Technischen Hochschule Mittelhessen erstellten Dokumente
+    und Publikationen ist ohne ausdrückliche Zustimmung der Technischen Hochschule Mittelhessen nicht gestattet. Das Layout
+    der Homepage und die verwendeten Graphiken sowie sonstige Inhalte sind urheberrechtlich geschützt.
+
+    <h4>4. Datenschutz</h4>
+    Sofern auf unserer Webseite die Möglichkeit zur Eingabe persönlicher oder geschäftlicher Daten wie Namen, E-Mail-Adressen,
+    Anschriften usw. besteht, erfolgt die Preisgabe dieser Daten seitens des Nutzers auf freiwilliger Basis.
+
+    <h4>5. Rechtswirksamkeit dieses Haftungsausschlusses</h4>
+    Dieser Haftungsausschluss ist als Teil des Internetangebots zu betrachten, von dem aus auf diese Seite verwiesen wurde. Sofern
+    Teile oder einzelne Formulierungen dieses Textes der geltenden Rechtsgrundlage nicht oder nicht vollständig entsprechen,
+    bleiben die übrigen Teile der Internetpräsentation in ihrem Inhalt und in ihrer Gültigkeit unberührt.
+  </mat-expansion-panel>
+</mat-accordion>
\ No newline at end of file
diff --git a/src/app/components/pages/footer-imprint/footer-imprint.component.scss b/src/app/components/pages/footer-imprint/footer-imprint.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..c105e35b241b7c4a3457781d97940f273977eceb
--- /dev/null
+++ b/src/app/components/pages/footer-imprint/footer-imprint.component.scss
@@ -0,0 +1,12 @@
+mat-icon {
+    font-size: 20px;
+    vertical-align: middle;
+}
+
+p {
+    margin: 2%;
+}
+
+a{
+    font-weight:bolder;
+}
\ No newline at end of file
diff --git a/src/app/components/pages/footer-imprint/footer-imprint.component.spec.ts b/src/app/components/pages/footer-imprint/footer-imprint.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..28cf091c05b3741ecb12ccf56352b358764048b9
--- /dev/null
+++ b/src/app/components/pages/footer-imprint/footer-imprint.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { FooterImprintComponent } from './footer-imprint.component';
+
+describe('FooterImprintComponent', () => {
+  let component: FooterImprintComponent;
+  let fixture: ComponentFixture<FooterImprintComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ FooterImprintComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(FooterImprintComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/src/app/components/pages/footer-imprint/footer-imprint.component.ts b/src/app/components/pages/footer-imprint/footer-imprint.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..a21da8acf9724796e2ffe687ac952807f249f8d0
--- /dev/null
+++ b/src/app/components/pages/footer-imprint/footer-imprint.component.ts
@@ -0,0 +1,27 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+  selector: 'app-footer-imprint',
+  templateUrl: './footer-imprint.component.html',
+  styleUrls: ['./footer-imprint.component.scss']
+})
+export class FooterImprintComponent implements OnInit {
+  step = 0;
+
+  constructor() { }
+
+  ngOnInit() {
+  }
+
+  setStep(index: number) {
+    this.step = index;
+  }
+
+  nextStep() {
+    this.step++;
+  }
+
+  prevStep() {
+    this.step--;
+  }
+}
\ No newline at end of file