@charset "UTF-8";
@font-face {
  font-family: "BradfordLLWeb-Book";
  src: url("../fonts/BradfordLLWeb-Book.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "BradfordLL-BookItalic";
  src: url("../fonts/BradfordLL-BookItalic.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
html,
body {
  z-index: 1;
  font-size: 100%;
  line-height: 120%;
  padding: 0;
  margin: 0;
  width: 100vw;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #303030;
  color: #fff;
  overflow: hidden;
}

a,
button,
input,
label {
  cursor: pointer;
}

button {
  -webkit-appearance: none;
  appearance: none;
}

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

*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-weight: lighter;
}

.hidden {
  display: none;
}

span {
  display: inline;
}

h1 {
  font-family: "BradfordLLWeb-Book", serif;
  font-size: 5vw;
  line-height: 5vw;
  margin-top: 1vw;
}
h2, h3, h4 {
  font-family: "BradfordLLWeb-Book", serif;
  font-size: 2.5vw;
  line-height: 3vw;
  margin-top: 1vw;
}
p {
  font-family: "BradfordLLWeb-Book", serif;
  font-size: 1.75vw;
  line-height: 2vw;
  margin-top: 1vw;
}
@media screen and (max-width: 600px) {
  p {
    font-size: 4vw;
    line-height: 5.25vw;
    margin-top: 3vw;
  }
}

em {
  font-family: "BradfordLL-BookItalic";
  font-style: normal;
}

a {
  text-decoration: none;
  color: #fff;
}
a:hover, a:visited, a:active {
  color: inherit;
}
a:hover, a:visited, a:active {
  color: inherit;
}

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

nav {
  position: fixed;
  width: 100vw;
  z-index: 99;
  padding: 0.5vw;
  display: flex;
  left: 0;
  top: 0;
}
nav ul,
nav .filler {
  display: inline-flex;
}
nav ul li,
nav .filler li {
  font-family: "BradfordLLWeb-Book", serif;
  font-size: 1.5vw;
  line-height: 1.75vw;
  margin-top: 1vw;
  margin-top: 0;
  line-height: 1.5vw;
  color: #fff;
  padding: 0.25vw 0.75vw;
  margin-left: 0;
  margin-right: 0.5vw;
  height: 2vw;
  border-radius: 2vw;
  transform-origin: top;
  text-shadow: 0 0 0.1rem #303030;
}
@media screen and (max-width: 600px) {
  nav ul li,
  nav .filler li {
    font-size: 4vw;
    line-height: 5.25vw;
    margin-top: 3vw;
  }
}
nav ul li .home,
nav .filler li .home {
  font-family: "BradfordLLWeb-Book", serif;
  font-size: 1.5vw;
  line-height: 1.75vw;
  margin-top: 1vw;
  line-height: 1.5vw;
}
@media screen and (max-width: 600px) {
  nav ul li .home,
  nav .filler li .home {
    font-size: 4vw;
    line-height: 5.25vw;
    margin-top: 3vw;
  }
}
nav ul li a.active,
nav .filler li a.active {
  background-color: #303030 !important;
  color: #fff;
}
nav ul li.arrow,
nav .filler li.arrow {
  width: 2vw;
  padding-left: 0;
  padding-right: 0;
  text-align: center;
  cursor: pointer;
  opacity: 0.5;
  pointer-events: none;
}
nav ul li.arrow.active,
nav .filler li.arrow.active {
  opacity: 1;
  pointer-events: initial;
}
nav ul li.count,
nav .filler li.count {
  cursor: default;
  font-variant-numeric: tabular-nums;
  -moz-font-feature-settings: „tnum“;
  -webkit-font-feature-settings: „tnum“;
  font-feature-settings: „tnum“;
  margin: 0;
}
@media screen and (max-width: 600px) {
  nav ul li.count,
  nav .filler li.count {
    margin: 2vw;
  }
}
nav ul li.count span,
nav .filler li.count span {
  cursor: default;
}
nav ul li .close,
nav .filler li .close {
  margin-left: 0.25vw;
  display: none;
}
nav .filler {
  flex-grow: 1;
}

.grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: 2vw;
}
@media screen and (max-width: 600px) {
  .grid {
    grid-template-columns: repeat(8, 1fr);
  }
}
.grid.nopadding {
  padding: 0 9.45vw 0 0;
}
.grid.padding {
  padding: 0 14.45vw 0 5vw;
}
.grid > .column {
  grid-column: span var(--span);
  margin-bottom: var(--gutter);
  margin-top: 2vw;
  padding: 0.75vw;
}
@media screen and (max-width: 600px) {
  .grid > .column {
    grid-column: span 8;
    margin-bottom: var(--gutter);
  }
}

.slide {
  transform-origin: top left;
  width: 0;
  height: 100dvh;
  display: inline-block;
  vertical-align: top;
}
.slide.active {
  width: 100vw;
}
.slide .inner {
  transform-origin: top left;
  width: 100vw;
  height: 100dvh;
}
.slide .content {
  overflow: scroll;
  width: 100vw;
  height: 100dvh;
  line-height: 0;
}
.slide .content .starter {
  width: 100vw;
  height: 100dvh;
  background-position: center center;
  background-size: cover;
}

.slider {
  transform-origin: top left;
}

#about {
  padding-top: 0;
  transform-origin: top left;
  transform: translateZ(0) scale(1, 0);
  height: 0;
}
#about .left {
  display: inline-block;
  width: 65.6666666667vw;
  margin-right: 0.5vw;
}
#about .right {
  display: inline-block;
  width: 32.8333333333vw;
}
#about .left p,
#about .right p {
  font-family: "BradfordLLWeb-Book", serif;
  font-size: 1.5vw;
  line-height: 1.75vw;
  margin-top: 1vw;
  margin-top: 0.5vw;
}
@media screen and (max-width: 600px) {
  #about .left p,
  #about .right p {
    font-size: 4vw;
    line-height: 5.25vw;
    margin-top: 3vw;
  }
}
#about .projectlist {
  position: relative;
}
#about .projectlist nav.projectfilter {
  position: relative;
  margin-top: 2vw;
  margin-bottom: 1vw;
  padding: 0;
}
@media screen and (max-width: 600px) {
  #about .projectlist nav.projectfilter {
    display: block;
    margin-left: -2vw;
  }
}
#about .projectlist nav.projectfilter ul {
  grid-column: span var(--span);
  margin-bottom: var(--gutter);
}
@media screen and (max-width: 600px) {
  #about .projectlist nav.projectfilter ul {
    display: inline-block;
  }
}
#about .projectlist nav.projectfilter ul:nth-child(even) li {
  margin-right: 0;
  flex: content;
  text-align: right;
}
@media screen and (max-width: 600px) {
  #about .projectlist nav.projectfilter ul .navitem {
    line-height: 4.5vw;
    display: inline-block;
    margin-top: 2vw;
  }
}
#about .projectlist ul[ndx--projectfilter],
#about .projectlist div[ndx--content=legal-notice],
#about .projectlist div[ndx--content=data-privacy] {
  display: inline-block;
  padding: 0 0.75vw 0.75vw 0.75vw;
  width: 100%;
  position: absolute;
  top: 3vw;
  left: 0;
  background: #303030;
  transform-origin: top left;
  transform: translateZ(0) scale(1, 1);
}
@media screen and (max-width: 600px) {
  #about .projectlist ul[ndx--projectfilter],
  #about .projectlist div[ndx--content=legal-notice],
  #about .projectlist div[ndx--content=data-privacy] {
    top: 28vw;
  }
}
#about .projectlist ul[ndx--projectfilter].hidden,
#about .projectlist div[ndx--content=legal-notice].hidden,
#about .projectlist div[ndx--content=data-privacy].hidden {
  transform: translateZ(0) scale(1, 0);
}
#about .projectlist ul[ndx--projectfilter] li,
#about .projectlist div[ndx--content=legal-notice] li,
#about .projectlist div[ndx--content=data-privacy] li {
  font-family: "BradfordLLWeb-Book", serif;
  font-size: 1.5vw;
  line-height: 1.75vw;
  margin-top: 1vw;
  margin-top: 0;
  border-bottom: 0.1vw solid white;
}
@media screen and (max-width: 600px) {
  #about .projectlist ul[ndx--projectfilter] li,
  #about .projectlist div[ndx--content=legal-notice] li,
  #about .projectlist div[ndx--content=data-privacy] li {
    font-size: 4vw;
    line-height: 5.25vw;
    margin-top: 3vw;
  }
}
@media screen and (max-width: 600px) {
  #about .projectlist ul[ndx--projectfilter] li,
  #about .projectlist div[ndx--content=legal-notice] li,
  #about .projectlist div[ndx--content=data-privacy] li {
    margin-top: 2vw;
    padding-bottom: 2vw;
    display: inline-block;
    width: 100%;
  }
}
#about .projectlist ul[ndx--projectfilter] li .year,
#about .projectlist ul[ndx--projectfilter] li .title_cat,
#about .projectlist div[ndx--content=legal-notice] li .year,
#about .projectlist div[ndx--content=legal-notice] li .title_cat,
#about .projectlist div[ndx--content=data-privacy] li .year,
#about .projectlist div[ndx--content=data-privacy] li .title_cat {
  display: inline-block;
  vertical-align: top;
  margin: 0.5vw 0;
}
#about .projectlist ul[ndx--projectfilter] li .year,
#about .projectlist div[ndx--content=legal-notice] li .year,
#about .projectlist div[ndx--content=data-privacy] li .year {
  font-variant-numeric: tabular-nums;
  -moz-font-feature-settings: „tnum“;
  -webkit-font-feature-settings: „tnum“;
  font-feature-settings: „tnum“;
}
#about .projectlist ul[ndx--projectfilter] li span,
#about .projectlist div[ndx--content=legal-notice] li span,
#about .projectlist div[ndx--content=data-privacy] li span {
  display: inline-block;
  vertical-align: top;
  margin: 0.5vw 0;
}
#about .projectlist ul[ndx--projectfilter] li span.year,
#about .projectlist div[ndx--content=legal-notice] li span.year,
#about .projectlist div[ndx--content=data-privacy] li span.year {
  width: 10%;
}
@media screen and (max-width: 600px) {
  #about .projectlist ul[ndx--projectfilter] li span.year,
  #about .projectlist div[ndx--content=legal-notice] li span.year,
  #about .projectlist div[ndx--content=data-privacy] li span.year {
    width: 26%;
  }
}
#about .projectlist ul[ndx--projectfilter] li span.title,
#about .projectlist div[ndx--content=legal-notice] li span.title,
#about .projectlist div[ndx--content=data-privacy] li span.title {
  width: 45%;
  font-family: "BradfordLL-BookItalic";
  padding-right: 1vw;
}
@media screen and (max-width: 600px) {
  #about .projectlist ul[ndx--projectfilter] li span.title,
  #about .projectlist div[ndx--content=legal-notice] li span.title,
  #about .projectlist div[ndx--content=data-privacy] li span.title {
    width: 74%;
  }
}
#about .projectlist ul[ndx--projectfilter] li span.client,
#about .projectlist div[ndx--content=legal-notice] li span.client,
#about .projectlist div[ndx--content=data-privacy] li span.client {
  width: 43%;
  padding-right: 1vw;
}
@media screen and (max-width: 600px) {
  #about .projectlist ul[ndx--projectfilter] li span.client,
  #about .projectlist div[ndx--content=legal-notice] li span.client,
  #about .projectlist div[ndx--content=data-privacy] li span.client {
    padding-left: 26%;
    width: 100%;
  }
}
#about .projectlist ul[ndx--projectfilter] li span.cat,
#about .projectlist div[ndx--content=legal-notice] li span.cat,
#about .projectlist div[ndx--content=data-privacy] li span.cat {
  width: 43%;
}
@media screen and (max-width: 600px) {
  #about .projectlist ul[ndx--projectfilter] li span.cat,
  #about .projectlist div[ndx--content=legal-notice] li span.cat,
  #about .projectlist div[ndx--content=data-privacy] li span.cat {
    padding-left: 26%;
    width: 100%;
  }
}
#about .projectlist ul[ndx--projectfilter] li span.client, #about .projectlist ul[ndx--projectfilter] li span:empty,
#about .projectlist div[ndx--content=legal-notice] li span.client,
#about .projectlist div[ndx--content=legal-notice] li span:empty,
#about .projectlist div[ndx--content=data-privacy] li span.client,
#about .projectlist div[ndx--content=data-privacy] li span:empty {
  display: none;
}

.bubble {
  border: 0.1vw solid white;
  background: #fff;
  color: #303030;
  border-radius: 2.5vw;
  padding: 0.1vw 0.75vw;
  text-shadow: none;
  margin: 0 !important;
}
.bubble a, .bubble a:visited {
  background: transparent !important;
  color: #303030;
}
.bubble:hover {
  background-color: #303030 !important;
  color: #fff;
}
.bubble:hover a {
  background-color: #303030 !important;
  color: #fff;
}

.bubble:visited {
  background: transparent !important;
  color: #303030;
}
.bubble:hover {
  background-color: #303030 !important;
  color: #fff;
}

#about .projectlist ul[ndx--projectfilter] .cat.hasbubble {
  margin: 0.3vw 0 0.25vw 0;
}
#about .projectlist ul[ndx--projectfilter] .cat .bubble {
  margin-bottom: -0.5vw;
}

body[ndx--target-view=legal-notice],
body[ndx--target-view=data-privacy],
body[ndx--target-view=about] {
  overflow: hidden;
}
body[ndx--target-view=legal-notice] ul[ndx--target=filtermenu] .navitem:not(.home),
body[ndx--target-view=data-privacy] ul[ndx--target=filtermenu] .navitem:not(.home),
body[ndx--target-view=about] ul[ndx--target=filtermenu] .navitem:not(.home) {
  display: none;
}
body[ndx--target-view=legal-notice] #about,
body[ndx--target-view=data-privacy] #about,
body[ndx--target-view=about] #about {
  padding: 3vw 0.5vw 0.5vw 0.5vw;
  height: 100dvh;
  overflow: hidden;
  overflow-y: scroll;
  transform: translateZ(0) scale(1, 1);
}
@media screen and (max-width: 600px) {
  body[ndx--target-view=legal-notice] #about,
  body[ndx--target-view=data-privacy] #about,
  body[ndx--target-view=about] #about {
    padding: 8vw 2vw 2vw 2vw;
  }
}
body[ndx--target-view=legal-notice] .controls,
body[ndx--target-view=data-privacy] .controls,
body[ndx--target-view=about] .controls {
  display: none;
}
body[ndx--target-view=legal-notice] .aboutlink .openabout,
body[ndx--target-view=data-privacy] .aboutlink .openabout,
body[ndx--target-view=about] .aboutlink .openabout {
  display: none;
}
body[ndx--target-view=legal-notice] .aboutlink .closeabout,
body[ndx--target-view=data-privacy] .aboutlink .closeabout,
body[ndx--target-view=about] .aboutlink .closeabout {
  display: inline;
}

body[ndx--target-view=legal-notice] ul[ndx--projectfilter],
body[ndx--target-view=legal-notice] div[ndx--content],
body[ndx--target-view=data-privacy] ul[ndx--projectfilter],
body[ndx--target-view=data-privacy] div[ndx--content] {
  width: 100%;
  padding: 0 0.75vw 0.75vw 0.75vw;
}
body[ndx--target-view=legal-notice] .projectfilter .navitem a.active,
body[ndx--target-view=data-privacy] .projectfilter .navitem a.active {
  filter: blur(0);
}

body[ndx--target-view=legal-notice] .navitem a[ndx--target=legal-notice] {
  background-color: #303030 !important;
  color: #fff;
}
body[ndx--target-view=legal-notice] #about div[ndx--content=legal-notice].hidden {
  display: inline-block;
  transform: translateZ(0) scale(1, 1);
}

body[ndx--target-view=data-privacy] .navitem a[ndx--target=data-privacy] {
  background-color: #303030 !important;
  color: #fff;
}
body[ndx--target-view=data-privacy] #about div[ndx--content=data-privacy].hidden {
  display: inline-block;
  transform: translateZ(0) scale(1, 1);
}

/*** Scrollbar ***/
.ps-container {
  -ms-touch-action: none;
  touch-action: none;
  overflow: hidden !important;
}

.ps-container.ps-active-x > .ps-scrollbar-x-rail,
.ps-container.ps-active-y > .ps-scrollbar-y-rail {
  display: none;
}

.ps-container.ps-active-x > .ps-scrollbar-x-rail,
.ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  display: none !important;
  width: 0 !important;
}

.navitem span {
  cursor: pointer;
}

p a {
  text-decoration: underline;
}

.info {
  height: 100dvh;
  overflow-y: scroll;
}

.introimg {
  width: 100vw;
  height: 100dvh;
  overflow: hidden;
}
.introimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

* {
  perspective: 0;
  transform: translate3d(0, 0, 0);
  visibility: visible;
  backface-visibility: hidden;
}

.slide {
  will-change: transform;
}
.slide .inner {
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0) scale(0, 1);
}
.slide.active .inner {
  transform: translateZ(0) scale(1, 1);
}

.slide,
.inner,
#about {
  transition: all 0.5s linear;
}

.interiminfo {
  position: absolute;
  width: 100vw;
  left: 0;
  bottom: 1vw;
  text-align: center;
}
.interiminfo .infoinner {
  font-family: "BradfordLLWeb-Book", serif;
  font-size: 1.5vw;
  line-height: 1.5vw;
  margin-top: 0;
  color: #fff;
  padding: 0.25vw 0.75vw;
  margin-left: 0;
  margin-right: 0.5vw;
  min-height: 2vw;
  border-radius: 2vw;
  transform-origin: top;
  width: initial;
  display: inline-block;
  text-shadow: 0 0 0.1rem #303030;
}

#about .text.column p {
  margin-top: 0;
  transition: all 0.5s ease-in-out;
}

body[ndx--target-view=legal-notice] #about .text p, body[ndx--target-view=legal-notice] #about .text h3,
body[ndx--target-view=data-privacy] #about .text p,
body[ndx--target-view=data-privacy] #about .text h3,
body[ndx--target-view=about] #about .text p,
body[ndx--target-view=about] #about .text h3 {
  margin-top: 1vw;
}
body[ndx--target-view=legal-notice] #about .text li,
body[ndx--target-view=data-privacy] #about .text li,
body[ndx--target-view=about] #about .text li {
  list-style-type: disc;
  list-style-position: outside;
  border: none;
  margin-left: 1.75vw;
}

body[ndx--target-view=legal-notice] #about,
body[ndx--target-view=data-privacy] #about,
body[ndx--target-view=about] #about {
  display: block;
}

.currentindex {
  display: none;
}

.mobile nav ul li {
  font-size: 4.5vw;
  line-height: 5.25vw;
}
.mobile nav ul li .home {
  font-size: 4.5vw;
  line-height: 5.25vw;
}
.mobile nav ul.aboutlink .navitem {
  margin-right: 0;
}
.mobile .controls .openindex,
.mobile .controls .closeindex {
  display: none;
}
.mobile .controls li.arrow {
  transform: initial;
  position: fixed;
  top: calc(50dvh - 34vw);
  width: initial;
  background-color: transparent;
  border-radius: 0;
  margin-right: 0;
}
.mobile .controls li.arrow:active {
  background: transparent;
}
@media screen and (max-width: 600px) {
  .mobile .controls li.arrow {
    top: 0;
  }
}
.mobile .controls li.arrow span {
  display: block;
  font-size: 4.5vw;
  line-height: 7vw;
}
.mobile .controls li.arrow.prev {
  left: 0;
  padding: 45dvh 10vw 45dvh 1vw;
}
.mobile .controls li.arrow.next {
  right: 0;
  padding: 45dvh 1vw 45dvh 10vw;
}
.mobile .interiminfo {
  position: absolute;
  width: 100vw;
  left: 0;
  bottom: 1vw;
  text-align: center;
}
.mobile .interiminfo .infoinner {
  font-size: 4.5vw;
  line-height: 5.25vw;
  text-shadow: 0 0 0.2rem #303030;
}
.mobile .mobile .controls .openindex,
.mobile .mobile .controls .closeindex {
  display: none;
}
.mobile .mobile .controls li.arrow {
  position: fixed;
  top: 40vh;
}
.mobile .mobile .controls li.arrow.prev {
  left: 6vw;
}
.mobile .mobile .controls li.arrow.next {
  right: 6vw;
}
.mobile ul.controls {
  transform: initial;
  perspective: initial;
}

.teamimage {
  border-radius: 0.5vw;
}

[ndx--content=legal-notice] h3 {
  margin-top: 1vw;
}
@media screen and (max-width: 600px) {
  [ndx--content=legal-notice] h3 {
    margin-top: 2vw;
  }
}

@media screen and (max-width: 600px) {
  .navitem.home,
  .navitem.count,
  .aboutlink li {
    margin-top: 1vw;
  }
}