*, *:before, *:after {
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
}

body {
  max-width: 1024px;
}

/* Nav and Footer */

header {
  max-width: 256px;
  margin: 0 auto;
}

#logo {
  margin: 0;
  padding: 0;
}

#logo img {
  display: block;
  max-width: 100%;
}

.desktop-impressum {
  display: none;
}

nav ul, .gallery {
  margin: 0;
  padding: 0;
}

nav li, footer, .gallery li {
  list-style: none;
  text-align: center;
  display: block;
}

nav a, .mobile-impressum {
  display: inline-block;
}

nav img {
  width: 70%;
}

.mobile-impressum img {
  width: 50%;
}

/* Main */


/* Gallery */

.gallery img {
  max-width: 100%;
}

@media (min-width: 400px) {
  .gallery {
  -moz-column-count:    2;
  -webkit-column-count: 2;
  column-count:         2;
  }
}

@media (min-width: 600px) {
  .gallery {
  -moz-column-count:    3;
  -webkit-column-count: 3;
  column-count:         3;
  }
}

/* Project */

.swiper-container {
  width: 90vw;
  height: 70vh;
}

.swiper-container img {
  max-width: 100%;
  max-height: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* About */
#about-image img {
  display: block;
  margin: 0 auto;
}

/* Impressum */
address {
  text-align: center;
}

/* Video */
.video {
  position: relative;
  padding-bottom: 56.25%; /* ratio 16x9 */
  height: 0;
  overflow: hidden;
  width: 100%;
  height: auto;
}

.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Respond Layout to width */

@media (min-width: 1024px) {
  body {
    display: flex;
  }
  .desktop-impressum {
    display: block;
  }
  .mobile-impressum {
    display: none;
  }
  header {
    flex: 0 0 256px;
  }
  main {
    width: 768px;
    margin-top: 160px;
  }
  .swiper-container {
    width: 768px;
  }
}
