body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, label, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img {
  border: 0; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ol, ul, li {
  list-style: none;
  margin: 0;
  padding: 0; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0; }

@font-face {
  font-family: 'nz';
  src: url("NeuzeitS-Book.ttf"); }

html {
  font-family: nz; }
  @media all and (min-width: 901px) {
    html {
      font-size: 110%; } }
  @media all and (min-width: 801px) and (max-width: 900px) {
    html {
      font-size: 95%; } }
  @media all and (max-width: 800px) {
    html {
      font-size: 78%; } }

h1 {
  font-size: 2rem; }

@media all and (max-width: 800px) {
  h1 {
    font-size: 1.75rem; } }

pre,
h4 {
  font-family: "Courier New", Courier, monospace; }

pre {
  white-space: pre-wrap; }

html {
  box-sizing: border-box;
  color: #000; }

a {
  color: inherit; }

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

img {
  max-width: 100%;
  height: auto; }

.frontpage-name {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-attachment: absolute;
  background-color: #FFE2DB;
  background-size: contain; }

@media all and (max-width: 800px) {
  .frontpage-name {
    display: none; } }

.name-home {
  cursor: pointer;
  padding: 0.25rem 1.5rem;
  padding-top: 1.5rem;
  background-color: #FFC4FF;
  border-bottom: 0.2rem solid #000;
  position: absolute;
  top: 0;
  width: 100%; }

.frontpage-name-mobile {
  background-color: #FFE2DB;
  min-height: 100vh; }
  .frontpage-name-mobile img {
    width: 100%; }

nav .inner a,
.name-home a,
.subheader a {
  text-decoration: none; }

nav .inner a:hover,
.name-home a:hover,
.subheader a:hover {
  color: #f00; }

@media all and (min-width: 801px) {
  nav .inner,
  .name-home,
  .subheader {
    line-height: 1.2; } }

@media all and (max-width: 800px) {
  nav .inner,
  .name-home,
  .subheader {
    line-height: 1.3; } }

nav {
  position: fixed;
  width: 100%;
  top: 0;
  cursor: pointer;
  max-height: 50rem;
  background-color: #FFC4FF;
  border-bottom: 0.2rem solid #000; }
  nav .plupp {
    width: 3rem;
    position: absolute;
    bottom: -1.85rem;
    left: calc(50% - 1rem); }
  nav.closed .cross {
    display: none; }
  nav.closed {
    transition: max-height 0.2s;
    max-height: 1.25rem; }
    nav.closed:hover {
      max-height: 2rem; }
  nav .cross {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1rem;
    font-size: 1.8rem; }
  nav.closed .inner {
    opacity: 0;
    max-height: 2rem;
    padding: 0.1rem 0;
    pointer-events: none; }
  nav .inner {
    opacity: 1;
    padding: 2rem 1.5rem;
    height: 24rem; }
    @media all and (max-width: 800px) {
      nav .inner {
        height: 49rem; } }
    @media all and (min-width: 801px) {
      nav .inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: column wrap;
            flex-flow: column wrap; } }
    nav .inner a {
      text-decoration: none; }
      @media all and (min-width: 801px) {
        nav .inner a {
          -ms-flex: 1 1 auto;
              flex: 1 1 auto; } }

.subheader {
  border-bottom: 0.2rem solid #000;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #FFE2DB;
  width: 100%;
  padding: 0.25rem 1.5rem;
  padding-top: 2rem;
  overflow: hidden; }
  .subheader .header-category.right {
    cursor: pointer; }
    @media all and (min-width: 801px) {
      .subheader .header-category.right {
        float: right;
        text-align: right; } }
  .subheader .header-category.left {
    float: left;
    text-align: left; }
    @media all and (max-width: 900px) {
      .subheader .header-category.left {
        display: none; } }

main {
  padding-top: 5.5rem;
  padding-bottom: 5rem; }
  @media all and (min-width: 801px) {
    main {
      padding-top: 4.5rem; } }

.template-home main {
  padding-top: 0; }

.template-project main {
  padding-bottom: 0; }

.template-project article .body {
  padding-bottom: 5rem; }

hr {
  border-top: 0.2rem solid #000;
  margin: 1rem 0;
  clear: both; }

em {
  font-style: italic; }

.category {
  margin-top: 1.5rem;
  line-height: 1.5rem;
  font-size: 1.2rem; }
  .category a {
    display: block;
    text-decoration: none;
    margin-bottom: 0.5rem;
    margin-right: 1.5rem; }
    .category a:hover {
      color: #FFC4FF; }
  @media all and (max-width: 800px) {
    .category {
      margin-top: 2.5rem; }
      .category a {
        margin-left: 1.5rem; }
        .category a img {
          display: none; }
      .category .year {
        margin: 1rem 1.5rem;
        margin-top: 1.5rem; } }
  @media all and (min-width: 801px) {
    .category a {
      margin-left: 33%; }
      .category a img {
        pointer-events: none;
        display: none; }
      .category a:hover img {
        display: block;
        position: absolute;
        margin-top: 4rem; }
    .category .year {
      float: left;
      clear: both;
      width: 33%;
      padding-left: 1.5rem; }
    .category .title {
      margin-left: 33%; } }

.all {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }
  .all .year {
    width: 100%;
    margin: 1.5rem 0;
    padding: 1rem 1.5rem 0.5rem 1.5rem;
    background-color: #FFE2DB;
    border-top: 0.2rem solid;
    border-bottom: 0.2rem solid; }
  .all a {
    margin: 0 1.5rem 1.5rem 1.5rem;
    width: 50%;
    -ms-flex: 1 1 20rem;
        flex: 1 1 20rem;
    text-decoration: none; }
    .all a:hover {
      color: #FFC4FF; }
  .all .caption {
    margin: 0.25rem; }
  .all h4 {
    text-align: left; }
  .all a.no-img {
    text-decoration: none; }

article blockquote {
  color: #777; }

article > h4 {
  margin: 0 1.5rem 3rem 1.5rem; }

article .carousel {
  position: relative;
  padding: 0 2.5rem;
  padding-bottom: 2rem;
  text-align: center; }
  article .carousel .image-wrapper {
    text-align: center;
    display: none; }
    article .carousel .image-wrapper.visible {
      display: inline-block; }
    article .carousel .image-wrapper.one-image .image {
      max-width: 100%; }
    article .carousel .image-wrapper .image {
      display: inline-block;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      max-width: calc(100% - 4rem);
      margin: 0 auto;
      background: no-repeat center center;
      background-size: contain; }
      article .carousel .image-wrapper .image .arrow {
        position: absolute;
        top: 14rem;
        cursor: pointer;
        width: 1.5rem; }
        @media all and (max-width: 800px) {
          article .carousel .image-wrapper .image .arrow {
            top: 7rem; } }
      article .carousel .image-wrapper .image .caption {
        line-height: 1.5;
        text-align: left;
        width: 100%; }
      article .carousel .image-wrapper .image .prev {
        left: 1.5rem; }
      article .carousel .image-wrapper .image .next {
        right: 1.5rem; }

article > h1 {
  margin: 1.5rem;
  max-width: 40rem; }
  article > h1.first {
    margin-bottom: 0; }

article .body p {
  font-size: 1.2rem; }

article .body pre,
article .body p {
  max-width: 45rem;
  line-height: 1.4;
  margin: 0 auto;
  margin-bottom: 1rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem; }
  article .body pre a:hover,
  article .body p a:hover {
    color: #FFC4FF; }

article .body h3 {
  font-size: 1.2rem;
  max-width: 45rem;
  padding-left: 2.5rem;
  padding-right: 0.5rem;
  margin: 1rem auto 0.5rem auto; }

article .body h1 {
  margin: 1.5rem; }

article .body img {
  display: block;
  margin: 1.5rem auto; }

.edit {
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 1rem;
  margin: 0.5rem;
  background: #fff;
  border: #FFC4FF 0.2rem solid;
  color: #FFC4FF; }
