@charset "UTF-8";
/*

Kirby Starterkit

Author: Bastian Allgeier / Sascha Lack
URL:    http://getkirby.com
Email:  support@getkirby.com

*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0;
  overflow: hidden;
  overflow-y: auto; }
  body *, body * {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }
@-webkit-keyframes underline {
  0% {
    right: 100%; }
  100% {
    right: 0%; } }
@keyframes underline {
  0% {
    right: 100%; }
  100% {
    right: 0%; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
    display: block; }
  99% {
    opacity: 0;
    display: block; }
  100% {
    opacity: 0;
    display: none; } }
@keyframes fadeOut {
  0% {
    opacity: 1;
    display: block; }
  99% {
    opacity: 0;
    display: block; }
  100% {
    opacity: 0;
    display: none; } }
@-webkit-keyframes dropItem {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%); } }
@keyframes dropItem {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%); } }
@-webkit-keyframes textFadeIn {
  0% {
    color: #FFF; }
  100% {
    color: #000; } }
@keyframes textFadeIn {
  0% {
    color: #FFF; }
  100% {
    color: #000; } }
@-webkit-keyframes viewportIn {
  0% {
    color: #FFF;
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px); }
  100% {
    color: #000;
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px); } }
@keyframes viewportIn {
  0% {
    color: #FFF;
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px); }
  100% {
    color: #000;
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px); } }
.js-animated:not(.viewportIn) {
  opacity: 0;
  color: #FFF;
  -webkit-transform: translateX(-20px);
          transform: translateX(-20px); }
.js-animated.viewportIn {
  -webkit-animation: viewportIn 400ms cubic-bezier(0.32, 0.01, 0.32, 1) forwards;
          animation: viewportIn 400ms cubic-bezier(0.32, 0.01, 0.32, 1) forwards; }

.loader, .fadeIn {
  opacity: 0;
  -webkit-transition: opacity 100ms 200ms cubic-bezier(0.32, 0.01, 0.32, 1);
  transition: opacity 100ms 200ms cubic-bezier(0.32, 0.01, 0.32, 1); }

#main > * {
  opacity: 0; }

#main.fadeIn {
  opacity: 1; }
  #main.fadeIn > * {
    opacity: 0;
    -webkit-animation: fadeIn 0.3s cubic-bezier(0.32, 0.01, 0.32, 1) forwards 1s;
            animation: fadeIn 0.3s cubic-bezier(0.32, 0.01, 0.32, 1) forwards 1s; }

@font-face {
  font-family: 'Telefon Web Normal';
  src: url("../fonts/telefon-web-normal.eot");
  src: url("../fonts/telefon-web-normal.eot?#iefix") format("embedded-opentype"), url("../fonts/telefon-web-normal.woff") format("woff"), url("../fonts/telefon-web-normal.ttf") format("truetype"), url("../fonts/telefon-web-normal.svg#telefon_webregular") format("svg");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'Telefon Web Bold';
  src: url("../fonts/telefon-web-bold.eot");
  src: url("../fonts/telefon-web-bold.eot?#iefix") format("embedded-opentype"), url("../fonts/telefon-web-bold.woff") format("woff"), url("../fonts/telefon-web-bold.ttf") format("truetype"), url("../fonts/telefon-web-bold.svg#telefon_web_boldregular") format("svg");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'Telefon Web Black';
  src: url("../fonts/telefon-web-black.eot");
  src: url("../fonts/telefon-web-black.eot?#iefix") format("embedded-opentype"), url("../fonts/telefon-web-black.woff") format("woff"), url("../fonts/telefon-web-black.ttf") format("truetype"), url("../fonts/telefon-web-black.svg#telefon_web_blackregular") format("svg");
  font-weight: normal;
  font-style: normal; }
/* latin-ext */


html {
  font-size: 100%;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */ }

body, body * {
  color: #000; }
  body #logo, body * #logo {
    background: rgba(0, 0, 0, 0.8); }

/* line 39, ../scss/_typography.scss */
.header nav, .main, .contact {
  font-smoothing: antialiased !important;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  text-rendering: optimizeLegibility;
  background-color: transparent;
  -webkit-transform: translate3D(0, 0, 0);
          transform: translate3D(0, 0, 0); }

.about .columns-3 p {
  font-size: 0.75em !important; }

.main p, .main li, .main td, .main th, .main a,
.main.default p,
.main.default li,
.main.default td,
.main.default th,
.main.default a,
.main.project p,
.main.project li,
.main.project td,
.main.project th,
.main.project a,
.main.projects li p,
.main.projects li li,
.main.projects li td,
.main.projects li th,
.main.projects li a {
  font-size: 100%;
  line-height: 150%;
  margin-bottom: .5em; }
.main ul,
.main.default ul,
.main.project ul,
.main.projects li ul {
  margin: 0;
  padding: 0;
  list-style-position: outside;
  list-style-type: none;
  padding-bottom: 2em; }
  .main ul li,
  .main.default ul li,
  .main.project ul li,
  .main.projects li ul li {
    margin-left: 0;
    margin-top: .5em; }
    .main ul li:before,
    .main.default ul li:before,
    .main.project ul li:before,
    .main.projects li ul li:before {
      content: "•";
      padding-right: 15px;
      color: #B0CFB7; }
.main .meta li:before, .main .teaser li:before,
.main.default .meta li:before,
.main.default .teaser li:before,
.main.project .meta li:before,
.main.project .teaser li:before,
.main.projects li .meta li:before,
.main.projects li .teaser li:before {
  padding-right: 0px;
  content: ""; }

.project .main-section, .portfolio .main-section {
  padding: 0;
  min-width: 100%;
  text-align: center; }
  .project .main-section h1, .portfolio .main-section h1 {
    position: relative;
    z-index: 1;
    margin-top: -30px;
    max-width: 1200px !important; }
  .project .main-section article, .project .main-section p, .project .main-section h1, .project .main-section h2, .project .main-section h3, .project .main-section h4, .project .main-section h5, .project .main-section h6, .portfolio .main-section article, .portfolio .main-section p, .portfolio .main-section h1, .portfolio .main-section h2, .portfolio .main-section h3, .portfolio .main-section h4, .portfolio .main-section h5, .portfolio .main-section h6 {
    display: inline-block;
    text-align: left;
    width: 100%;
    max-width: 1200px !important;
    padding-left: 20px;
    padding-right: 20px; }
  .project .main-section .align-wrapper .align.left figure, .project .main-section .align-wrapper .align.right figure, .project .main-section .align-wrapper .align.fullsize figure, .portfolio .main-section .align-wrapper .align.left figure, .portfolio .main-section .align-wrapper .align.right figure, .portfolio .main-section .align-wrapper .align.fullsize figure {
    margin-top: -80px; }
  .project .main-section figcaption h3, .portfolio .main-section figcaption h3 {
    font-size: 2.5em;
    margin-left: 0; }
  .project .main-section figcaption.left,
  .project .main-section figcaption.left *, .portfolio .main-section figcaption.left,
  .portfolio .main-section figcaption.left * {
    text-align: left;
    padding: 0; }
  .project .main-section figcaption.right,
  .project .main-section figcaption.right *, .portfolio .main-section figcaption.right,
  .portfolio .main-section figcaption.right * {
    text-align: right;
    padding: 0; }
  .project .main-section figcaption.center,
  .project .main-section figcaption.center *, .portfolio .main-section figcaption.center,
  .portfolio .main-section figcaption.center * {
    text-align: center; }
  .project .main-section figcaption.left,
  .project .main-section figcaption.right, .portfolio .main-section figcaption.left,
  .portfolio .main-section figcaption.right {
    padding-left: 20px; }

#header nav a {
  font-family: "Overpass Regular" !important;
  font-weight: 0 !important;
  font-size: 90%; }

.teaser h3,
.tags,
.tags span {
  font-family: "Overpass Bold" !important;
  word-break: break-word !important;
  white-space: nowrap !important;
  width: inherit !important;
  max-width: inherit !important;
  text-overflow: ellipsis;
  overflow: hidden;
  width: auto;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto; }

.initial {
  font-family: "Overpass Black" !important; }

p, time, .main nav, .more {
  font-family: "Georgia", Cambria, Times New Roman, Times, serif; }

#navigation a {
  font-size: 80%; }

/**/
/* Reset
-------------------------------------------------- */
*, *:before, *:after {
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

article, aside, details, figcaption, figure,
footer, header, hgroup, main, nav, section, summary {
  display: block; }

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical; }

html {
  height: 200%; }

/* Links
-------------------------------------------------- */
#footer a, .main p a, table * a, .nextprev a {
  color: #8da692;
  text-decoration: none;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  margin-right: -0.25em;
  margin-left: -0.25em;
  padding-left: 0.25em;
  padding-right: 0.25em;
  -webkit-box-shadow: 0 1pt 0 0 #8da692;
          box-shadow: 0 1pt 0 0 #8da692;
  padding-bottom: 2px; }
  #footer a:hover, .main p a:hover, table * a:hover, .nextprev a:hover {
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    color: #000;
    cursor: pointer;
    overflow: hidden;
    -webkit-box-shadow: 0px 1pt 0 0 black;
            box-shadow: 0px 1pt 0 0 black; }

.ghost-btn {
  text-align: center;
  height: 40px;
  margin: 0;
  line-height: 40px !important;
  padding: 10px !important;
  padding-top: 10px;
  padding-bottom: 9px;
  border: 2px solid #000;
  font-size: 110%;
  font-family: "Overpass Regular" !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }
  .ghost-btn:hover {
    -webkit-transition: all .2s ease !important;
    transition: all .2s ease !important;
    background: #FFF !important; }

#footer a {
  color: #000;
  -webkit-box-shadow: 0px 1px 0 0 black;
          box-shadow: 0px 1px 0 0 black;
  -webkit-transition: all .2s ease !important;
  transition: all .2s ease !important; }
  #footer a:hover {
    -webkit-transition: all .2s ease !important;
    transition: all .2s ease !important;
    color: #000 !important;
    -webkit-box-shadow: 0px 3px 0 0 black;
            box-shadow: 0px 3px 0 0 black; }

.teaser a:after {
  content: "";
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: transparent; }

a {
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  color: #222;
  text-decoration: none; }
  a h3 {
    position: relative;
    width: auto;
    left: -3px;
    padding-left: 5px;
    padding-right: 20px;
    margin-bottom: 0;
    z-index: 1 !important; }

/* Clearfix
-------------------------------------------------- */
.cf:after {
  content: "";
  opacity: 0;
  display: table;
  clear: both; }

/* Site
-------------------------------------------------- */
html {
  height: 101%;
  font-family: "Georgia", Cambria, Times New Roman, Times, serif, sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

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

body {
  -webkit-animation: textFadeIn 1s cubic-bezier(0.32, 0.01, 0.32, 1) 0 normal forwards !important;
          animation: textFadeIn 1s cubic-bezier(0.32, 0.01, 0.32, 1) 0 normal forwards !important;
  margin: 0 auto;
  font-size: 1.25em;
  line-height: 1.5em;
  padding: 0;
  background-color: #B0CFB7;
  background-attachment: fixed;
  color: #222;
  text-align: center; }

#main,
.main-section {
  text-align: center;
  width: 100%;
  display: inline-block; }
  #main nav,
  .main-section nav {
    margin-right: -3em; }

.main-section {
  text-align: left;
  padding-left: 20px;
  padding-right: 20px; }

.main.projects {
  margin-left: auto !important;
  margin-right: auto !important;
  min-height: 100vh; }

.sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0; }

/* Main
-------------------------------------------------- */
body.project .text p, body.project .text h3,
body.portfolio .text p,
body.portfolio .text h3 {
  height: 100%;
  vertical-align: top;
  max-width: 512pt !important; }
body.project .text p,
body.portfolio .text p {
  line-height: 1.6em !important; }

body.about p {
  max-width: 100% !important; }

#main {
  position: relative;
  z-index: 1;
  height: 100%;
  background: #FFF;
  min-height: calc(100vh - 160px);
  padding-top: 180px !important;
  margin-bottom: 100vh;
  padding-bottom: 150px; }
  #main * {
    max-width: 100%; }
  #main .main-section {
    max-width: 1200px !important;
    padding-top: 0;
    padding-bottom: 40pt; }

.lazyload.loading,
.lazyload {
  opacity: 0;
  -webkit-transition: opacity 0.4s cubic-bezier(0.32, 0.01, 0.32, 1);
  transition: opacity 0.4s cubic-bezier(0.32, 0.01, 0.32, 1); }

.lazyload.loaded {
  margin-top: 0;
  opacity: 1;
  -webkit-transition: opacity 0.4s cubic-bezier(0.32, 0.01, 0.32, 1);
  transition: opacity 0.4s cubic-bezier(0.32, 0.01, 0.32, 1); }

figure.animateFadeIn {
  opacity: 0;
  -webkit-transition: opacity 1.4s cubic-bezier(0.32, 0.01, 0.32, 1);
  transition: opacity 1.4s cubic-bezier(0.32, 0.01, 0.32, 1); }

figure.animateFadeIn.js-animated {
  opacity: 1;
  -webkit-transition: opacity 1.4s cubic-bezier(0.32, 0.01, 0.32, 1);
  transition: opacity 1.4s cubic-bezier(0.32, 0.01, 0.32, 1); }

#main .margin img {
  padding: 40px !important; }
#main figure, #main figure {
  background-color: transparent !important;
  text-align: center; }
  #main figure figcaption h3, #main figure figcaption article, #main figure figcaption h3, #main figure figcaption article {
    display: block;
    min-width: 100%; }
  #main figure figcaption h3, #main figure figcaption h3 {
    margin-bottom: 0;
    line-height: 1.1; }
  #main figure figcaption article, #main figure figcaption article {
    font-size: .7em;
    font-style: italic; }
    #main figure figcaption article p, #main figure figcaption article p {
      position: relative;
      width: 20vw;
      min-width: 200px;
      max-width: 280px; }
#main:not(.projects) figure, #main:not(.projects) figure * {
  position: relative; }
#main figure.noLoader:before {
  -webkit-animation: fadeOut linear .3s 0.2s forwards !important;
          animation: fadeOut linear .3s 0.2s forwards !important; }

.mosaic {
  max-width: 50vw;
  display: -ms-flexbox;
  -ms-flex-direction: column;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  flex-wrap: wrap;
  font-size: 0;
  display: block; }
  .mosaic figcaption:not(.overlap) {
    margin-bottom: 0 !important;
    padding-bottom: 0; }
  .mosaic figure {
    min-height: 80px;
    min-width: 10%;
    width: auto;
    max-width: 400px;
    display: inline-block;
    vertical-align: top;
    position: relative;
    height: auto;
    margin: 1em;
    padding: 1em; }
    .mosaic figure:after {
      display: block;
      position: relative;
      content: " ";
      left: 0;
      padding-top: 100%; }
    .mosaic figure img {
      -o-object-fit: contain;
         object-fit: contain;
      min-width: 40pt !important;
      min-height: 40pt !important;
      position: absolute !important;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto; }

/* Header
-------------------------------------------------- */
#header {
  -webkit-box-shadow: 0 -120px 0 0 #FFF, 0 -250px 0 0 #FFF;
          box-shadow: 0 -120px 0 0 #FFF, 0 -250px 0 0 #FFF;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  position: fixed;
  display: inline;
  vertical-align: top;
  z-index: 100000000;
  padding: 0;
  background: #FFF;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: auto;
  max-height: 120px;
  max-width: 100vw;
  white-space: nowrap;
  overflow: hidden; }
  #header h1.title {
    display: block;
    width: 100%;
    font-family: "Overpass Bold" !important;
    margin-left: 5px;
    margin-bottom: 0;
    margin-top: -5px;
    font-size: 110%;
    float: left; }
  #header h6.subtitle {
    float: left;
    display: block;
    width: auto;
    margin-left: 5px;
    font-size: 80%; }
  #header #logo {
    position: relative;
    left: 20px;
    top: 20px;
    float: left;
    display: inline-block;
    height: auto;
    width: auto;
    margin: 0;
    line-height: 100%;
    background: #FFF url("../images/logo-black.svg") center center no-repeat;
    background-size: auto 100%;
    background-size: contain; }
    #header #logo img {
      position: relative;
      min-width: 60px;
      width: auto;
      max-height: 80px;
      min-height: 60px;
      margin: 0; }
  #header #header-wrapper {
    position: relative;
    height: inherit;
    margin: auto;
    width: 100%;
    max-width: 1200px; }
    #header #header-wrapper:before, #header #header-wrapper:after {
      opacity: 1;
      content: "";
      position: absolute;
      left: 0px;
      width: 50px;
      top: 80px;
      height: 50px;
      z-index: 2;
      pointer-events: none;
      background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjEuMCIgeTE9IjAuNSIgeDI9IjAuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
      background-size: 100%;
      background-image: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), to(#ffffff));
      background-image: linear-gradient(to left, rgba(255, 255, 255, 0), #ffffff); }
    #header #header-wrapper:after {
      left: auto;
      right: 0px;
      background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
      background-size: 100%;
      background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(#ffffff));
      background-image: linear-gradient(to right, rgba(255, 255, 255, 0), #ffffff); }
  #header #header-container {
    position: relative;
    z-index: 1;
    background: #FFF;
    float: left;
    width: 100%;
    height: 100%;
    max-height: 40px;
    left: 0;
    top: 20px;
    display: inline-block;
    padding: 0;
    margin: 0;
    overflow: hidden;
    overflow-x: auto;
    margin-bottom: 120px; }
    #header #header-container #navigation {
      min-height: 40px;
      overflow-y: hidden; }

.headroom--pinned {
  display: block; }

.headroom--unpinned {
  display: none; }

/**
 * Note: I have omitted any vendor-prefixes for clarity.
 * Adding them is left as an exercise for the reader.
 */
.headroom {
  will-change: transform;
  -webkit-transition: -webkit-transform 200ms linear;
  transition: -webkit-transform 200ms linear;
  transition: transform 200ms linear;
  transition: transform 200ms linear, -webkit-transform 200ms linear;
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.32, 0.01, 0.32, 1);
  transition: -webkit-transform 0.25s cubic-bezier(0.32, 0.01, 0.32, 1);
  transition: transform 0.25s cubic-bezier(0.32, 0.01, 0.32, 1);
  transition: transform 0.25s cubic-bezier(0.32, 0.01, 0.32, 1), -webkit-transform 0.25s cubic-bezier(0.32, 0.01, 0.32, 1); }

.headroom--pinned {
  -webkit-transform: translateY(0px);
          transform: translateY(0px); }

.headroom--unpinned {
  -webkit-transform: translateY(-165px);
          transform: translateY(-165px); }

.main hr {
  height: 1px;
  width: inherit;
  background: transparent;
  margin: auto;
  padding-top: 40px;
  padding-bottom: 40px;
  border: none; }

.slug {
  position: absolute;
  z-index: 1;
  text-align: left;
  display: inline-block;
  list-style: none;
  left: 90px;
  margin-top: 30px;
  height: 60px;
  width: 100%;
  max-width: 1200px;
  white-space: nowrap; }

/*.slideshow{
	width: 100%;
	height: auto;
	h4{		
	}		
	.slide{
		*{

		}
	}	
	.slideshow-wrapper{
		overflow-scrolling: touch;
		-webkit-overflow-scrolling: touch;
		-webkit-scroll-snap-type: mandatory;
		-ms-scroll-snap-type: mandatory;
		scroll-snap-type: mandatory;
		-webkit-scroll-snap-destination: 0% 100%;
		-ms-scroll-snap-destination: 0% 100%;
		scroll-snap-destination: 0% 100%;
		-webkit-scroll-snap-points-x: repeat(calc(100% + 0px));
		-ms-scroll-snap-points-x: repeat(calc(100% + 0px));
		scroll-snap-points-x: repeat(calc(100% + 0px));
		&:after {
			content: "";
			position: relative;
			display: block;
		}
		width:	100%;
		overflow:hidden;
		overflow-x:auto;		
		position: relative;		
		white-space: nowrap;
		figure{			
			display:inline-block !important;
			*{
				display: block;
			}
			img{				
				left: 0;
				padding: 0;
				margin: 0;
				padding-left: 20px;
				padding-right: 20px;
				left: 0;
				top: 0;
				position: relative;
				width:100%;
				transform: translateY(0px) !important;	
				// border-right: 20px 	solid $w;
			}
			clear:both;			
			line-height: 0;
			width:100%;
			display:inline;
			margin: 0;
			padding: 0;			
			left: 0 !important;
		}
	}
}*/
.slideshow {
  display: inline-block;
  text-align: center;
  position: relative;
  margin: auto;
  width: 80vw;
  height: auto;
  padding-bottom: 30px;
  overflow: hidden; }
  .slideshow .slideshow-text {
    position: absolute;
    top: 0;
    width: 50%;
    display: block;
    border: 1px solid red;
    word-break: break-all;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto;
    word-wrap: break-word; }
  .slideshow h4 {
    line-height: 2em;
    text-align: center !important; }
  .slideshow .slideshow-wrapper {
    position: static;
    width: 100%;
    margin-bottom: -100px !important;
    padding-bottom: 100px !important;
    overflow: auto;
    overflow-y: hidden;
    white-space: nowrap;
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
    -webkit-scroll-snap-type: mandatory;
    -ms-scroll-snap-type: mandatory;
    scroll-snap-type: mandatory;
    -webkit-scroll-snap-destination: 0% 100%;
    -ms-scroll-snap-destination: 0% 100%;
    scroll-snap-destination: 0% 100%;
    -webkit-scroll-snap-points-x: repeat(calc(100% + 40px));
    -ms-scroll-snap-points-x: repeat(calc(100% + 40px));
    scroll-snap-points-x: repeat(calc(100% + 40px));
    padding-bottom: 30px;
    margin-bottom: -15px; }
    .slideshow .slideshow-wrapper > *:after {
      position: absolute;
      width: 100%;
      height: 20px;
      font-size: 1.5em;
      left: 0;
      right: 0;
      bottom: -30px;
      text-align: center;
      letter-spacing: 4px;
      font-family: "Monospace"; }
    .slideshow .slideshow-wrapper > *:nth-child(1):nth-last-child(2):after {
      content: "\25CF\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(2):nth-last-child(1):after {
      content: "\25CB\25CF"; }
    .slideshow .slideshow-wrapper > *:nth-child(1):nth-last-child(3):after {
      content: "\25CF\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(2):nth-last-child(2):after {
      content: "\25CB\25CF\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(3):nth-last-child(1):after {
      content: "\25CB\25CB\25CF"; }
    .slideshow .slideshow-wrapper > *:nth-child(1):nth-last-child(4):after {
      content: "\25CF\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(2):nth-last-child(3):after {
      content: "\25CB\25CF\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(3):nth-last-child(2):after {
      content: "\25CB\25CB\25CF\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(4):nth-last-child(1):after {
      content: "\25CB\25CB\25CB\25CF"; }
    .slideshow .slideshow-wrapper > *:nth-child(1):nth-last-child(5):after {
      content: "\25CF\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(2):nth-last-child(4):after {
      content: "\25CB\25CF\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(3):nth-last-child(3):after {
      content: "\25CB\25CB\25CF\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(4):nth-last-child(2):after {
      content: "\25CB\25CB\25CB\25CF\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(5):nth-last-child(1):after {
      content: "\25CB\25CB\25CB\25CB\25CF"; }
    .slideshow .slideshow-wrapper > *:nth-child(1):nth-last-child(6):after {
      content: "\25CF\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(2):nth-last-child(5):after {
      content: "\25CB\25CF\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(3):nth-last-child(4):after {
      content: "\25CB\25CB\25CF\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(4):nth-last-child(3):after {
      content: "\25CB\25CB\25CB\25CF\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(5):nth-last-child(2):after {
      content: "\25CB\25CB\25CB\25CB\25CF\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(6):nth-last-child(1):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CF"; }
    .slideshow .slideshow-wrapper > *:nth-child(1):nth-last-child(7):after {
      content: "\25CF\25CB\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(2):nth-last-child(6):after {
      content: "\25CB\25CF\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(3):nth-last-child(5):after {
      content: "\25CB\25CB\25CF\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(4):nth-last-child(4):after {
      content: "\25CB\25CB\25CB\25CF\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(5):nth-last-child(3):after {
      content: "\25CB\25CB\25CB\25CB\25CF\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(6):nth-last-child(2):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CF\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(7):nth-last-child(1):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CB\25CF"; }
    .slideshow .slideshow-wrapper > *:nth-child(1):nth-last-child(8):after {
      content: "\25CF\25CB\25CB\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(2):nth-last-child(7):after {
      content: "\25CB\25CF\25CB\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(3):nth-last-child(6):after {
      content: "\25CB\25CB\25CF\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(4):nth-last-child(5):after {
      content: "\25CB\25CB\25CB\25CF\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(5):nth-last-child(4):after {
      content: "\25CB\25CB\25CB\25CB\25CF\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(6):nth-last-child(3):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CF\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(7):nth-last-child(2):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CB\25CF\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(8):nth-last-child(1):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CF"; }
    .slideshow .slideshow-wrapper > *:nth-child(1):nth-last-child(9):after {
      content: "\25CF\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(2):nth-last-child(8):after {
      content: "\25CB\25CF\25CB\25CB\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(3):nth-last-child(7):after {
      content: "\25CB\25CB\25CF\25CB\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(4):nth-last-child(6):after {
      content: "\25CB\25CB\25CB\25CF\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(5):nth-last-child(5):after {
      content: "\25CB\25CB\25CB\25CB\25CF\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(6):nth-last-child(4):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CF\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(7):nth-last-child(3):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CB\25CF\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(8):nth-last-child(2):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CF\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(9):nth-last-child(1):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CF"; }
    .slideshow .slideshow-wrapper > *:nth-child(1):nth-last-child(10):after {
      content: "\25CF\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(2):nth-last-child(9):after {
      content: "\25CB\25CF\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(3):nth-last-child(8):after {
      content: "\25CB\25CB\25CF\25CB\25CB\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(4):nth-last-child(7):after {
      content: "\25CB\25CB\25CB\25CF\25CB\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(5):nth-last-child(6):after {
      content: "\25CB\25CB\25CB\25CB\25CF\25CB\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(6):nth-last-child(5):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CF\25CB\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(7):nth-last-child(4):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CB\25CF\25CB\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(8):nth-last-child(3):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CF\25CB\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(9):nth-last-child(2):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CF\25CB"; }
    .slideshow .slideshow-wrapper > *:nth-child(10):nth-last-child(1):after {
      content: "\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CB\25CF"; }
    .slideshow .slideshow-wrapper figure {
      display: inline-block !important;
      position: relative;
      float: none !important;
      clear: both;
      line-height: 0;
      width: 100%;
      display: inline-block;
      vertical-align: top;
      margin: 0;
      padding: 0;
      padding-bottom: 10px;
      margin-right: 40px;
      left: 0 !important; }
      .slideshow .slideshow-wrapper figure > * {
        position: relative;
        width: inherit;
        display: block;
        white-space: normal;
        line-height: 1.6em; }
      .slideshow .slideshow-wrapper figure * {
        display: block; }
      .slideshow .slideshow-wrapper figure figcaption {
        position: relative !important;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
        display: block;
        margin-bottom: padding10px; }
      .slideshow .slideshow-wrapper figure img {
        -webkit-transform: translateY(0px) !important;
                transform: translateY(0px) !important;
        display: block;
        position: relative;
        padding: 0;
        margin: 0;
        left: 0;
        top: 0;
        width: 100%;
        padding-left: 20px;
        padding-right: 20px; }
      .slideshow .slideshow-wrapper figure:nth-last-child(+1) {
        margin-right: -40px !important; }

/* Navigation

// TODO:
– scroll to last clicked position from Cookie
-------------------------------------------------- */
#navigation {
  position: relative;
  margin: 0;
  padding: 0;
  top: 0px;
  left: 0;
  float: right;
  display: inline-block;
  width: 100%;
  -webkit-animation: fadeIn 0.2s cubic-bezier(0.32, 0.01, 0.32, 1) forwards;
          animation: fadeIn 0.2s cubic-bezier(0.32, 0.01, 0.32, 1) forwards; }
  #navigation .menu {
    text-align: right;
    position: relative;
    white-space: nowrap;
    top: -10px; }
    #navigation .menu a {
      position: relative;
      text-align: center;
      top: 0px;
      display: block;
      color: #000 !important;
      text-decoration: none;
      padding: 15px;
      padding-bottom: 40px; }
    #navigation .menu a:not(.active):active,
    #navigation .menu a:not(.active):hover {
      color: #000 !important;
      text-decoration: none;
      background: #000;
      top: -18px !important;
      z-index: 2;
      text-shadow: 0 20px white; }
    #navigation .menu .active {
      color: #9ebaa5 !important;
      text-shadow: none;
      -webkit-box-shadow: inset 0 -38px 0 0 #9ebaa5;
              box-shadow: inset 0 -38px 0 0 #9ebaa5;
      z-index: 1; }
    #navigation .menu li.menu-item {
      list-style: none;
      display: inline-block;
      white-space: nowrap;
      margin-left: 10px;
      margin-right: 10px;
      position: relative; }
      #navigation .menu li.menu-item:first-child {
        margin-left: 40px; }
      #navigation .menu li.menu-item:last-child {
        margin-right: 40px; }
    #navigation .menu > li.menu-item > a {
      -webkit-transition: all 0.2s cubic-bezier(0.32, 0.01, 0.32, 1);
      transition: all 0.2s cubic-bezier(0.32, 0.01, 0.32, 1); }
    #navigation .menu > li.menu-item {
      -webkit-transition: all 0.2s cubic-bezier(0.32, 0.01, 0.32, 1);
      transition: all 0.2s cubic-bezier(0.32, 0.01, 0.32, 1); }
    #navigation .menu a {
      display: block;
      color: #222;
      letter-spacing: 0.025em;
      cursor: pointer;
      -webkit-box-shadow: inset -1px 0px 0 0 #FFF;
              box-shadow: inset -1px 0px 0 0 #FFF;
      text-shadow: 0 20px rgba(141, 166, 146, 0);
      line-height: 30px; }

#meta-navigation {
  display: inline;
  background: none;
  position: fixed;
  bottom: 20px;
  left: 0;
  right: 40px;
  text-align: center;
  margin: auto; }
  #meta-navigation li.menu-item:first-child {
    margin-left: 40px; }
  #meta-navigation li.menu-item {
    margin-top: 20px !important;
    background: none;
    margin-top: 80px;
    margin-right: 20px;
    margin-left: 20px;
    width: auto;
    display: inline-block;
    white-space: nowrap;
    font-size: 80%; }

nav.breadcrumb {
  display: block;
  position: absolute;
  top: 120pt;
  left: 0pt;
  right: 80pt;
  z-index: 100;
  text-align: right;
  height: 35pt;
  list-style: none;
  white-space: nowrap; }
  nav.breadcrumb ul {
    display: inline-block;
    max-width: 1200px;
    width: 100%;
    padding-bottom: 6pt; }
  nav.breadcrumb li {
    display: inline-block;
    list-style-type: none;
    margin-right: 5pt;
    font-size: 60%;
    line-height: 1;
    width: auto;
    cursor: pointer; }
    nav.breadcrumb li a:after {
      content: "/";
      padding-left: 0pt;
      padding-right: 0pt;
      font-weight: 100; }
    nav.breadcrumb li:last-child {
      border-bottom: 1pt solid #000;
      padding-bottom: 0pt; }
      nav.breadcrumb li:last-child a {
        font-weight: 100; }
      nav.breadcrumb li:last-child a:after {
        content: "";
        padding-left: 0pt;
        padding-right: 0pt; }

/* Headings
-------------------------------------------------- */
h1, h2, h3, h4 {
  line-height: 1.5em;
  margin-bottom: .15em;
  margin-top: .75em;
  letter-spacing: 0.025em;
  display: block; }

h1 {
  font-size: 280%;
  line-height: 1.2;
  font-family: "Overpass Black" !important; }

h2 {
  font-size: 240%;
  line-height: 1 !important;
  font-family: "Overpass Bold" !important; }

h3 {
  font-size: 200%;
  line-height: 1.2;
  font-family: "Overpass Regular" !important; }

h4 {
  font-size: 160%;
  line-height: 1.2;
  font-family: "Overpass Regular" !important; }

h5 {
  font-size: 140%;
  line-height: 1.4;
  font-family: "Overpass Regular" !important;
  margin-bottom: .8em; }

h6 {
  font-size: 120%;
  line-height: 1.4;
  font-family: "Overpass Regular" !important;
  margin-bottom: .8em; }

h1 a, h2 a, h3 a, h4 a {
  color: inherit;
  border: 0 !important; }

.main h1 {
  display: none; }

/* Text blocks */
.text ul,
.text ol {
  margin-left: 1em; }

.initial {
  initial-letter: 3 2;
  float: left;
  margin-right: 15pt;
  margin-bottom: 5pt;
  font-size: 3em;
  text-transform: uppercase;
  padding-top: 10pt; }

div.column {
  display: inline-block;
  float: left;
  width: 100%;
  min-width: 100%; }

.columns {
  margin-right: -2rem; }

.column {
  display: inline-block;
  vertical-align: top;
  padding-right: 2rem; }

.columns-1 .column {
  width: 100%; }

.columns-2 .column {
  width: 50%; }

.columns-3 .column {
  width: 33.33%; }

.columns-4 .column {
  width: 25%; }

.columns-5 .column {
  width: 20%; }

div.column figure {
  margin-bottom: -1em;
  margin-left: 0em;
  overflow: hidden; }

@media screen and (min-width: 50em) {
  div.column figure {
    margin-bottom: -1em;
    margin-left: -1.5em;
    overflow: hidden; }

  div.column {
    display: inline-block;
    float: left;
    width: 100%;
    min-width: 260px; } }
table {
  font-size: 80%; }
  table td:last-child,
  table th:last-child {
    padding-left: 40px; }

.tags {
  margin-top: 20px;
  border-top: 1px solid #222;
  position: relative;
  display: block;
  left: 0;
  top: 20pt;
  margin-left: 60%;
  width: 40%;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.6em;
  word-break: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  text-align: left;
  padding-top: .5em; }
  .tags:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -5px;
    width: 10px;
    border-bottom: 1px solid #222; }
  .tags span {
    position: relative;
    display: block;
    line-height: 1.5em; }

.project .tags {
  margin-left: 0;
  top: 0;
  left: 60pt; }

/* Project meta
-------------------------------------------------- */
.meta {
  margin-bottom: 1.5em; }
  .meta li {
    list-style: none;
    margin-right: 2em;
    color: #222;
    display: table-cell;
    vertical-align: middle;
    font-size: 0.75em; }
    .meta li time {
      font-size: 140% !important;
      margin-right: 1em; }
    .meta li b {
      color: #B0CFB7;
      padding-right: .25em; }

.projects h1 {
  text-align: center; }

/* Project teaser
-------------------------------------------------- */
.teaser li:not(.loaded) {
  -webkit-transform: translate3D(0, 140pt, 0);
          transform: translate3D(0, 140pt, 0);
  -webkit-transition: all 400ms cubic-bezier(0.32, 0.01, 0.32, 1);
  transition: all 400ms cubic-bezier(0.32, 0.01, 0.32, 1);
  opacity: 0; }

.teaser li.loaded {
  -webkit-transform: translate3D(0, 0pt, 0);
          transform: translate3D(0, 0pt, 0);
  -webkit-transition: all 400ms cubic-bezier(0.32, 0.01, 0.32, 1);
  transition: all 400ms cubic-bezier(0.32, 0.01, 0.32, 1);
  opacity: 1; }

.teaser {
  position: relative;
  left: 50%;
  -webkit-transform: translate3D(-50%, 0, 0);
          transform: translate3D(-50%, 0, 0);
  list-style: none; }
  .teaser a {
    text-decoration: none; }
    .teaser a:before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 15px;
      bottom: 0;
      z-index: 0;
      border: 1px solid #222;
      background: #FFF; }
  .teaser a {
    -webkit-transition: all .3s ease-out !important;
    transition: all .3s ease-out !important; }
  .teaser li *, .teaser li:before, .teaser li:after,
  .teaser li a:before,
  .teaser li *:before,
  .teaser li *:after {
    -webkit-transition: all 1.3s cubic-bezier(0.32, 0.01, 0.32, 1) !important;
    transition: all 1.3s cubic-bezier(0.32, 0.01, 0.32, 1) !important; }
  .teaser li.touchDevice.hover *, .teaser li.touchDevice.hover:before, .teaser li.touchDevice.hover:after,
  .teaser li.touchDevice.hover a:before,
  .teaser li.touchDevice.hover *:before,
  .teaser li.touchDevice.hover *:after,
  .teaser li:not(.touchDevice):hover *,
  .teaser li:not(.touchDevice):hover:before,
  .teaser li:not(.touchDevice):hover:after,
  .teaser li:not(.touchDevice):hover a:before,
  .teaser li:not(.touchDevice):hover *:before,
  .teaser li:not(.touchDevice):hover *:after {
    border-color: #B0CFB7 !important;
    color: #B0CFB7 !important;
    -webkit-transition: all 0.2s cubic-bezier(0.32, 0.01, 0.32, 1) !important;
    transition: all 0.2s cubic-bezier(0.32, 0.01, 0.32, 1) !important; }
  .teaser li.touchDevice.hover img,
  .teaser li:not(.touchDevice):hover img {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    -webkit-transition: all 0.2s cubic-bezier(0.32, 0.01, 0.32, 1) !important;
    transition: all 0.2s cubic-bezier(0.32, 0.01, 0.32, 1) !important; }
  .teaser li {
    position: relative;
    vertical-align: top;
    padding: 20px;
    padding-top: 0;
    padding-bottom: 40px;
    margin-bottom: 40px;
    list-style: none; }
    .teaser li img {
      -webkit-transition: all 0.6s cubic-bezier(0.32, 0.01, 0.32, 1) !important;
      transition: all 0.6s cubic-bezier(0.32, 0.01, 0.32, 1) !important; }
    .teaser li img:not([src]) {
      opacity: 0; }
    .teaser li:before {
      content: "";
      z-index: 3;
      position: absolute;
      left: 5%;
      top: 27px;
      width: 10px;
      border-bottom: 1px solid #222; }
    .teaser li section {
      position: relative;
      right: 1px;
      bottom: 30px;
      left: 0px;
      padding-left: 20px;
      padding-right: 20px;
      padding-bottom: 0px;
      z-index: 4;
      background: #FFF !important; }
    .teaser li figure {
      overflow: hidden;
      position: relative;
      top: 10pt;
      z-index: 0;
      margin: 0;
      margin-top: 10pt;
      margin-bottom: 30pt;
      line-height: 0;
      width: 100%;
      height: auto;
      opacity: 0;
      -webkit-animation: fadeIn linear .4s .2s forwards !important;
              animation: fadeIn linear .4s .2s forwards !important; }
      .teaser li figure img {
        position: relative;
        left: 0;
        top: 0pt;
        height: auto;
        width: 100%; }
        .teaser li figure img:not(.loading) {
          opacity: 0;
          -webkit-transition: all .3s ease-out;
          transition: all .3s ease-out; }
    .teaser li:after {
      content: "";
      background-size: 18px auto;
      background-position: center center;
      background-repeat: no-repeat;
      position: absolute;
      opacity: 1;
      left: 0;
      right: 0;
      bottom: 0;
      top: 0;
      height: auto;
      z-index: -2; }
    .teaser li.noLoader:after {
      content: none;
      background-image: none; }
    .teaser li time {
      font-size: 0.8em;
      position: relative;
      z-index: 6;
      float: right;
      margin-right: 10px;
      padding-left: 5px;
      padding-right: 5px;
      background: #FFF; }
    .teaser li h3 {
      display: block;
      float: left;
      width: auto;
      font-size: 1.4em;
      line-height: 1.2em;
      margin-top: -0.5em;
      word-break: break-all; }
    .teaser li h3, .teaser li p {
      margin-left: -12px;
      text-align: left; }
    .teaser li p {
      margin-left: 2%;
      position: relative;
      z-index: 2;
      margin-top: 0.5em;
      margin-left: 5%;
      top: 5px;
      width: 75%;
      font-size: 0.825em; }
    .teaser li .tags {
      font-size: .6em; }
    .teaser li .more {
      font-size: 0.8em;
      position: absolute;
      padding-left: 5px;
      padding-right: 5px;
      top: 100%;
      left: 10px;
      padding-top: 53px;
      padding-left: 20px;
      padding-right: 20px;
      z-index: 0;
      background: #FFF; }

@media screen and (min-width: 50em) {
  .teaser {
    margin-right: 20px !important;
    margin-left: 20px !important;
    text-align: center;
    display: block;
    position: relative;
    height: auto; }

  .teaser li {
    display: inline-block;
    position: relative;
    min-width: 280px;
    width: 17.5vw;
    max-width: 400px;
    margin: 20pt;
    height: auto;
    white-space: nowrap; }
    .teaser li * {
      white-space: normal; } }
.align-wrapper {
  position: relative;
  width: 100%;
  min-height: 100%;
  display: inline; }
  .align-wrapper .half {
    display: inline-block;
    width: 50% !important;
    min-width: 280px;
    white-space: nowrap; }
  .align-wrapper .align {
    position: relative;
    top: 0;
    width: 100%;
    max-width: 100% !important;
    text-align: center; }
    .align-wrapper .align.left figure, .align-wrapper .align.right figure, .align-wrapper .align.center figure, .align-wrapper .align.fullsize figure {
      position: relative;
      display: inline-block;
      width: 50%;
      left: 0;
      margin-bottom: 20px;
      margin-top: 20px; }
    .align-wrapper .align.left {
      text-align: left; }
      .align-wrapper .align.left figure {
        width: 50%; }
    .align-wrapper .align.center {
      text-align: center; }
      .align-wrapper .align.center figure {
        left: 0; }
    .align-wrapper .align.right {
      text-align: right; }
      .align-wrapper .align.right figure {
        left: 0;
        width: 50%; }
    .align-wrapper .align.fullsize {
      position: relative;
      min-width: 100%; }
      .align-wrapper .align.fullsize figure, .align-wrapper .align.fullsize img {
        position: absolute;
        width: 100%; }
  .align-wrapper:nth-child(1) {
    z-index: 9; }
  .align-wrapper:nth-child(2) {
    z-index: 8; }
  .align-wrapper:nth-child(3) {
    z-index: 7; }
  .align-wrapper:nth-child(4) {
    z-index: 6; }
  .align-wrapper:nth-child(5) {
    z-index: 5; }
  .align-wrapper:nth-child(6) {
    z-index: 4; }
  .align-wrapper:nth-child(7) {
    z-index: 3; }
  .align-wrapper:nth-child(8) {
    z-index: 2; }
  .align-wrapper:nth-child(9) {
    z-index: 1; }
  .align-wrapper:nth-child(10) {
    z-index: 0; }
  .align-wrapper:nth-child(11) {
    z-index: -1; }
  .align-wrapper:nth-child(12) {
    z-index: -2; }
  .align-wrapper:nth-child(13) {
    z-index: -3; }
  .align-wrapper:nth-child(14) {
    z-index: -4; }
  .align-wrapper:nth-child(15) {
    z-index: -5; }
  .align-wrapper:nth-child(16) {
    z-index: -6; }
  .align-wrapper:nth-child(17) {
    z-index: -7; }
  .align-wrapper:nth-child(18) {
    z-index: -8; }
  .align-wrapper:nth-child(19) {
    z-index: -9; }
  .align-wrapper:nth-child(20) {
    z-index: -10; }

/* Project meta
-------------------------------------------------- */
.main.project {
  margin-top: 40pt; }
  .main.project .headings {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0;
    margin: 0;
    position: relative;
    width: 100%;
    padding: 20px;
    padding-left: 0;
    height: auto; }
  .main.project h1 {
    position: relative;
    width: 70%;
    max-width: calc(1200px * 0.7 + 20px);
    margin-bottom: .5em;
    text-overflow: ellipsis;
    overflow: visible;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto;
    display: block;
    vertical-align: top;
    word-break: break-word; }
  .main.project div.text p {
    -webkit-column-count: auto;
            column-count: auto;
    -webkit-column-width: 280pt;
            column-width: 280pt;
    -webkit-column-gap: 20pt;
            column-gap: 20pt; }
  .main.project .category {
    text-transform: uppercase; }
    .main.project .category:after {
      font-weight: 100;
      font-family: "Georgia", Cambria, Times New Roman, Times, serif;
      content: "  "; }
    .main.project .category:last-child:after {
      content: ""; }
  .main.project figure img {
    -webkit-transform: translateY(60px);
            transform: translateY(60px);
    -webkit-transition: all 0.8s cubic-bezier(0.32, 0.01, 0.32, 1) 0.4s;
    transition: all 0.8s cubic-bezier(0.32, 0.01, 0.32, 1) 0.4s; }
  .main.project figure img.loaded {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    -webkit-transition: all 0.8s cubic-bezier(0.32, 0.01, 0.32, 1) 0.4s;
    transition: all 0.8s cubic-bezier(0.32, 0.01, 0.32, 1) 0.4s; }
  .main.project figure figcaption {
    z-index: 100 !important;
    -webkit-transform: translateY(60px);
            transform: translateY(60px);
    opacity: 0; }
    .main.project figure figcaption:not(.overlap) {
      margin-top: -20px;
      margin-bottom: 160px; }
    .main.project figure figcaption.overlap {
      margin-top: -75px !important; }
  .main.project figure img.loaded + figcaption {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    opacity: 1;
    -webkit-transition: all 0.8s cubic-bezier(0.32, 0.01, 0.32, 1) 0.8s;
    transition: all 0.8s cubic-bezier(0.32, 0.01, 0.32, 1) 0.8s; }
  .main.project .nextprev {
    margin-right: 0em; }
  .main.project .abstract {
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow: visible;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto;
    display: block;
    vertical-align: top;
    height: auto;
    width: 30%;
    max-width: calc(1200px * 0.3 + 20px) !important;
    padding-top: 10px;
    top: 0;
    padding-left: 0;
    z-index: 10;
    border-left: 1px solid #000; }
  .main.project .meta {
    position: relative;
    z-index: 10;
    top: -40px;
    width: 100% !important;
    max-width: 1200px !important;
    margin-bottom: 40px;
    display: inline-block; }
    .main.project .meta time {
      margin-left: 0;
      text-align: right;
      line-height: 20px;
      font-size: 0.8em !important; }
    .main.project .meta li {
      margin-left: 20px;
      display: block;
      text-align: left; }
      .main.project .meta li * {
        max-width: 200px !important; }
  .main.project .tags {
    position: relative;
    float: left;
    width: auto;
    min-width: 100px;
    max-width: 280px; }

/* Next/Prev nav
-------------------------------------------------- */
.nextprev {
  padding: 1em 0;
  position: relative;
  height: 40px;
  bottom: 0px; }

.nextprev a {
  border: 0;
  color: #000;
  word-spacing: 20px; }
  .nextprev a:hover {
    word-spacing: 10px; }

.nextprev .prev {
  position: absolute;
  left: 40px;
  float: left; }

.nextprev .next {
  position: absolute;
  float: right;
  right: 40px; }

/* Footer
-------------------------------------------------- */
#footer {
  font-size: 14pt;
  text-align: center;
  position: fixed;
  left: 0;
  right: 0;
  margin: auto;
  top: 0;
  width: 100%;
  max-width: 1200px;
  height: auto;
  z-index: 0;
  background: #B0CFB7; }
  #footer .logo {
    top: 20px;
    left: 0;
    display: inline-block;
    height: auto;
    width: auto;
    margin: 0;
    line-height: 100%;
    background: transparent url("../images/logo-black.svg") center center no-repeat;
    background-size: auto 100%;
    background-size: contain; }
    #footer .logo img {
      position: relative;
      min-width: 60px;
      width: auto;
      max-height: 80px;
      min-height: 60px;
      margin: 0; }
  #footer hr {
    margin-top: 1em;
    margin-bottom: 1em;
    line-height: 1em;
    width: 10px;
    height: 1px;
    border-bottom: 1px solid #000; }
  #footer .footer-content {
    padding: 20px; }
  #footer:after {
    content: "";
    position: fixed;
    z-index: 1;
    background: #B0CFB7;
    height: 10%;
    width: 100vw;
    z-index: -10;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  #footer a {
    color: #000;
    background: none; }
    #footer a:hover, #footer a:active, #footer a:visited,
    #footer a *:hover,
    #footer a *:active,
    #footer a *:visited {
      background: none; }

.copyright {
  font-size: 0.75em;
  position: fixed;
  right: -85px;
  bottom: 80px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  background: #FFF;
  width: 200px;
  z-index: 1; }
  .copyright * {
    color: #000; }

.contact {
  position: relative;
  top: 0;
  left: 0;
  text-align: left;
  font-size: 0.75em;
  line-height: 1.6em;
  margin-right: 40pt;
  max-width: 100%; }
  .contact * {
    color: rgba(0, 0, 0, 0.95); }

body.agb #header
body.agb #main h1, body.agb #header
body.agb #main h2, body.agb #header
body.agb #main h3, body.agb #header
body.agb #main h4 {
  position: relative;
  float: left;
  margin-right: 40px;
  word-break: break-word !important;
  width: 40%;
  min-width: 280px;
  margin-right: 60%;
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: -20px;
  padding-left: 20px;
  padding-bottom: 10px; }
body.agb #header
body.agb #main ol {
  list-style: decimal !important;
  list-style-position: inside !important;
  padding-bottom: 2em; }
  body.agb #header
  body.agb #main ol li {
    margin-left: 25%;
    margin-top: .5em; }
    body.agb #header
    body.agb #main ol li ol li {
      margin-left: 40px;
      font-size: inherit !important; }

body.impressum #main h1, body.impressum #main h2, body.impressum #main h3, body.impressum #main h4 {
  position: relative;
  float: left;
  margin-right: 40px;
  word-break: break-word !important;
  width: 40%;
  min-width: 280px;
  margin-right: 60%;
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: -20px;
  padding-left: 20px;
  padding-bottom: 10px; }

body.datenschutz #main h1, body.datenschutz #main h2, body.datenschutz #main h3, body.datenschutz #main h4 {
  position: relative;
  float: left;
  margin-right: 40px;
  word-break: break-word !important;
  width: 40%;
  min-width: 280px;
  margin-right: 60%;
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: -20px;
  padding-left: 20px;
  padding-bottom: 10px; }

@media screen and (max-width: 400px) {
  .align {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 80px; }
    .align figure {
      clear: both;
      display: block !important;
      width: 100% !important; }

  .align-wrapper:last-of-type {
    margin-bottom: -40px; } }
@media screen and (min-width: 1200px) {
  .header-container {
    max-width: 1200px;
    margin: auto; }

  .footer-content {
    max-width: 1200px;
    margin: auto; }

  .main-section {
    padding-left: 20px;
    padding-right: 20px; }

  #meta-navigation {
    text-align: right !important; } }

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