@font-face {
  font-family: "Suisse";
  src: url("../fonts/suisseintl-regular.woff") format("woff");
  font-weight: 400; }

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
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-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

.g {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  width: calc(100% - 1rem);
  margin: 0 .5rem;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 200;
  box-sizing: border-box;
  border-left: 1px solid rgba(0, 0, 0, 0.25);
  opacity: .33;
  display: none; }
  .g div {
    border-right: 1px solid rgba(0, 0, 0, 0.25);
    height: 100%; }
  .g.is_visible {
    display: grid; }

a {
  color: inherit;
  text-decoration: none; }
  a.external {
    cursor: alias; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.2; }

h1 {
  font-size: 1.6em; }

h2 {
  font-size: 1.45em; }

h3 {
  font-size: 1.3em; }

h4, h5, h6 {
  font-size: 1em; }

.tab {
  display: inline-block;
  width: calc((1/12) * (100vw - 1rem)); }

.overlays {
  height: 0;
  width: 100%;
  overflow: hidden;
  position: relative;
  display: none; }
  .overlays.da {
    display: block; }
  .overlays .overlay {
    opacity: 0;
    transition: all .5s ease-in-out;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    pointer-events: none; }
    .overlays .overlay.index {
      font-variant-numeric: tabular-nums;
      font-feature-settings: "tnum"; }
      .overlays .overlay.index a.project {
        display: block;
        display: -webkit-flex;
        display: flex; }
        .overlays .overlay.index a.project .num {
          width: calc((1/12) * (100vw - 1rem)); }
        .overlays .overlay.index a.project .icon {
          width: calc((1/12) * (100vw - 1rem));
          opacity: 0; }
        .overlays .overlay.index a.project .title {
          -webkit-flex-grow: 1;
                  flex-grow: 1;
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis; }
        .overlays .overlay.index a.project:hover .icon, .overlays .overlay.index a.project.is_open .icon {
          opacity: 1; }
    .overlays .overlay.da {
      opacity: 1;
      pointer-events: all;
      z-index: 2; }

.image_wrap {
  height: 0;
  padding-bottom: 66.33%;
  position: relative; }
  .image_wrap .image_wrap_inner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden; }
  .image_wrap::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: black;
    transition: all .5s ease-in-out;
    -webkit-transform-origin: right;
            transform-origin: right; }
  .image_wrap.loaded::after {
    opacity: 0; }

.video_wrap {
  height: 0;
  padding-bottom: 66.33%;
  position: relative; }
  .video_wrap video {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .video_wrap::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: black;
    transition: all .5s ease-in-out;
    -webkit-transform-origin: right;
            transform-origin: right; }
  .video_wrap.loaded::after, .slick-cloned .video_wrap::after {
    opacity: 0; }

.slider {
  background: transparent;
  position: relative;
  z-index: 1;
  background: white;
  width: 100%; }

.slider-inner {
  white-space: nowrap;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: -webkit-flex;
  display: flex; }
  .slider-inner:hover {
    cursor: -webkit-grab;
    cursor: grab; }
  .slider-inner:active {
    cursor: -webkit-grabbing;
    cursor: grabbing; }
  .slider-inner .slick-track {
    display: -webkit-flex;
    display: flex; }
  .slider-inner .slide {
    width: 100vw;
    -webkit-flex-shrink: 0;
            flex-shrink: 0;
    -webkit-flex-grow: 0;
            flex-grow: 0;
    display: block;
    overflow: hidden;
    position: relative;
    outline: none; }
    .slider-inner .slide img {
      display: block;
      height: 100%;
      width: auto;
      opacity: 1 !important; }
  .slider-inner .slick-arrow {
    position: absolute;
    z-index: 10;
    top: 0;
    width: calc((1/12) * (100vw - 1rem));
    height: 100%; }
    .slider-inner .slick-arrow.prev {
      left: 0; }
      .slider-inner .slick-arrow.prev:hover {
        cursor: w-resize; }
    .slider-inner .slick-arrow.next {
      right: 0;
      display: none !important; }
      .slider-inner .slick-arrow.next:hover {
        cursor: e-resize; }

.text {
  width: calc((8/12) * (100vw - 1rem));
  margin-left: calc((1/12) * (100vw - 1rem)); }
  .text p {
    margin: 1.2rem 0; }
    .text p:first-child {
      margin-top: 0; }
    .text p:last-child {
      margin-bottom: 0; }
  .text figure {
    margin: -.6rem 0;
    position: relative; }
    .text figure.more_margin {
      margin: 4.8rem 0;
      margin-left: calc((1/12) * (100vw - 1rem)); }
    .text figure.portrait {
      width: calc((5/12) * (100vw - 1rem));
      margin-left: calc((6/12) * (100vw - 1rem)); }
    .text figure img {
      display: block;
      max-width: 100%; }
    .text figure figcaption {
      text-align: right;
      font-size: .5rem;
      position: absolute;
      bottom: 0;
      -webkit-transform: translateY(100%);
              transform: translateY(100%);
      right: 0; }

div.grid {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: .25rem -.5rem; }
  div.grid .project {
    display: block;
    width: 25%;
    position: relative;
    box-sizing: border-box;
    padding: 0 .5rem; }
    div.grid .project:hover .hover {
      opacity: 1; }
    div.grid .project .inner {
      position: relative; }
    div.grid .project .hover {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      opacity: 0;
      background-color: white;
      transition: all .1s ease-in-out; }
    div.grid .project img {
      display: block;
      width: auto;
      height: 100%; }
    div.grid .project .text_wrap {
      display: -webkit-flex;
      display: flex;
      margin: .25rem 0;
      -webkit-justify-content: space-between;
              justify-content: space-between; }
      div.grid .project .text_wrap .title {
        white-space: nowrap;
        width: calc(100% - 1rem);
        overflow: hidden;
        text-overflow: ellipsis; }

html {
  font-size: 20px;
  font-size: clamp(16px, 1.5vw, 25px);
  letter-spacing: -0.25px;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%; }

body {
  font-family: "Suisse", sans-serif;
  line-height: 1.2rem;
  margin: 0; }

.container {
  margin: .5rem;
  min-height: calc(100vh - 1rem);
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
          flex-direction: column; }

.content {
  position: relative;
  overflow: hidden; }
  .content::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: white;
    z-index: 20;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    pointer-events: none;
    transition: all .5s ease-in-out; }
  .leave .content::after {
    -webkit-transform: scaleY(1);
            transform: scaleY(1); }

::-moz-selection {
  color: rgba(255, 255, 255, 0); }

::selection {
  color: rgba(255, 255, 255, 0); }

header {
  display: -webkit-flex;
  display: flex;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  header .left, header .right {
    width: 50%;
    display: -webkit-flex;
    display: flex; }
  header .left a {
    display: inline-block; }
  header .left .ueber {
    width: calc((1/12) * (100vw - 1rem)); }
  header .left .studio {
    display: -webkit-flex;
    display: flex; }
    header .left .studio span {
      display: inline-block;
      min-width: calc((1/12) * (100vw - 1rem)); }
  header .right {
    display: -webkit-flex;
    display: flex; }
    header .right a[data-overlay] {
      cursor: s-resize; }
      header .right a[data-overlay].is_open {
        cursor: n-resize; }
    header .right .index {
      width: calc((1/12) * (100vw - 1rem));
      padding-left: .5rem;
      box-sizing: border-box; }
    header .right .grid {
      width: calc((1/12) * (100vw - 1rem));
      text-align: right;
      padding-right: 1rem;
      box-sizing: border-box; }
    header .right .langnav {
      -webkit-flex-grow: 1;
              flex-grow: 1;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: flex-end;
              justify-content: flex-end; }
      header .right .langnav a {
        text-transform: capitalize;
        margin-left: 1rem; }

.intro {
  display: none; }

.slider {
  margin-top: .3rem; }
  .slider .slide {
    width: calc((8/12) * (100vw - 1rem) - 1rem);
    margin-right: 1rem; }
    .slider .slide:hover {
      cursor: e-resize; }
    .slider .slide.slick-current:hover {
      cursor: inherit; }
    .slider .slide .caption {
      display: -webkit-flex;
      display: flex;
      height: 2rem;
      line-height: 2rem; }
      .slider .slide .caption .num {
        width: calc((2/12) * (100vw - 1rem));
        -webkit-flex-shrink: 0;
                flex-shrink: 0; }
      .slider .slide .caption .title {
        -webkit-flex-grow: 1;
                flex-grow: 1;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        margin-right: 1rem; }
      .slider .slide .caption .icon {
        display: none; }
  .slider a.slide.slick-current:hover {
    cursor: pointer; }

div.project .project_title {
  display: -webkit-flex;
  display: flex; }
  div.project .project_title .num {
    width: calc((2/12) * (100vw - 1rem)); }
  div.project .project_title .title {
    -webkit-flex-grow: 1;
            flex-grow: 1;
    font-size: 1em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  div.project .project_title .indicators {
    display: -webkit-flex;
    display: flex;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    div.project .project_title .indicators .i {
      cursor: pointer;
      display: inline-block;
      margin-left: 5px; }
      div.project .project_title .indicators .i.is_open:before {
        content: "\2192";
        font: inherit;
        position: relative;
        top: -2px;
        margin-right: 5px; }

div.project .text {
  width: calc((8/12) * (100vw - 1rem));
  margin-left: calc((1/12) * (100vw - 1rem));
  margin-top: .5rem; }

.t_default > .text {
  margin: 4rem 0;
  width: calc((8/12) * (100vw - 1rem));
  margin-left: calc((1/12) * (100vw - 1rem)); }

.t_default.no_margin > .text {
  margin-top: 0; }

.t_error > .text {
  width: calc((8/12) * (100vw - 1rem));
  margin-left: calc((1/12) * (100vw - 1rem)); }

.t_error video {
  position: fixed;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  min-width: 101%;
  min-height: 101%;
  width: auto;
  height: auto;
  z-index: -1000;
  overflow: hidden;
  display: none; }

.number {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum"; }

main {
  -webkit-flex: 1;
          flex: 1; }

footer {
  display: -webkit-flex;
  display: flex;
  margin-top: 4rem;
  transition: all .5s ease-in-out; }
  .leave footer {
    opacity: 0; }
  footer .left, footer .right {
    width: 50%; }
  footer .left {
    display: -webkit-flex;
    display: flex; }
    footer .left .spacer {
      width: calc((2/12) * (100vw - 1rem));
      display: block;
      height: 1px; }
    footer .left .meta {
      line-height: 1.2rem; }
      footer .left .meta a {
        display: block; }
  footer .right {
    position: relative; }
    footer .right div {
      position: absolute;
      bottom: 0;
      display: -webkit-flex;
      display: flex;
      width: 100%;
      -webkit-justify-content: space-between;
              justify-content: space-between; }

@media screen and (min-width: 1920px) {
  .t_default .text, div.project .text {
    width: calc((6/12) * (100vw - 1rem)); }
  .slider .slide {
    width: calc((7/12) * (100vw - 1rem)); }
  header .right .grid {
    text-align: left;
    padding-right: 0;
    padding-left: 1rem; }
  .text figure.portrait {
    width: calc((4/12) * (100vw - 1rem));
    margin-left: calc((7/12) * (100vw - 1rem)); } }

@media screen and (max-width: 1200px) {
  header .right .index {
    margin-left: calc((1/12) * (100vw - 1rem)); }
  .slider .slide {
    width: calc((9/12) * (100vw - 1rem) - 1rem); }
  div.grid .project {
    width: 33.33%; } }

@media screen and (max-width: 1000px) {
  header .right .index {
    margin-left: calc((2/12) * (100vw - 1rem)); }
  .slider .slide {
    width: calc((10/12) * (100vw - 1rem) - 1rem); }
  footer .right br {
    display: none; } }

@media screen and (max-width: 720px) {
  .content {
    transition: opacity .25s ease-in-out; }
    .content::after {
      display: none; }
    .leave .content {
      opacity: 0; }
  .tab {
    width: calc((2/12) * (100vw - 1rem)); }
  header {
    -webkit-flex-direction: column-reverse;
            flex-direction: column-reverse;
    position: relative; }
    header .right {
      position: absolute;
      right: 0;
      width: auto; }
      header .right .index, header .right .grid {
        display: none; }
    header .left {
      width: 100%; }
      header .left .ueber {
        width: calc((2/12) * (100vw - 1rem)); }
      header .left .studio span {
        width: calc((2/12) * (100vw - 1rem)); }
  .overlays {
    display: none !important; }
  div.grid .project {
    width: 50%; }
  .intro {
    display: block;
    margin-left: calc((2/12) * (100vw - 1rem));
    width: calc((9/12) * (100vw - 1rem)); }
    .intro br {
      display: none; }
  .t_default .text {
    width: calc((12/12) * (100vw - 1rem));
    margin-left: 0; }
  .t_error .text {
    width: calc((12/12) * (100vw - 1rem));
    margin-left: 0; }
  .text figure.portrait {
    width: calc((6/12) * (100vw - 1rem)); }
  .text figure.more_margin {
    margin-left: calc((2/12) * (100vw - 1rem)); }
  .slider .slider-inner {
    -webkit-flex-direction: column;
            flex-direction: column; }
    .slider .slider-inner .slide {
      width: 100%; }
      .slider .slider-inner .slide:hover {
        cursor: auto; }
      .slider .slider-inner .slide .caption .category {
        display: none; }
      .slider .slider-inner .slide .caption .icon {
        display: block; }
    .slider .slider-inner a.slide:hover {
      cursor: pointer; }
  .slider.slider_images .slider-inner .slide {
    margin-bottom: .5rem; }
    .slider.slider_images .slider-inner .slide:last-child {
      margin-bottom: 0; }
  div.project .project_title .title {
    margin-left: 0; }
  div.project .project_title .category {
    display: none; }
  div.project .slider {
    width: calc((12/12) * (100vw - 1rem));
    margin-left: 0; }
  div.project .text {
    width: calc((12/12) * (100vw - 1rem));
    margin-left: 0; }
  footer .left {
    width: calc((4/12) * (100vw - 1rem));
    -webkit-flex-shrink: 0;
            flex-shrink: 0; }
    footer .left .spacer {
      display: none; }
  footer .right {
    width: calc((8/12) * (100vw - 1rem)); }
    footer .right > p {
      display: none; }
    footer .right div {
      position: relative;
      margin-top: 0;
      display: block; }
      footer .right div a {
        margin-bottom: 2.4rem;
        display: block; } }

@media screen and (max-width: 500px) {
  header .left .studio span {
    width: calc((3/12) * (100vw - 1rem)); }
  .text figure {
    margin-bottom: .6rem; }
  .slick-arrow {
    display: none !important; }
  div.grid .project {
    width: 100%; } }

@media screen and (max-width: 400px) {
  header .left .studio span {
    width: calc((3/12) * (100vw - 1rem)); }
  header .right .index {
    margin-left: calc((5/12) * (100vw - 1rem)); }
  footer .left {
    width: calc((5/12) * (100vw - 1rem)); } }
