@font-face {
  font-family: "Plain";
  src: url("src/assets/webfonts/Plain-Light.woff2") format("woff2"), url("src/assets/webfonts/Plain-Light.woff") format("woff"), url("src/assets/webfonts/Plain-Light.ttf") format("truetype"), url("src/assets/webfonts/Plain-Light.svg#Plain-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  ascent-override: 85%;
  /*descent-override: 0%;*/
}
@font-face {
  font-family: "Plain";
  src: url("src/assets/webfonts/Plain-Regular.woff2") format("woff2"), url("src/assets/webfonts/Plain-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  ascent-override: 85%;
  /*descent-override: 0%;*/
}
@font-face {
  font-family: "Plain";
  src: url("src/assets/webfonts/Plain-Medium.woff2") format("woff2"), url("src/assets/webfonts/Plain-Medium.woff") format("woff"), url("src/assets/webfonts/Plain-Medium.ttf") format("truetype"), url("src/assets/webfonts/Plain-Medium.svg#Plain-Medium") format("svg");
  font-weight: 500;
  font-style: normal;
  ascent-override: 85%;
  /*descent-override: 0%;*/
}
.font-weight_light {
  font-weight: 300;
}

.font-weight_medium {
  font-weight: 500;
}

html {
  font-size: 100%; /* base 16 setup */
}

body {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  line-height: 14px;
  font-weight: 400;
  letter-spacing: -0.04em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.plain_extrasmall {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  line-height: 14px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 1024px) {
  .plain_extrasmall {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
.plain_small {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 16px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.plain_regular {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 1024px) {
  .plain_regular {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
.plain_large {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 26px;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.plain_extralarge {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 26px;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 760px) {
  .plain_extralarge {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 64px;
    line-height: 68px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
h1, h2, h3 {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  margin: 0;
}

:root {
  --dark: #111111;
  --gray: #959595;
  --lightgray: rgba(149, 149, 149, 0.2);
  --brown: #744428;
  --white: #ffffff;
  --black: #000000;
  --breakpoint-extrasmall: 375px;
  --breakpoint-small: 760px;
  --breakpoint-medium: 1024px;
  --breakpoint-large: 1920px;
}

/* box-sizing */
html {
  box-sizing: border-box;
}

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

html {
  scroll-behavior: smooth;
}

/* body */
body {
  position: relative;
  margin: 0;
  color: var(--dark);
  background-color: var(--white);
}

html,
body {
  height: 100%;
}

/* inner */
[data-element=inner] {
  position: relative;
  padding: 0 20px;
}

@media only screen and (min-width: 760px) {
  [data-element=inner] {
    padding: 0 20px;
  }
}
@media only screen and (min-width: 1024px) {
  [data-element=inner] {
    padding: 0 20px;
  }
}
@media only screen and (min-width: 1440px) {
  [data-element=inner] {
    padding: 0 20px;
  }
}
/* grid */
[data-element=grid] {
  display: grid;
  -moz-column-gap: 16px;
       column-gap: 16px;
  row-gap: 0;
  grid-template-columns: repeat(4, 1fr);
}

@media only screen and (min-width: 760px) {
  [data-element=grid] {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media only screen and (min-width: 1024px) {
  [data-element=grid] {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media only screen and (min-width: 1440px) {
  [data-element=grid] {
    grid-template-columns: repeat(12, 1fr);
  }
}
/* links */
a {
  color: inherit;
}

/* data-button="standard" */
a[data-button=standard] {
  position: relative;
  padding: 6px 0;
  text-decoration: none;
  display: inline-flex;
  overflow: hidden;
  transition: color 250ms ease;
  will-change: color;
}

a[data-button=standard]:hover {
  color: var(--gray);
}

a[data-button=standard]:before {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--gray);
  opacity: 0;
  transition: opacity 250ms ease;
  will-change: opacity;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}

a[data-button=standard]:hover:before {
  opacity: 1;
}

a[data-button=standard] span.icon {
  margin-right: 6px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}

a[data-button=standard] span.icon svg {
  display: block;
  margin-top: 3px;
}

a[data-button=standard].cart_toggle span.icon svg {
  width: 9px;
  height: 12px;
}

a[data-button=standard] span.icon svg path {
  fill: var(--dark);
  transition: fill 250ms ease;
  will-change: fill;
}

a[data-button=standard]:hover span.icon svg path {
  fill: var(--gray);
}

a[data-button=standard] span.label {
  font-family: "Graphik", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 20px;
  font-weight: 300;
  letter-spacing: -0.04em;
}

/* picture */
picture {
  position: relative;
  display: block;
  background-color: #f7f7f7;
}

picture img[loading=lazy] {
  animation-name: fadeIn;
  animation-duration: 1000ms;
  transition-timing-function: linear;
}

/* lazyload */
img.lazy,
video.lazy {
  display: block;
  opacity: 0;
}

img.lazy:not(.initial),
video.lazy:not(.initial) {
  transition: opacity 1s;
}

img.lazy.initial,
img.lazy.loaded,
img.lazy.error,
video.lazy.initial,
video.lazy.loaded,
video.lazy.error {
  opacity: 1;
}

img.lazy:not([src]),
video.lazy:not([src]) {
  visibility: hidden;
}

/* responsive img and svg */
img.responsive,
svg.responsive,
video.responsive {
  position: relative;
  width: 100%;
  height: auto;
  display: block;
}

/* mobile and desktop conditionals */
.mobile_only {
  display: block;
}

@media only screen and (min-width: 1024px) {
  .mobile_only {
    display: none;
  }
}
.desktop_only {
  display: none;
}

@media only screen and (min-width: 1024px) {
  .desktop_only {
    display: block;
  }
}
/* keyframe animations */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-24px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
/* p */
p:first-child {
  margin-top: 0;
}

p:last-child {
  margin-bottom: 0;
}

/* background */
[data-background] {
  transition: background-color 500ms ease;
}

[data-background=white] {
  background-color: var(--white);
}

[data-background=brown] {
  background-color: var(--brown);
}

/* data-pagelink */
[data-pagelink] * {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* we will explain what these classes do next! */
.v-enter-active,
.v-leave-active {
  transition: opacity 500ms ease;
}

.v-enter-from,
.v-leave-to {
  opacity: 0;
}

.fade-enter-active,
.fade-leave-active {
  transition: opacity 500ms ease, transform 500ms ease;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
  /*transform: translate3d(0, 100px, 0);*/
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

header {
  position: relative;
  z-index: 10;
  padding: 40px 0;
}

@media only screen and (min-width: 760px) {
  header {
    padding: 16px 0;
  }
}
header [data-element=grid] {
  row-gap: 24px;
}

@media only screen and (min-width: 760px) {
  header [data-element=grid] {
    row-gap: 0;
  }
}
@media only screen and (min-width: 1024px) {
  header [data-element=grid] {
    row-gap: 0;
  }
}
@media only screen and (min-width: 1440px) {
  header [data-element=grid] {
    row-gap: 0;
  }
}
header .logo {
  grid-column-start: 1;
  grid-column-end: span 3;
}

@media only screen and (min-width: 760px) {
  header .logo {
    grid-column-start: 1;
    grid-column-end: span 3;
  }
}
header .logo .image a img {
  max-width: 260px;
}

@media only screen and (min-width: 760px) {
  header .logo .image a img {
    max-width: 310px;
  }
}
header .navigation {
  grid-column-start: 1;
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  header .navigation {
    grid-column-start: 6;
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  header .navigation {
    grid-column-start: 7;
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  header .navigation {
    grid-column-start: 9;
    grid-column-end: span 3;
  }
}
header .navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: auto;
  -moz-column-gap: 12px;
       column-gap: 12px;
  row-gap: 0;
  justify-content: flex-start;
}

header .navigation ul li a {
  display: block;
  text-decoration: none;
}

header .navigation ul li a {
  position: relative;
  overflow: hidden;
}

header .navigation ul li a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--dark);
  opacity: 0;
  transform: translate3d(-100%, 0, 0);
  transition: opacity 100ms ease, transform 100ms ease;
}

header .navigation ul li a.current:after {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 200ms ease, transform 200ms ease;
}

header .contact {
  grid-column-start: 3;
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  header .contact {
    grid-column-start: 8;
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 1024px) {
  header .contact {
    grid-column-start: 8;
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  header .contact {
    grid-column-start: 12;
    grid-column-end: span 1;
  }
}
header .contact ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: auto;
  -moz-column-gap: 12px;
       column-gap: 12px;
  row-gap: 0;
  justify-content: flex-end;
}

header .contact ul li a {
  display: block;
  text-decoration: none;
}

header .contact ul li.current a {
  text-decoration: underline;
}

@media only screen and (min-width: 760px) {
  body.window_load.show_cursor * {
    cursor: none;
  }
}
#cursor {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 2px;
  height: 2px;
  z-index: 200;
  transform: translate3d(var(--client_x), var(--client_y), 0);
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: none;
  background-color: transparent;
  mix-blend-mode: difference;
  opacity: 0;
  transition: opacity 200ms ease;
}

@media only screen and (min-width: 760px) {
  #cursor {
    display: block;
  }
}
@media only screen and (min-width: 760px) {
  body.window_load.show_cursor #cursor {
    opacity: 1;
    transition: opacity 250ms ease;
  }
}
#cursor .circles {
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 1px);
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 4px;
       column-gap: 4px;
  transform: translate3d(-50%, -50%, 0);
  transition: transform 250ms ease;
}

@media only screen and (min-width: 760px) {
  body.window_load.animate_cursor #cursor .circles {
    transform: translate3d(-50%, -50%, 0) rotate(90deg);
    transition: transform 250ms ease;
  }
}
#cursor .circles:before,
#cursor .circles:after {
  content: "";
  position: relative;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: var(--white);
}

main {
  position: relative;
  transition: opacity 250ms ease;
  z-index: 3;
}

@media only screen and (min-width: 1024px) {
  main {
    min-height: calc(100vh - 80px - 100px);
    min-height: calc(100lvh - 80px - 100px);
  }
}
body.show_idle main {
  opacity: 0;
  transition: opacity 50ms ease;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

main section {
  position: relative;
}

main section[data-module=index] {
  margin: 60px 0;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=index] {
    margin: 100px 0;
  }
}
main section[data-module=index] .table {
  margin-top: 24px;
}

main section[data-module=index] .table .table_body a {
  position: relative;
  display: block;
  text-decoration: none;
  color: var(--gray);
  transition: color 100ms ease;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=index] .table .table_body a:hover {
    color: var(--dark);
  }
}
main section[data-module=index] .table .table_body [data-element=grid] [data-element=grid_item] {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=index] .table .table_body [data-element=grid] [data-element=grid_item] {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 26px;
    line-height: 28px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
main section[data-module=index] [data-element=grid] [data-element=grid_item].client {
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].client {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].client {
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].client {
    grid-column-end: span 3;
  }
}
main section[data-module=index] [data-element=grid] [data-element=grid_item].project {
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].project {
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].project {
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].project {
    grid-column-end: span 5;
  }
}
main section[data-module=index] [data-element=grid] [data-element=grid_item].month {
  display: none;
}

@media only screen and (min-width: 760px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].month {
    display: block;
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].month {
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].month {
    grid-column-end: span 2;
  }
}
main section[data-module=index] [data-element=grid] [data-element=grid_item].year {
  display: none;
  text-align: right;
}

@media only screen and (min-width: 760px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].year {
    display: block;
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].year {
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] [data-element=grid] [data-element=grid_item].year {
    grid-column-end: span 2;
  }
}
main section[data-module=index] .information {
  position: relative;
  z-index: 1;
}

main section[data-module=index] .media_files {
  position: fixed;
  top: 96px;
  right: 40px;
  bottom: 96px;
  left: 40px;
  z-index: 2;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: none;
  transform: translate3d(0, 0, 0);
}

@media only screen and (min-width: 1440px) {
  main section[data-module=index] .media_files {
    display: block;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .media_files [data-element=flex] {
    display: flex;
    justify-content: space-around;
    -moz-column-gap: 20px;
         column-gap: 20px;
    height: 100%;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .media_files [data-element=flex] [data-element=flex_item][data-width=xs] {
    width: 16.6666666667%;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .media_files [data-element=flex] [data-element=flex_item][data-width=s] {
    width: 25%;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .media_files [data-element=flex] [data-element=flex_item][data-width=m] {
    width: 33.3333333333%;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .media_files [data-element=flex] [data-element=flex_item][data-width=l] {
    width: 50%;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .media_files [data-element=flex] [data-element=flex_item][data-width=xl] {
    width: 66.6666666667%;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .table_body .case .media_files .media_file {
    opacity: 0;
    transition: opacity 250ms ease;
    transition-delay: 0ms;
    display: flex;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .table_body .case a:hover .media_files.all_loaded .media_file {
    opacity: 1;
    transition: opacity 500ms ease;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .table_body .case a:hover .media_files.all_loaded .media_file:nth-child(1) {
    transition-delay: 100ms;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .table_body .case a:hover .media_files.all_loaded .media_file:nth-child(2) {
    transition-delay: 200ms;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .table_body .case a:hover .media_files.all_loaded .media_file:nth-child(3) {
    transition-delay: 300ms;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .table_body .case .media_files .media_file.top {
    align-self: flex-start;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .table_body .case .media_files .media_file.middle {
    align-self: center;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .table_body .case .media_files .media_file.bottom {
    align-self: flex-end;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .table_body .case .media_files .media_file.left {
    justify-content: flex-start;
    margin-right: auto;
    order: 1;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .table_body .case .media_files .media_file.center {
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    order: 2;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=index] .table_body .case .media_files .media_file.right {
    justify-content: flex-end;
    margin-left: auto;
    order: 3;
  }
}
main section[data-module=information] {
  margin: 60px 0 20px 0;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=information] {
    margin: 100px 0 20px 0;
  }
}
main section[data-module=information] .table {
  margin-top: 24px;
}

main section[data-module=information] .table .table_body [data-element=grid] [data-element=grid_item] {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=information] .table .table_body [data-element=grid] [data-element=grid_item] {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 26px;
    line-height: 28px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
main section[data-module=information] [data-element=grid] [data-element=grid_item].client {
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].client {
    grid-column-end: span 5;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].client {
    grid-column-end: span 5;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].client {
    grid-column-end: span 8;
  }
}
main section[data-module=information] [data-element=grid] [data-element=grid_item].project {
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].project {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].project {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].project {
    grid-column-end: span 3;
  }
}
main section[data-module=information] [data-element=grid] [data-element=grid_item].year {
  grid-column-end: span 1;
  text-align: right;
  display: none;
}

@media only screen and (min-width: 760px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].year {
    grid-column-end: span 1;
    display: flex;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].year {
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].year {
    grid-column-end: span 1;
  }
}
main section[data-module=information] .text {
  margin-top: 48px;
}

main section[data-module=information] [data-element=grid] [data-element=grid_item].copy {
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].copy {
    grid-column-start: 5;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].copy {
    grid-column-start: 5;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=information] [data-element=grid] [data-element=grid_item].copy {
    grid-column-start: 7;
    grid-column-end: span 6;
  }
}
main section[data-module=information] .text .copy > :first-child {
  text-indent: calc((100% - 48px) / 4 * 2 + 32px);
}

@media only screen and (min-width: 760px) {
  main section[data-module=information] .text .copy > :first-child {
    text-indent: calc((100% - 48px) / 4 * 1 + 16px);
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=information] .text .copy > :first-child {
    text-indent: calc((100% - 48px) / 4 * 1 + 16px);
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=information] .text .copy > :first-child {
    text-indent: calc((100% - 80px) / 6 * 2 + 32px);
  }
}
main section[data-module=credits] {
  margin: 60px 0;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=credits] {
    margin: 100px 0;
  }
}
main section[data-module=credits] .table {
  margin-top: 24px;
}

main section[data-module=credits] .table .table_body [data-element=grid] [data-element=grid_item] {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=credits] .table .table_body [data-element=grid] [data-element=grid_item] {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 26px;
    line-height: 28px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
main section[data-module=credits] [data-element=grid] [data-element=grid_item].project {
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  main section[data-module=credits] [data-element=grid] [data-element=grid_item].project {
    grid-column-start: 6;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=credits] [data-element=grid] [data-element=grid_item].project {
    grid-column-start: 6;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=credits] [data-element=grid] [data-element=grid_item].project {
    grid-column-start: 9;
    grid-column-end: span 4;
  }
}
main section[data-module=credits] .text {
  margin-top: 24px;
}

main section[data-module=credits] [data-element=grid] [data-element=grid_item].copy {
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  main section[data-module=credits] [data-element=grid] [data-element=grid_item].copy {
    grid-column-start: 6;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=credits] [data-element=grid] [data-element=grid_item].copy {
    grid-column-start: 6;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=credits] [data-element=grid] [data-element=grid_item].copy {
    grid-column-start: 9;
    grid-column-end: span 4;
  }
}
main section[data-module=slideshow] {
  margin: 60px 0;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=slideshow] {
    margin: 100px 0;
  }
}
main section[data-module=slideshow] .slideshow .splide .splide__track {
  padding-right: 20px !important;
  padding-left: 20px !important;
}

@media only screen and (min-width: 760px) {
  main section[data-module=slideshow] .slideshow .splide .splide__track {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=slideshow] .slideshow .splide .splide__track {
    padding-left: calc((100vw - 40px - 176px) / 12 * 2 + 32px + 20px) !important;
  }
}
main section[data-module=slideshow] .slideshow .splide .splide__slide {
  width: calc((100vw - 40px - 48px) / 4 * 3 + 32px);
  margin-right: 16px !important;
}

@media only screen and (min-width: 760px) {
  main section[data-module=slideshow] .slideshow .splide .splide__slide {
    width: calc((100vw - 40px - 112px) / 8 * 3 + 32px);
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=slideshow] .slideshow .splide .splide__slide {
    width: calc((100vw - 40px - 112px) / 8 * 3 + 32px);
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=slideshow] .slideshow .splide .splide__slide {
    width: calc((100vw - 40px - 176px) / 12 * 3 + 32px);
    margin-right: calc((100vw - 40px - 176px) / 12 * 1 + 32px) !important;
  }
}
main section[data-module=slideshow] .slideshow .splide .splide__slide.landscape {
  width: 100%;
}

@media only screen and (min-width: 760px) {
  main section[data-module=slideshow] .slideshow .splide .splide__slide.landscape {
    width: calc((100% - 112px) / 8 * 4 + 48px);
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=slideshow] .slideshow .splide .splide__slide.landscape {
    width: calc((100% - 112px) / 8 * 4 + 48px);
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=slideshow] .slideshow .splide .splide__slide.landscape {
    width: calc((100% - 176px) / 12 * 6 + 80px);
  }
}
main section[data-module=slideshow] .caption {
  margin-top: 8px;
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  line-height: 14px;
  font-weight: 400;
  letter-spacing: -0.04em;
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 16px;
       column-gap: 16px;
  justify-content: space-between;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=slideshow] .caption {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
main section[data-module=gallery] {
  margin: 60px 0;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=gallery] {
    margin: 100px 0;
  }
}
main section[data-module=gallery] [data-element=grid].images {
  align-items: flex-end;
}

main section[data-module=gallery] .images .image:nth-child(1) {
  grid-column-start: 1;
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  main section[data-module=gallery] .images .image:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=gallery] .images .image:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=gallery] .images .image:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: span 4;
  }
}
main section[data-module=gallery] .images.images_reverse .image:nth-child(1) {
  grid-column-start: 1;
  grid-column-end: span 4;
  grid-row-start: 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=gallery] .images.images_reverse .image:nth-child(1) {
    grid-column-start: 6;
    grid-column-end: span 3;
    grid-row-start: 1;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=gallery] .images.images_reverse .image:nth-child(1) {
    grid-column-start: 6;
    grid-column-end: span 3;
    grid-row-start: 1;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=gallery] .images.images_reverse .image:nth-child(1) {
    grid-column-start: 8;
    grid-column-end: span 4;
    grid-row-start: 1;
  }
}
main section[data-module=gallery] .images .image:nth-child(2) {
  grid-column-start: 1;
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  main section[data-module=gallery] .images .image:nth-child(2) {
    grid-column-start: 5;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=gallery] .images .image:nth-child(2) {
    grid-column-start: 5;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=gallery] .images .image:nth-child(2) {
    grid-column-start: 7;
    grid-column-end: span 5;
  }
}
main section[data-module=gallery] .images.images_reverse .image:nth-child(2) {
  grid-column-start: 1;
  grid-column-end: span 4;
  grid-row-start: 1;
}

@media only screen and (min-width: 760px) {
  main section[data-module=gallery] .images.images_reverse .image:nth-child(2) {
    grid-column-start: 1;
    grid-column-end: span 4;
    grid-row-start: 1;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=gallery] .images.images_reverse .image:nth-child(2) {
    grid-column-start: 1;
    grid-column-end: span 4;
    grid-row-start: 1;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=gallery] .images.images_reverse .image:nth-child(2) {
    grid-column-start: 1;
    grid-column-end: span 5;
    grid-row-start: 1;
  }
}
@media only screen and (max-width: 760px) {
  main section[data-module=gallery] .images.images_reverse .image:nth-child(2),
  main section[data-module=gallery] .images:not(.images_reverse) .image:nth-child(1) {
    margin-bottom: 48px;
  }
}
@media only screen and (min-width: 760px) {
  main section[data-module=gallery] .images .image:not(.image_margin) {
    margin-bottom: 96px;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=gallery] .images .image:not(.image_margin) {
    margin-bottom: 96px;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=gallery] .images .image:not(.image_margin) {
    margin-bottom: 120px;
  }
}
main section[data-module=gallery] .image .video video {
  position: relative;
  width: 100%;
  height: auto;
  display: block;
}

main section[data-module=gallery] .image .copy {
  margin-top: 8px;
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  line-height: 14px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=gallery] .image .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
main section[data-module=image] {
  margin: 60px 0;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=image] {
    margin: 100px 0;
  }
}
main section[data-module=image][data-width=small][data-alignment=left] .image [data-element=grid_item] {
  grid-column-start: 1;
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=image][data-width=small][data-alignment=left] .image [data-element=grid_item] {
    grid-column-start: 1;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=image][data-width=small][data-alignment=left] .image [data-element=grid_item] {
    grid-column-start: 1;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=image][data-width=small][data-alignment=left] .image [data-element=grid_item] {
    grid-column-start: 2;
    grid-column-end: span 4;
  }
}
main section[data-module=image][data-width=small][data-alignment=center] .image [data-element=grid_item] {
  grid-column-start: 2;
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=image][data-width=small][data-alignment=center] .image [data-element=grid_item] {
    grid-column-start: 3;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=image][data-width=small][data-alignment=center] .image [data-element=grid_item] {
    grid-column-start: 3;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=image][data-width=small][data-alignment=center] .image [data-element=grid_item] {
    grid-column-start: 5;
    grid-column-end: span 4;
  }
}
main section[data-module=image][data-width=small][data-alignment=right] .image [data-element=grid_item] {
  grid-column-start: 3;
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=image][data-width=small][data-alignment=right] .image [data-element=grid_item] {
    grid-column-start: 4;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=image][data-width=small][data-alignment=right] .image [data-element=grid_item] {
    grid-column-start: 4;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=image][data-width=small][data-alignment=right] .image [data-element=grid_item] {
    grid-column-start: 8;
    grid-column-end: span 4;
  }
}
main section[data-module=image][data-width=medium][data-alignment=left] .image [data-element=grid_item] {
  grid-column-start: 1;
  grid-column-end: span 3;
}

@media only screen and (min-width: 760px) {
  main section[data-module=image][data-width=medium][data-alignment=left] .image [data-element=grid_item] {
    grid-column-start: 1;
    grid-column-end: span 6;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=image][data-width=medium][data-alignment=left] .image [data-element=grid_item] {
    grid-column-start: 1;
    grid-column-end: span 6;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=image][data-width=medium][data-alignment=left] .image [data-element=grid_item] {
    grid-column-start: 2;
    grid-column-end: span 9;
  }
}
main section[data-module=image][data-width=medium][data-alignment=center] .image [data-element=grid_item] {
  grid-column-start: 1;
  grid-column-end: span 3;
}

@media only screen and (min-width: 760px) {
  main section[data-module=image][data-width=medium][data-alignment=center] .image [data-element=grid_item] {
    grid-column-start: 2;
    grid-column-end: span 6;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=image][data-width=medium][data-alignment=center] .image [data-element=grid_item] {
    grid-column-start: 2;
    grid-column-end: span 6;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=image][data-width=medium][data-alignment=center] .image [data-element=grid_item] {
    grid-column-start: 2;
    grid-column-end: span 9;
  }
}
main section[data-module=image][data-width=medium][data-alignment=right] .image [data-element=grid_item] {
  grid-column-start: 2;
  grid-column-end: span 3;
}

@media only screen and (min-width: 760px) {
  main section[data-module=image][data-width=medium][data-alignment=right] .image [data-element=grid_item] {
    grid-column-start: 2;
    grid-column-end: span 6;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=image][data-width=medium][data-alignment=right] .image [data-element=grid_item] {
    grid-column-start: 2;
    grid-column-end: span 6;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=image][data-width=medium][data-alignment=right] .image [data-element=grid_item] {
    grid-column-start: 3;
    grid-column-end: span 9;
  }
}
main section[data-module=image] .caption {
  margin-top: 8px;
}

main section[data-module=image] .caption [data-element=grid_item] {
  grid-column-start: 1;
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  main section[data-module=image] .caption [data-element=grid_item] {
    grid-column-start: 1;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=image] .caption [data-element=grid_item] {
    grid-column-start: 1;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=image] .caption [data-element=grid_item] {
    grid-column-start: 2;
    grid-column-end: span 5;
  }
}
main section[data-module=image].fullwidth .caption [data-element=grid_item] {
  grid-column-start: 1;
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  main section[data-module=image].fullwidth .caption [data-element=grid_item] {
    grid-column-start: 6;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=image].fullwidth .caption [data-element=grid_item] {
    grid-column-start: 6;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=image].fullwidth .caption [data-element=grid_item] {
    grid-column-start: 9;
    grid-column-end: span 4;
  }
}
main section[data-module=image] .caption .copy {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  line-height: 14px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=image] .caption .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 760px) {
  main section[data-module=image].fullwidth .caption .copy {
    text-align: right;
  }
}
main section[data-module=video] {
  margin: 60px 0;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=video] {
    margin: 100px 0;
  }
}
main section[data-module=information] + section[data-module=video] {
  margin: 20px 0 60px 0;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=information] + section[data-module=video] {
    margin: 20px 0 100px 0;
  }
}
main section[data-module=video] .video {
  position: relative;
}

main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small] {
  position: relative;
  grid-column-start: 2;
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small] {
    grid-column-start: 3;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small] {
    grid-column-start: 3;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small] {
    grid-column-start: 5;
    grid-column-end: span 4;
  }
}
main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small][data-position=left] {
  position: relative;
  grid-column-start: 1;
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small][data-position=left] {
    grid-column-start: 1;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small][data-position=left] {
    grid-column-start: 1;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small][data-position=left] {
    grid-column-start: 1;
    grid-column-end: span 4;
  }
}
main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small][data-position=right] {
  position: relative;
  grid-column-start: 3;
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small][data-position=right] {
    grid-column-start: 5;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small][data-position=right] {
    grid-column-start: 5;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=small][data-position=right] {
    grid-column-start: 9;
    grid-column-end: span 4;
  }
}
main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=medium] {
  position: relative;
  grid-column-start: 2;
  grid-column-end: span 3;
}

@media only screen and (min-width: 760px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=medium] {
    grid-column-start: 2;
    grid-column-end: span 6;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=medium] {
    grid-column-start: 2;
    grid-column-end: span 6;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=video] .video [data-element=grid] [data-element=grid_item][data-width=medium] {
    grid-column-start: 3;
    grid-column-end: span 9;
  }
}
main section[data-module=video] .video .video_wrapper {
  position: relative;
  background-color: var(--lightgray);
}

@keyframes fadeInOut {
  from {
    opacity: 0;
  }
}
main section[data-module=video] .video .video_wrapper:before {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background-color: var(--black);
  animation: fadeInOut 1s infinite alternate;
}

main section[data-module=video] .video video {
  position: relative;
  width: 100%;
  height: auto;
  display: block;
  background-color: var(--lightgray);
}

main section[data-module=video] .video .controls {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translate3d(0, -50%, 0);
  z-index: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: opacity 250ms ease;
}

main section[data-module=video] .video.video_playing .controls {
  opacity: 0;
}

main section[data-module=video] .video.video_playing:not(.idle):hover .controls {
  opacity: 1;
}

main section[data-module=video] .video.video_playing.idle .controls {
  opacity: 0;
}

main section[data-module=video] .video .controls .label {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: -0.04em;
  color: var(--white);
}

@media only screen and (min-width: 1024px) {
  main section[data-module=video] .video .controls .label {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 26px;
    line-height: 28px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
main section[data-module=video] .video .controls .play {
  grid-column-start: 1;
  grid-column-end: span 2;
}

main section[data-module=video] .video.video_playing .controls .play .label:nth-child(1) {
  display: none;
}

main section[data-module=video] .video .controls .play .label:nth-child(2) {
  display: none;
}

main section[data-module=video] .video.video_playing .controls .play .label:nth-child(2) {
  display: block;
}

@media only screen and (min-width: 760px) {
  main section[data-module=video] .video .controls .play {
    grid-column-start: 1;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=video] .video .controls .play {
    grid-column-start: 1;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=video] .video .controls .play {
    grid-column-start: 1;
    grid-column-end: span 4;
  }
}
main section[data-module=video] .video .controls .play a.play_toggle {
  display: inline-block;
  text-decoration: none;
}

main section[data-module=video] .video .controls .duration {
  grid-column-start: 3;
  grid-column-end: span 2;
  text-align: right;
}

@media only screen and (min-width: 760px) {
  main section[data-module=video] .video .controls .duration {
    grid-column-start: 4;
    grid-column-end: span 2;
    text-align: center;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=video] .video .controls .duration {
    grid-column-start: 4;
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=video] .video .controls .duration {
    grid-column-start: 5;
    grid-column-end: span 4;
  }
}
main section[data-module=video] .video .controls .buttons {
  display: none;
}

@media only screen and (min-width: 760px) {
  main section[data-module=video] .video .controls .buttons {
    display: block;
    grid-column-start: 6;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=video] .video .controls .buttons {
    grid-column-start: 6;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=video] .video .controls .buttons {
    grid-column-start: 9;
    grid-column-end: span 4;
  }
}
main section[data-module=video] .video .controls .buttons ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: auto;
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 0;
  justify-content: flex-end;
}

main section[data-module=video] .video .controls .buttons a.sound_toggle {
  display: inline-block;
  text-decoration: none;
}

main section[data-module=video] .video .controls .buttons a.sound_toggle span.sound_on {
  display: block;
}

main section[data-module=video] .video .controls .buttons a.sound_toggle span.sound_off {
  display: none;
}

main section[data-module=video] .video[data-sound=off] .controls .buttons a.sound_toggle span.sound_on {
  display: block;
}

main section[data-module=video] .video[data-sound=off] .controls .buttons a.sound_toggle span.sound_off {
  display: none;
}

main section[data-module=video] .video[data-sound=on] .controls .buttons a.sound_toggle span.sound_on {
  display: none;
}

main section[data-module=video] .video[data-sound=on] .controls .buttons a.sound_toggle span.sound_off {
  display: block;
}

main section[data-module=video] .video .controls .buttons a.fullscreen_toggle {
  display: inline-block;
  text-decoration: none;
}

main section[data-module=video] .video .scrubber {
  position: absolute;
  bottom: 20px;
  width: 100%;
  z-index: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: opacity 250ms ease;
  --progress: 0;
  opacity: 0;
}

main section[data-module=video] .video.scrubber_show .scrubber {
  opacity: 1;
}

main section[data-module=video] .video.video_playing .scrubber {
  opacity: 0;
}

main section[data-module=video] .video.video_playing.idle .scrubber {
  opacity: 0;
}

main section[data-module=video] .video.video_playing:not(.idle):hover .scrubber {
  opacity: 1;
}

main section[data-module=video] .video .scrubber .track {
  position: relative;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

@media only screen and (min-width: 760px) {
  main section[data-module=video] .video .scrubber .track {
    height: 20px;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=video] .video .scrubber .track {
    height: 32px;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=video] .video .scrubber .track {
    height: 44px;
  }
}
main section[data-module=video] .video .scrubber .track .progress {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  transform: translate3d(calc((-100 + var(--progress)) * 1%), 0, 0);
  pointer-events: none;
  transition: transform 250ms linear;
}

main section[data-module=video] .caption {
  margin-top: 8px;
}

main section[data-module=video].small .caption [data-element=grid_item] {
  grid-column-start: 2;
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  main section[data-module=video].small .caption [data-element=grid_item] {
    grid-column-start: 3;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=video].small .caption [data-element=grid_item] {
    grid-column-start: 3;
    grid-column-end: span 4;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=video].small .caption [data-element=grid_item] {
    grid-column-start: 5;
    grid-column-end: span 4;
  }
}
main section[data-module=video].medium .caption [data-element=grid_item] {
  grid-column-start: 2;
  grid-column-end: span 3;
}

@media only screen and (min-width: 760px) {
  main section[data-module=video].medium .caption [data-element=grid_item] {
    grid-column-start: 2;
    grid-column-end: span 6;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=video].medium .caption [data-element=grid_item] {
    grid-column-start: 2;
    grid-column-end: span 6;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=video].medium .caption [data-element=grid_item] {
    grid-column-start: 3;
    grid-column-end: span 9;
  }
}
main section[data-module=video].full .caption [data-element=grid_item] {
  grid-column-start: 1;
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  main section[data-module=video].full .caption [data-element=grid_item] {
    grid-column-start: 6;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=video].full .caption [data-element=grid_item] {
    grid-column-start: 6;
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=video].full .caption [data-element=grid_item] {
    grid-column-start: 9;
    grid-column-end: span 4;
  }
}
main section[data-module=video] .caption .copy {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  line-height: 14px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=video] .caption .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 760px) {
  main section[data-module=video].full .caption .copy {
    text-align: right;
  }
}
main section[data-module=text] {
  margin: 60px 0;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=text] {
    margin: 100px 0;
  }
}
/* indent heading */
main section[data-module=text] .heading > :first-child {
  text-indent: calc((100% - 48px) / 4 * 1 + 16px);
}

@media only screen and (min-width: 760px) {
  main section[data-module=text] .heading > :first-child {
    text-indent: calc((100% - 112px) / 8 * 3 + 48px);
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=text] .heading > :first-child {
    text-indent: calc((100% - 112px) / 8 * 3 + 48px);
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=text] .heading > :first-child {
    text-indent: calc((100% - 176px) / 12 * 3 + 48px);
  }
}
main section[data-module=text] .copy {
  -webkit-hyphens: auto;
          hyphens: auto;
  margin-top: 4px;
}

@media only screen and (min-width: 760px) {
  main section[data-module=text] .copy {
    -webkit-hyphens: auto;
            hyphens: auto;
    margin-top: 6px;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=text] .copy {
    -webkit-hyphens: auto;
            hyphens: auto;
    margin-top: 8px;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=text] .copy {
    -webkit-hyphens: none;
            hyphens: none;
    margin-top: 10px;
  }
}
/* indent copy */
main section[data-module=text] .copy > :first-child {
  text-indent: calc((100% - 48px) / 4 * 1 + 16px);
}

@media only screen and (min-width: 760px) {
  main section[data-module=text] .copy > :first-child {
    text-indent: calc((100% - 112px) / 8 * 3 + 48px);
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=text] .copy > :first-child {
    text-indent: calc((100% - 112px) / 8 * 3 + 48px);
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=text] .copy > :first-child {
    text-indent: calc((100% - 176px) / 12 * 3 + 48px);
  }
}
main section[data-module=columns] {
  margin: 60px 0;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=columns] {
    margin: 100px 0;
  }
}
main section[data-module=columns] [data-element=grid] {
  row-gap: 48px;
}

@media only screen and (min-width: 760px) {
  main section[data-module=columns] [data-element=grid] {
    row-gap: 0;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=columns] [data-element=grid] {
    row-gap: 0;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=columns] [data-element=grid] {
    row-gap: 0;
  }
}
main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(1) {
  grid-column-start: 1;
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: span 3;
  }
}
main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(2) {
  grid-column-start: 1;
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(2) {
    grid-column-start: 3;
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(2) {
    grid-column-start: 3;
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(2) {
    grid-column-start: 4;
    grid-column-end: span 3;
  }
}
main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(3) {
  grid-column-start: 1;
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(3) {
    grid-column-start: 7;
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(3) {
    grid-column-start: 6;
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=columns] [data-element=grid] [data-element=grid_item]:nth-child(3) {
    grid-column-start: 9;
    grid-column-end: span 3;
  }
}
main section[data-module=columns] .copy {
  margin-top: 24px;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=columns] .copy {
    margin-right: 24px;
  }
}
main section[data-module=columns] .copy a {
  text-decoration: none;
}

main section[data-module=table] {
  margin: 60px 0;
}

@media only screen and (min-width: 1024px) {
  main section[data-module=table] {
    margin: 100px 0;
  }
}
main section[data-module=table] .table {
  margin-top: 24px;
}

main section[data-module=table] [data-element=grid] [data-element=grid_item] {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media only screen and (min-width: 760px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].year {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].year {
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].year {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 760px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].award {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].award {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].award {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 760px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].type {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].type {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].type {
    grid-column-end: span 2;
  }
}
main section[data-module=table] [data-element=grid] [data-element=grid_item].category {
  display: none;
}

@media only screen and (min-width: 760px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].category {
    display: none;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].category {
    display: block;
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].category {
    display: block;
    grid-column-end: span 2;
  }
}
main section[data-module=table] [data-element=grid] [data-element=grid_item].client {
  display: none;
}

@media only screen and (min-width: 760px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].client {
    display: none;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].client {
    display: block;
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].client {
    display: block;
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 760px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].project {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].project {
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  main section[data-module=table] [data-element=grid] [data-element=grid_item].project {
    grid-column-end: span 2;
  }
}
footer {
  position: relative;
  z-index: 2;
  padding: 10px 0;
  transition: opacity 250ms ease;
}

body.show_idle footer {
  opacity: 0;
  transition: opacity 50ms ease;
}

footer [data-element=grid] {
  row-gap: 16px;
}

@media only screen and (min-width: 760px) {
  footer [data-element=grid] {
    row-gap: 16px;
  }
}
@media only screen and (min-width: 1024px) {
  footer [data-element=grid] {
    row-gap: 18px;
  }
}
@media only screen and (min-width: 1440px) {
  footer [data-element=grid] {
    row-gap: 24px;
  }
}
footer .address {
  grid-column-start: 1;
  grid-column-end: span 2;
}

@media only screen and (min-width: 760px) {
  footer .address {
    grid-column-start: 6;
    grid-column-end: span 2;
    grid-row-start: 2;
    grid-row-end: span 1;
  }
}
@media only screen and (min-width: 1024px) {
  footer .address {
    grid-column-start: 7;
    grid-column-end: span 2;
    grid-row-start: 2;
    grid-row-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  footer .address {
    grid-column-start: 9;
    grid-column-end: span 2;
    grid-row-start: 1;
    grid-row-end: span 1;
  }
}
footer .address .copy {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 760px) {
  footer .address .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 1024px) {
  footer .address .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 1440px) {
  footer .address .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
footer .email {
  grid-column-start: 3;
  grid-column-end: span 1;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

@media only screen and (min-width: 760px) {
  footer .email {
    grid-column-start: 6;
    grid-column-end: span 2;
    grid-row-start: 1;
    grid-row-end: span 1;
  }
}
@media only screen and (min-width: 1024px) {
  footer .email {
    grid-column-start: 7;
    grid-column-end: span 2;
    grid-row-start: 1;
    grid-row-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  footer .email {
    grid-column-start: 11;
    grid-column-end: span 1;
    grid-row-start: 1;
    grid-row-end: span 1;
  }
}
footer .email .copy {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 760px) {
  footer .email .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 1024px) {
  footer .email .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 1440px) {
  footer .email .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
footer .phone {
  grid-column-start: 4;
  grid-column-end: span 1;
  text-align: right;
  display: flex;
  justify-content: flex-end;
}

@media only screen and (min-width: 760px) {
  footer .phone {
    grid-column-start: 8;
    grid-column-end: span 1;
    grid-row-start: 1;
    grid-row-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  footer .phone {
    grid-column-start: 8;
    grid-column-end: span 1;
    grid-row-start: 1;
    grid-row-end: span 2;
  }
}
@media only screen and (min-width: 1440px) {
  footer .phone {
    grid-column-start: 12;
    grid-column-end: span 1;
    grid-row-start: 1;
    grid-row-end: span 1;
  }
}
footer .phone .copy {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 760px) {
  footer .phone .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 1024px) {
  footer .phone .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 1440px) {
  footer .phone .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
footer .about {
  grid-column-start: 1;
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  footer .about {
    grid-column-start: 1;
    grid-column-end: span 4;
    grid-row-start: 1;
    grid-row-end: span 2;
  }
}
@media only screen and (min-width: 1024px) {
  footer .about {
    grid-column-start: 1;
    grid-column-end: span 5;
    grid-row-start: 1;
    grid-row-end: span 2;
  }
}
@media only screen and (min-width: 1440px) {
  footer .about {
    grid-column-start: 1;
    grid-column-end: span 7;
    grid-row-start: 1;
    grid-row-end: span 1;
  }
}
footer .about .copy {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  line-height: 14px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 760px) {
  footer .about .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 10px;
    line-height: 14px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 1024px) {
  footer .about .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 10px;
    line-height: 14px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 1440px) {
  footer .about .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
footer .copyright {
  grid-column-start: 1;
  grid-column-end: span 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

@media only screen and (min-width: 760px) {
  footer .copyright {
    grid-column-start: 1;
    grid-column-end: span 5;
    grid-row-start: 3;
    grid-row-end: span 1;
  }
}
@media only screen and (min-width: 1024px) {
  footer .copyright {
    grid-column-start: 1;
    grid-column-end: span 6;
    grid-row-start: 3;
    grid-row-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  footer .copyright {
    grid-column-start: 1;
    grid-column-end: span 8;
    grid-row-start: 2;
    grid-row-end: span 1;
  }
}
footer .social {
  grid-column-start: 1;
  grid-column-end: span 4;
}

@media only screen and (min-width: 760px) {
  footer .social {
    grid-column-start: 6;
    grid-column-end: span 3;
    grid-row-start: 3;
    grid-row-end: span 1;
  }
}
@media only screen and (min-width: 1024px) {
  footer .social {
    grid-column-start: 7;
    grid-column-end: span 2;
    grid-row-start: 3;
    grid-row-end: span 1;
  }
}
@media only screen and (min-width: 1440px) {
  footer .social {
    grid-column-start: 9;
    grid-column-end: span 4;
    grid-row-start: 2;
    grid-row-end: span 1;
  }
}
footer .social .list {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 760px) {
  footer .social .list {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 1024px) {
  footer .social .list {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
@media only screen and (min-width: 1440px) {
  footer .social .list {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
footer .social ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: auto;
  -moz-column-gap: 12px;
       column-gap: 12px;
  row-gap: 0;
  justify-content: flex-start;
}

footer .social ul a {
  display: block;
  text-decoration: none;
}

footer a.url {
  text-decoration: none;
}

footer a.url span {
  display: block;
}

footer a.mailto span {
  display: block;
}

footer a.mailto {
  text-decoration: none;
}

footer a.tel span {
  display: block;
}

footer a.tel {
  text-decoration: none;
}

#contact {
  position: fixed;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 4;
  padding: 12px 0;
  transform: translate3d(0, 0, 0);
  transition: transform 500ms ease;
}

@media only screen and (min-width: 760px) {
  #contact {
    padding: 12px 0;
  }
}
body.contact_show #contact {
  transform: translate3d(0, -100%, 0);
  transition: transform 500ms cubic-bezier(0.3, 0.8, 0.4, 1);
}

#contact [data-element=grid] {
  row-gap: 48px;
}

@media only screen and (min-width: 760px) {
  #contact [data-element=grid] {
    row-gap: 0;
  }
}
@media only screen and (min-width: 1024px) {
  #contact [data-element=grid] {
    row-gap: 0;
  }
}
@media only screen and (min-width: 1440px) {
  #contact [data-element=grid] {
    row-gap: 0;
  }
}
#contact .address {
  grid-column-start: 1;
  grid-column-end: span 2;
  grid-row-start: 1;
  display: flex;
}

@media only screen and (min-width: 760px) {
  #contact .address {
    grid-column-start: 1;
    grid-column-end: span 5;
    grid-row-start: 1;
  }
}
@media only screen and (min-width: 1024px) {
  #contact .address {
    grid-column-start: 1;
    grid-column-end: span 5;
    grid-row-start: 1;
  }
}
@media only screen and (min-width: 1440px) {
  #contact .address {
    grid-column-start: 1;
    grid-column-end: span 8;
    grid-row-start: 1;
  }
}
#contact .address a.url {
  text-decoration: none;
}

#contact .address a.url span {
  display: block;
}

#contact .email {
  grid-column-start: 1;
  grid-column-end: span 2;
  grid-row-start: 2;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}

@media only screen and (min-width: 760px) {
  #contact .email {
    grid-column-start: 6;
    grid-column-end: span 2;
    grid-row-start: 1;
    align-items: flex-start;
  }
}
@media only screen and (min-width: 1024px) {
  #contact .email {
    grid-column-start: 6;
    grid-column-end: span 2;
    grid-row-start: 1;
  }
}
@media only screen and (min-width: 1440px) {
  #contact .email {
    grid-column-start: 9;
    grid-column-end: span 3;
    grid-row-start: 1;
  }
}
#contact .email a.mailto {
  text-decoration: none;
}

#contact .email a.mailto span {
  display: block;
}

#contact .phone {
  grid-column-start: 3;
  grid-column-end: span 2;
  grid-row-start: 1;
  text-align: right;
  display: flex;
  justify-content: flex-end;
}

@media only screen and (min-width: 760px) {
  #contact .phone {
    grid-column-start: 8;
    grid-column-end: span 1;
    grid-row-start: 1;
  }
}
@media only screen and (min-width: 1024px) {
  #contact .phone {
    grid-column-start: 8;
    grid-column-end: span 1;
    grid-row-start: 1;
  }
}
@media only screen and (min-width: 1440px) {
  #contact .phone {
    grid-column-start: 12;
    grid-column-end: span 1;
    grid-row-start: 1;
  }
}
#contact .phone a.tel {
  text-decoration: none;
}

#contact .phone a.tel span {
  display: block;
}

#contact .social {
  grid-column-start: 3;
  grid-column-end: span 2;
  grid-row-start: 2;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

@media only screen and (min-width: 760px) {
  #contact .social {
    grid-column-start: 1;
    grid-column-end: span 8;
    grid-row-start: 2;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
#contact .social .list ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  justify-items: flex-end;
}

@media only screen and (min-width: 760px) {
  #contact .social .list ul {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: auto;
    -moz-column-gap: 12px;
         column-gap: 12px;
    row-gap: 0;
    justify-content: flex-start;
    justify-items: flex-start;
  }
}
#contact .social .list ul li a {
  text-decoration: none;
}

#contact [data-element=grid] [data-element=grid_item] .copy {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 1024px) {
  #contact [data-element=grid] [data-element=grid_item] .copy {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 26px;
    line-height: 28px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
#contact [data-element=grid] [data-element=grid_item] .list {
  font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

@media only screen and (min-width: 1024px) {
  #contact [data-element=grid] [data-element=grid_item] .list {
    font-family: "Plain", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 26px;
    line-height: 28px;
    font-weight: 400;
    letter-spacing: -0.04em;
  }
}
#grid {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: none;
}

body.show_grid #grid {
  display: flex;
}

#grid [data-element=inner] {
  width: 100%;
}

/* grid */
#grid [data-element=grid] {
  height: 100%;
}

#grid [data-element=grid] [data-element=grid_item] {
  display: none;
  background-color: rgba(255, 0, 0, 0.05);
}

#grid [data-element=grid] [data-element=grid_item]:nth-child(-n+4) {
  display: block;
}

@media only screen and (min-width: 760px) {
  #grid [data-element=grid] [data-element=grid_item]:nth-child(-n+8) {
    display: block;
  }
}
@media only screen and (min-width: 1024px) {
  #grid [data-element=grid] [data-element=grid_item]:nth-child(-n+8) {
    display: block;
  }
}
@media only screen and (min-width: 1440px) {
  #grid [data-element=grid] [data-element=grid_item]:nth-child(-n+12) {
    display: block;
  }
}
#loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  pointer-events: auto;
  -webkit-user-select: auto;
     -moz-user-select: auto;
          user-select: auto;
  background-color: var(--brown);
  padding: 40px 0;
  transition: opacity 750ms ease 1500ms;
}

@media only screen and (min-width: 760px) {
  #loading {
    padding: 16px 0;
  }
}
@media only screen and (min-width: 1024px) {
  #loading {
    padding: 16px 0;
  }
}
@media only screen and (min-width: 1440px) {
  #loading {
    padding: 16px 0;
  }
}
body.window_load #loading {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  opacity: 0 !important;
}

@media only screen and (min-width: 760px) {
  #loading {
    cursor: none;
  }
}
#loading .logo {
  position: relative;
  grid-column-start: 1;
  grid-column-end: span 3;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

@media only screen and (min-width: 760px) {
  #loading .logo {
    grid-column-start: 1;
    grid-column-end: span 3;
  }
}
#loading .logo .image {
  animation-name: fadeIn;
  animation-duration: 1000ms;
  animation-timing-function: ease;
  animation-direction: normal;
  animation-fill-mode: both;
  animation-iteration-count: 1;
  animation-play-state: playing;
}

body.window_load #loading .logo .image {
  animation-play-state: running;
}

#loading .logo .image img {
  max-width: 260px;
}

@media only screen and (min-width: 760px) {
  #loading .logo .image img {
    max-width: 310px;
  }
}
#idle {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background-color: white;
  opacity: 0;
  transition: opacity 200ms ease;
}

body.show_idle #idle {
  opacity: 1;
  transition: opacity 0ms ease;
}

#idle img {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
}

#idle img.show {
  opacity: 1;
}

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