/* *COLORS:
 * *
 * *LINKS link, visited (grau)	#5E5E5E
 * *LINKS hover (pink)					#FF0099
 * *BUTTON background (grau)		#9E9E9E */
@font-face {
  font-family: NettoWeb;
  src: url("/assets/fonts/NettoWeb.woff") format("woff");
}
html {
  box-sizing: border-box;
  font-size: 14px;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 767.98px) {
  html {
    font-size: 16px;
  }
}

*, *::before, *::after {
  box-sizing: inherit;
}

html, body {
  height: 100%;
}

.cf:after {
  content: "";
  display: block;
  clear: both;
}

body, ul, li, p {
  margin: 0;
  padding: 0;
}

body {
  font-family: NettoWeb, "Helvetica Neue", Helvetica, sans-serif, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.2em;
  color: #000000;
  background-color: #FFFFFF;
}

header, main, footer {
  max-width: 1200px;
  padding: 20px 20px;
}
@media screen and (min-width: 768px) {
  header, main, footer {
    padding: 25px 40px;
  }
}

main {
  min-height: calc(100vh - 215px);
  padding-bottom: 50px;
  background-color: #F7F7F7;
}
@media screen and (max-width: 767.98px) {
  main {
    min-height: calc(100vh - 120px);
  }
}
main p, main ul {
  max-width: 694px;
  line-height: 1.5;
}

h2.chapter {
  margin: 0.5rem 0 3rem;
  font-weight: 400;
}

nav ul {
  list-style: none;
}

#page_main {
  position: relative;
}
#page_main aside {
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  #page_main {
    display: flex;
    max-width: 1120px;
  }
  #page_main aside {
    flex: 1 1 25%;
  }
  #page_main .page-content {
    flex: 3 1 75%;
  }
}

.page-content section {
  margin-bottom: 3rem;
}

#back_link {
  position: absolute;
  right: 0;
  text-align: right;
  top: -60px;
}

#top_link {
  bottom: 20px;
  position: fixed;
}

header.chapter {
  font-size: 20px;
  margin-bottom: 42px;
}

/*  NEWS */
#news_container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  column-gap: 2rem;
  row-gap: 3rem;
}

.news-item {
  display: flex;
  flex-direction: column;
}
.news-item figure, .news-item img {
  width: 100%;
  height: auto;
  margin: 0;
}
.news-item figure {
  position: relative;
  height: 0;
  padding-bottom: 75%;
  overflow: hidden;
  order: -1;
  align-self: center;
  margin-bottom: 2rem;
}
.news-item figure img {
  position: absolute;
  top: 0;
  left: 0;
  max-height: 100%;
  object-fit: contain;
}

#inhalt p.news_title {
  font-size: 20px;
  margin: 15px 35px 15px 0;
  line-height: 1.2em;
}
#inhalt p.news {
  margin-top: 15px;
  color: #5E5E5E;
  line-height: 1.2em;
}

.empty {
  display: none;
}

/*   WORKS */
#works_overview div:last-child {
  margin: 0 0 20px 0;
}

.works_row {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  grid-gap: 1rem;
}

.project-teaser {
  margin-bottom: 1.429rem;
}

.teaser-img {
  position: relative;
  height: 0;
  padding-bottom: 66.66667%;
  overflow: hidden;
  margin-bottom: 1rem;
}
.teaser-img a {
  line-height: 0;
  display: block;
}

img.listview {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}

.books .project-teaser {
  text-align: center;
}

/*  PRESS & CV */
@media screen and (max-width: 1023.98px) {
  #press_nav {
    max-width: 190px;
  }
}
@media screen and (min-width: 768px) {
  #press_nav.fixed {
    position: fixed;
    top: 20px;
  }
}

#press_content a, #catalogues_content a {
  text-decoration: underline;
}

.title {
  color: #5E5E5E;
}

span.date_page, span.year, span.cv-place {
  color: #5E5E5E;
}

p.year {
  min-width: 45px;
  width: 45px;
  min-height: 1px;
}
p.cv_title {
  color: #000000;
}

.cv-title {
  display: flex;
}

#inhalt .cv-title > p {
  padding-right: 0;
}

/*  CONTACT */
#inhalt p.contact_head {
  font-size: 16px;
  line-height: 1em;
  margin-bottom: 12px;
}

#contact > div {
  margin-bottom: 2rem;
}
@media screen and (min-width: 480px) {
  #contact {
    display: flex;
    justify-content: space-between;
    max-width: 500px;
    margin: 3rem 0;
  }
}

#impressum, #privacypolicy {
  margin-top: 50px;
  color: #5E5E5E;
  font-size: 0.9em;
}

/*  OTHER */
article.other_art {
  float: left;
  margin-bottom: 40px;
}

.other_pic, .other_desc {
  float: left;
}

.other_pic {
  margin-right: 20px;
  width: 220px;
}
.other_pic img {
  width: 100%;
}

#pic_nav img:hover, .works_row a:hover img, .other_pic a:hover img {
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -khtml-opacity: 0.8;
  opacity: 0.8;
}

#pic_nav a {
  text-decoration: none;
}

.other_desc {
  width: 400px;
}

#inhalt p.other_text {
  line-height: 1.2em;
  color: #333333;
  padding-right: 0;
}

.float_left {
  float: left;
}

.c_left {
  clear: left;
}

#searchengines {
  position: absolute;
  left: -1000px;
  top: -1000px;
}

#privacypolicy h3, #privacypolicy h4 {
  font-weight: 400;
}
#privacypolicy h3 {
  font-size: 16px;
}
#privacypolicy h4 {
  font-size: 14px;
}
#privacypolicy ul {
  margin-left: 1.5em;
}
#privacypolicy ul ul {
  margin-top: 0.25em;
  margin-bottom: 1em;
}
#privacypolicy li {
  margin: 0.5em 0;
}

header, nav#footer_nav ul {
  display: flex;
  flex-wrap: nowrap;
}

header, nav#main_menu, footer {
  justify-content: space-between;
}

nav#footer_nav ul li {
  margin-right: 2rem;
}

#logo, .copy {
  flex: 1 1 25%;
}

#main_menu, #footer_nav {
  flex: 3 1 75%;
}

.copy {
  color: #5E5E5E;
  font-size: 0.8em;
  margin-top: 1rem;
}

@media screen and (max-width: 767.98px) {
  header {
    display: block;
  }
}

@media screen and (max-width: 719.98px) {
  footer {
    display: block;
  }
  footer #footer_nav {
    margin-bottom: 2rem;
  }
}
footer a:hover, footer a:focus {
  text-decoration: none;
}

#logo {
  display: inline-block;
  font-size: 1.429rem;
  line-height: 1;
  margin: 0;
}
#logo a {
  color: #000000;
}
#logo a:hover, #logo a:focus {
  color: #5E5E5E;
  text-decoration: none;
}

#main_menu {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 2rem;
}
@media screen and (max-width: 767.98px) {
  #main_menu {
    grid-template-columns: repeat(3, 1fr);
  }
  #main_menu #logo {
    grid-column: span 3;
  }
  #main_menu ul {
    display: none;
  }
  #main_menu.open #logo {
    margin-bottom: 2rem;
  }
  #main_menu.open ul {
    display: block;
  }
}
@media screen and (max-width: 767.98px) and (max-width: 495.98px) {
  #main_menu.open {
    display: block;
    font-size: 1.25em;
  }
  #main_menu.open ul {
    margin-bottom: 1rem;
  }
}
#main_menu ul {
  list-style-type: none;
}
#main_menu li {
  padding-bottom: 2px;
}

#nav_toggle {
  position: absolute;
  top: 15px;
  right: 20px;
}
@media screen and (min-width: 768px) {
  #nav_toggle {
    display: none;
  }
}
#nav_toggle div {
  width: 2rem;
  height: 2px;
  background-color: #5E5E5E;
  margin: 5px 0;
  border-radius: 1.5px;
}

a:link, a:visited {
  color: #5E5E5E;
  text-decoration: none;
}
a:hover, a:focus {
  color: #000000;
  text-decoration: underline;
}
a img {
  border: none;
}
a.anchor {
  position: relative;
  top: -1.5rem;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  line-height: 1.4;
}

h1, h2 {
  font-size: 1.5rem;
}

h3 {
  font-size: 1.25rem;
}

li {
  line-height: 1.2;
}

.fett {
  font-weight: bold;
}

.fehler {
  color: #FF020E;
}

header, #linktreelist {
  display: block;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

main {
  max-width: none;
  background-color: #F7F7F7;
  padding: 50px 5%;
}

header {
  padding: 0 0 1.4rem;
}
header img {
  width: 25%;
  max-width: 120px;
}
header h1 {
  font-size: 1.25rem;
  margin: 0;
}

ul {
  list-style: none;
}

main ul {
  max-width: none;
}

#linktreelist li {
  display: block;
  font-size: 1rem;
  margin-bottom: 1rem;
}
#linktreelist li a {
  display: block;
  padding: 1rem 2rem;
  background-color: #9E9E9E;
}
#linktreelist li a:link, #linktreelist li a:visited {
  color: #ffffff;
}
#linktreelist li a:hover, #linktreelist li a:focus {
  background-color: #FFFFFF;
  outline: 2px solid #9E9E9E;
  color: #9E9E9E;
  text-decoration: none;
}

@media only screen and (min-width: 768px) {
  header h1 {
    font-size: 1.5rem;
  }

  #linktreelist li {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
  }
}

/*# sourceMappingURL=linktree.css.map */
