/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  -webkit-text-decoration: underline; /* 2 */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

:root {
  --background-color: #ffffff;
  --background-invert-color: #161616;
  --text-color: #000000;
  --text-light-color: #a1a1a1;
  --text-invert-color: #ffffff;
  --border-color: #e0e0e0;
  --image-placeholder-color: #f8f8f8;
  --input-color: #f1f1f1;

  --spacing-1: 0.5rem;
  --spacing-2: 1rem;
  --spacing-3: 1.5rem;
  --spacing-4: 2rem;
  --spacing-5: 2.5rem;
  --spacing-6: 3rem;
  --spacing-8: 4rem;
  --spacing-9: 4.5rem;
  --spacing-10: 5rem;
  --spacing-16: 8rem;
  --spacing-20: 10rem;
}

body {
  background: #ffffff;
  background: var(--background-color);
  transition: background-color 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

body,body a,body a:visited {
    transition: color 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    color: #000000;
    color: var(--text-color);
  }

body.inverted {
    background: #161616;
    background: var(--background-invert-color);
  }

body.inverted,body.inverted a,body.inverted a:visited {
      color: #ffffff;
      color: var(--text-invert-color);
    }

figcaption,
.exhibition-dates,
.work-technique {
  opacity: 0.46;
}

/*
@define-mixin grid-limit $limit {
  @media screen and (min-width: calc($limit + 1px)) {
    --grid-limit-outer: calc($limit + 1px);
    --grid-limit: calc(var(--grid-limit-outer) - (var(--outer-padding) * 2));
  }
}
*/

:root {
  --columns: 12;
  --gutter: 1.666667vw; /* 24px / 1440 */
  --outer-padding: 1.666667vw;

  --column-width: calc((100% - var(--gutter)*(var(--columns) - 1) - var(--outer-padding)*2)/var(--columns));
}

@media screen and (max-width: 900px) {

:root {
    --columns: 4;
    --gutter: 1rem;
    --outer-padding: 1rem;
}
  }

@media print {

:root {
    --outer-padding: 0px;
}
  }

/* @mixin grid-limit 1400px; */

.grid-overlay {
  display: none;
}

.grid-overlay--active {
  --grid-overlay-width: var(
    --grid-limit,
    calc(100% - var(--outer-padding)*2)
  );
  display: block;
  position: fixed;
  z-index: 9000;
  top: 0px;
  width: calc(100% - 3.333334vw);
  width: var(--grid-overlay-width);
  left: 50%;
  margin-left: calc(-50% - -1.666667vw);
  margin-left: calc(var(--grid-overlay-width)/2*-1);
  height: 100%;
  pointer-events: none;
  background: linear-gradient(
    to right,
    transparent 1.666667vw,
    rgba(255, 0, 255, 0.05) 1.666667vw
  );
  background: linear-gradient(
    to right,
    var(--grid-overlay-gutter, transparent) var(--gutter),
    var(--grid-overlay-column, rgba(255, 0, 255, 0.05)) var(--gutter)
  );
  background-size: calc(8.3333333333% + 0.1388889167vw) 100%;
  background-size: calc((100% + var(--gutter))/var(--columns, 12)) 100%;
  background-position: top 0px left -1.666667vw;
  background-position: top 0px left calc(var(--gutter)*-1);
}

:root {
  --font-sans: "Work Sans", sans-serif;

  --text-larger: normal 72px/1 var(--font-sans);
  --text-large: normal 54px/1.04 var(--font-sans);
  --text-medium: normal 24px/1.25 var(--font-sans);
  --text-normal: normal 16px/1.5 var(--font-sans);
  --text-small: normal 14px/1.5 var(--font-sans);

  --text-normal-short: normal 16px/1.38 var(--font-sans);
  --text-small-short: normal 14px/1.38 var(--font-sans);
}

@media screen and (max-width: 900px) {

:root {
    --text-large: normal 32px/1.13 var(--font-sans);
    --text-medium: normal 22px/1.27 var(--font-sans);
    --text-normal: normal 16px/1.31 var(--font-sans);
    --text-small: normal 13px/1.31 var(--font-sans);
    --text-small-mobile: var(--text-small);

    --text-normal-short: var(--text-normal);
    --text-small-short: var(--text-small);
}
  }

body {
  font: normal 16px/1.5 "Work Sans", sans-serif;
  font: var(--text-normal);
}

h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
p {
  margin: 0px 0px 1rem 0px;
  margin: 0px 0px var(--spacing-2) 0px;
}

h1:last-child {
    margin-bottom: 0px;
  }

h5:last-child {
    margin-bottom: 0px;
  }

h6:last-child {
    margin-bottom: 0px;
  }

ul:last-child {
    margin-bottom: 0px;
  }

ol:last-child {
    margin-bottom: 0px;
  }

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

h1 {
  font: normal 72px/1 "Work Sans", sans-serif;
  font: var(--text-larger);
}

h2 {
  font: normal 54px/1.04 "Work Sans", sans-serif;
  font: var(--text-large);
  margin-top: 5rem;
  margin-top: var(--spacing-10);
  margin-bottom: 5rem;
  margin-bottom: var(--spacing-10);
}

@media screen and (max-width: 900px) {

h2 {
    margin-top: 2.5rem;
    margin-top: var(--spacing-5);
    margin-bottom: 2.5rem;
    margin-bottom: var(--spacing-5);
}
  }

h2:first-child {
    margin-top: 0px;
  }

h2:last-child {
    margin-bottom: 0px;
  }

h3 {
  font: normal 24px/1.25 "Work Sans", sans-serif;
  font: var(--text-medium);
  margin-top: 2.5rem;
  margin-top: var(--spacing-5);
  margin-bottom: 2.5rem;
  margin-bottom: var(--spacing-5);
}

h3:first-child {
    margin-top: 0px;
  }

h3:last-child {
    margin-bottom: 0px;
  }

h4 {
  font: inherit;
  margin-top: 2.5rem;
  margin-top: var(--spacing-5);
  margin-bottom: 0px;
}

h4:first-child {
    margin-top: 0px;
  }

h4:last-child {
    margin-bottom: 0px;
  }

a,
a:visited {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

h1 a:visited {
    -webkit-text-decoration: none;
    text-decoration: none;
  }

h2 a:visited {
    -webkit-text-decoration: none;
    text-decoration: none;
  }

h3 a:visited {
    -webkit-text-decoration: none;
    text-decoration: none;
  }

h1 a,h2 a,h3 a {
    -webkit-text-decoration: none;
    text-decoration: none;
  }

h1 a:hover,h2 a:hover,h3 a:hover,h1 a:focus,h2 a:focus,h3 a:focus {
    -webkit-text-decoration: underline;
    text-decoration: underline;
  }

figcaption {
  font: normal 14px/1.5 "Work Sans", sans-serif;
  font: var(--text-small);
  margin-top: 1rem;
  margin-top: var(--spacing-2);
}

header,
.artists-list,
.sidebar-nav,
footer .social {
  font: normal 24px/1.25 "Work Sans", sans-serif;
  font: var(--text-medium);
}

footer {
  font: normal 14px/1.5 "Work Sans", sans-serif;
  font: var(--text-small);
}

.artists-grid,
.works-grid {
  font: normal 14px/1.38 "Work Sans", sans-serif;
  font: var(--text-small-short);
}

.exhibition-name,
.work-title {
  font-style: italic;
}

.large .exhibition {
    font: normal 24px/1.25 "Work Sans", sans-serif;
    font: var(--text-medium);
  }

.small .exhibition {
    font: normal 16px/1.38 "Work Sans", sans-serif;
    font: var(--text-normal-short);
    font: var(--text-small-mobile);
  }

button.view-more {
  font: normal 14px/1.5 "Work Sans", sans-serif;
  font: var(--text-small);
}

.posters .text {
  font: normal 54px/1.04 "Work Sans", sans-serif;
  font: var(--text-large);
}

.artist-show .introduction,.artist-show .selected-works,.artist-show .artist-exhibitions,.artist-show .bio {
    margin-bottom: 8rem;
    margin-bottom: var(--spacing-16);
  }

@media screen and (max-width: 900px) {

.artist-show .introduction,.artist-show .selected-works,.artist-show .artist-exhibitions,.artist-show .bio {
      margin-bottom: 4rem;
      margin-bottom: var(--spacing-8);
  }
    }

.artist-show .introduction,.artist-show .bio {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-columns: repeat(var(--columns), 1fr);
    grid-column-gap: 1.666667vw;
    grid-column-gap: var(--gutter);
  }

.artist-show .introduction  > h3,.artist-show .bio  > h3 {
      grid-column: 1 / span 12;
      grid-column: 1 / span var(--columns);
    }

.artist-show .introduction .sidebar-nav,.artist-show .bio .sidebar-nav,.artist-show .introduction .artist-portrait,.artist-show .bio .artist-portrait {
      grid-column: 1 / span 4;
      margin-bottom: 2.5rem;
      margin-bottom: var(--spacing-5);
    }

@media screen and (max-width: 900px) {

.artist-show .introduction .sidebar-nav,.artist-show .bio .sidebar-nav,.artist-show .introduction .artist-portrait,.artist-show .bio .artist-portrait {
        grid-column: 1 / span 12;
        grid-column: 1 / span var(--columns);
    }
      }

.artist-show .introduction .body,.artist-show .bio .body {
      grid-column: 5 / span 6;
    }

@media screen and (max-width: 900px) {

.artist-show .introduction .body,.artist-show .bio .body {
        grid-column: 1 / span 12;
        grid-column: 1 / span var(--columns);
    }
      }

.artist-show .introduction .artist-portrait,.artist-show .bio .artist-portrait {
      grid-column: 1 / span 2;
    }

.artist-show .introduction .artist-portrait img,.artist-show .bio .artist-portrait img {
        width: 100%;
        height: auto;
      }

.artists-list,
.artists-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-columns: repeat(var(--columns), 1fr);
  grid-column-gap: 1.666667vw;
  grid-column-gap: var(--gutter);
}

.artists-list .artist,.artists-grid .artist {
    grid-column: span 3;
    margin-bottom: 2.5rem;
    margin-bottom: var(--spacing-5);
    -webkit-text-decoration: none;
    text-decoration: none;
  }

.artists-list .artist:hover,.artists-grid .artist:hover,.artists-list .artist:focus,.artists-grid .artist:focus {
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

.artists-list .artist .image,.artists-grid .artist .image {
      background-color: #f8f8f8;
      background-color: var(--image-placeholder-color);
      position: relative;
      padding-bottom: 57.575758%;
      margin-bottom: 1rem;
      margin-bottom: var(--spacing-2);
    }

.artists-list .artist .image:first-child {
    margin-top: 0px;
  }

.artists-grid .artist .image:first-child {
    margin-top: 0px;
  }

.artists-list .artist .image:last-child {
    margin-bottom: 0px;
  }

.artists-grid .artist .image:last-child {
    margin-bottom: 0px;
  }

.artists-list .artist .image img,.artists-grid .artist .image img {
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100%;
        height: auto;
      }

.artists-list {
  margin-bottom: 8rem;
  margin-bottom: var(--spacing-16);
}

@media screen and (max-width: 900px) {

.artists-list {
    margin-bottom: 4rem;
    margin-bottom: var(--spacing-8);
}
  }

@media screen and (max-width: 900px) {

.artists-list .artist {
      margin-bottom: 1rem;
      margin-bottom: var(--spacing-2);
  }
    }

@media screen and (max-width: 900px) {

.artists-grid .artist {
      grid-column: span 2;
  }
    }

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

.main-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  position: relative;
  z-index: 2;
  pointer-events: none;
}

.main-wrapper header,.main-wrapper main,.main-wrapper footer {
    pointer-events: auto;
  }

main {
  flex: 1;
  padding-top: 8rem;
  padding-top: var(--spacing-16);
  padding-bottom: 8rem;
  padding-bottom: var(--spacing-16);
  padding-left: 1.666667vw;
  padding-left: var(--outer-padding);
  padding-right: 1.666667vw;
  padding-right: var(--outer-padding);
}

main > .inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    max-width: var(--grid-limit, 100%);
  }

@media screen and (max-width: 900px) {

main {
    padding-top: 4rem;
    padding-top: var(--spacing-8);
    padding-bottom: 4rem;
    padding-bottom: var(--spacing-8);
}
  }

main .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }

figure {
  padding: 0px;
  margin: 0px;
}

img {
  display: block;
}

hr {
  display: block;
  margin: 2rem 0px;
  margin: var(--spacing-4) 0px;
  border: 0;
  border-top: 1px solid #000000;
  border-top: 1px solid var(--text-color);
}

button.view-more {
  border: 1px solid #000000;
  border: 1px solid var(--text-color);
  border-radius: 15px;
  line-height: 28px;
  background: transparent;
  padding: 0px 1rem;
  padding: 0px var(--spacing-2);
}

.exhibition-show .main-image {
    margin-bottom: 5rem;
    margin-bottom: var(--spacing-10);
  }

@media screen and (max-width: 900px) {

.exhibition-show .main-image {
      margin-bottom: 2.5rem;
      margin-bottom: var(--spacing-5);
  }
    }

.exhibition-show .main-image img {
      width: 100%;
      height: auto;
    }

.exhibition-show .main-image img.portrait,.exhibition-show .main-image img.square {
        width: calc(50% - 0.8333335vw);
        width: calc(50% - var(--gutter)/2);
      }

@media screen and (max-width: 900px) {

.exhibition-show .main-image img.portrait,.exhibition-show .main-image img.square {
          width: 100%;
      }
        }

.exhibition-show .introduction,.exhibition-show .exhibited-works,.exhibition-show .installation-views {
    margin-bottom: 8rem;
    margin-bottom: var(--spacing-16);
  }

@media screen and (max-width: 900px) {

.exhibition-show .introduction,.exhibition-show .exhibited-works,.exhibition-show .installation-views {
      margin-bottom: 4rem;
      margin-bottom: var(--spacing-8);
  }
    }

.exhibition-show .introduction {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-columns: repeat(var(--columns), 1fr);
    grid-column-gap: 1.666667vw;
    grid-column-gap: var(--gutter);
  }

.exhibition-show .introduction .sidebar-nav {
      grid-column: 1 / span 4;
      margin-bottom: 2.5rem;
      margin-bottom: var(--spacing-5);
    }

@media screen and (max-width: 900px) {

.exhibition-show .introduction .sidebar-nav {
        grid-column: 1 / span 12;
        grid-column: 1 / span var(--columns);
    }
      }

.exhibition-show .introduction .body {
      grid-column: 5 / span 6;
    }

@media screen and (max-width: 900px) {

.exhibition-show .introduction .body {
        grid-column: 1 / span 12;
        grid-column: 1 / span var(--columns);
    }
      }

.exhibitions-index section {
    margin-bottom: 8rem;
    margin-bottom: var(--spacing-16);
  }

@media screen and (max-width: 900px) {

.exhibitions-index section {
      margin-bottom: 4rem;
      margin-bottom: var(--spacing-8);
  }
    }

.exhibitions-index section:first-child {
    margin-top: 0px;
  }

.exhibitions-index section:last-child {
    margin-bottom: 0px;
  }

.exhibitions {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-columns: repeat(var(--columns), 1fr);
  grid-column-gap: 1.666667vw;
  grid-column-gap: var(--gutter);
}

.exhibitions .exhibition {
    display: block;
    margin-bottom: 2.5rem;
    margin-bottom: var(--spacing-5);
    -webkit-text-decoration: none;
    text-decoration: none;
  }

.exhibitions .exhibition:hover .exhibition-name,.exhibitions .exhibition:focus .exhibition-name {
        -webkit-text-decoration: underline;
        text-decoration: underline;
      }

.exhibitions .exhibition .image {
      background-color: #f8f8f8;
      background-color: var(--image-placeholder-color);
      position: relative;
      padding-bottom: 66.66667%;
      margin-top: 2.5rem;
      margin-top: var(--spacing-5);
      margin-bottom: 1rem;
      margin-bottom: var(--spacing-2);
    }

.exhibitions .exhibition .image:first-child {
    margin-top: 0px;
  }

.exhibitions .exhibition .image:last-child {
    margin-bottom: 0px;
  }

.exhibitions .exhibition .image img {
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100%;
        height: auto;
      }

.exhibitions.large .exhibition {
    grid-column: span 6;
  }

@media screen and (max-width: 900px) {

.exhibitions.large .exhibition {
      grid-column: 1 / span 12;
      grid-column: 1 / span var(--columns);
  }
    }

.exhibitions.small .exhibition {
    grid-column: span 4;
  }

@media screen and (max-width: 900px) {

.exhibitions.small .exhibition {
      grid-column: span 2;
  }
    }

footer {
  padding-bottom: 2rem;
  padding-bottom: var(--spacing-4);
  padding-left: 1.666667vw;
  padding-left: var(--outer-padding);
  padding-right: 1.666667vw;
  padding-right: var(--outer-padding);
}

footer > .inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    max-width: var(--grid-limit, 100%);
  }

footer .social {
    float: right;
  }

footer .social ul {
      display: flex;
    }

footer .social li {
      margin-left: 1.5rem;
      margin-left: var(--spacing-3);
    }

footer .social li:first-child {
        margin-left: 0px;
      }

@media screen and (max-width: 900px) {

footer .social {
      float: none;
      margin-bottom: 1.5rem;
      margin-bottom: var(--spacing-3);
  }
    }

header {
  padding-top: 1rem;
  padding-top: var(--spacing-2);
  padding-left: 1.666667vw;
  padding-left: var(--outer-padding);
  padding-right: 1.666667vw;
  padding-right: var(--outer-padding);
}

header > .inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    max-width: var(--grid-limit, 100%);
  }

header .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

header .logo a {
      -webkit-text-decoration: none;
      text-decoration: none;
    }

header .nav-toggle {
    display: none;
    overflow: hidden;
    text-indent: -9000px;
    width: 32px;
    height: 32px;
    background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M26.719%209.687a.28.28%200%200%200%20.28-.28V8.28A.28.28%200%200%200%2026.72%208H6.28a.28.28%200%200%200-.28.281v1.125c0%20.155.126.281.281.281zm0%207.5a.28.28%200%200%200%20.28-.28V15.78a.28.28%200%200%200-.28-.281H6.28a.28.28%200%200%200-.281.281v1.125c0%20.155.126.281.281.281h20.44zm0%207.5a.28.28%200%200%200%20.28-.28V23.28a.28.28%200%200%200-.28-.281H6.28a.28.28%200%200%200-.281.281v1.125c0%20.155.126.281.281.281h20.44z%22%2F%3E%3C%2Fsvg%3E') no-repeat;
    background-position: 50% 50%;
    cursor: pointer;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
  }

header nav ul {
      display: flex;
    }

header nav li {
      margin-left: 1.5rem;
      margin-left: var(--spacing-3);
    }

header nav li:first-child {
        margin-left: 0px;
      }

header .close-modal {
    border: 0px;
    background: transparent;
    background-repeat: no-repeat;
    background-position: right 0px top 50%;
    padding-right: 38px;
  }

header.expanded .nav-toggle,header .close-modal {
    background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22m10.7%2023.89%205.8-5.8%205.799%205.8a.375.375%200%200%200%20.53%200l1.06-1.061a.375.375%200%200%200%200-.53L18.092%2016.5l5.799-5.799a.375.375%200%200%200%200-.53l-1.061-1.06a.375.375%200%200%200-.53%200l-5.8%205.797-5.799-5.8a.375.375%200%200%200-.53%200L9.11%2010.17a.375.375%200%200%200%200%20.53l5.799%205.8-5.8%205.799a.375.375%200%200%200%200%20.53l1.061%201.06a.375.375%200%200%200%20.53%200z%22%2F%3E%3C%2Fsvg%3E');
  }

@media screen and (max-width: 900px) {
    header .nav-toggle {
      display: block;
    }
    header nav {
      display: none;
      width: 100%;
      margin-top: 2.5rem;
      margin-top: var(--spacing-5);
    }
      header nav ul {
        flex-direction: column;
        border-top: 1px solid #e0e0e0;
        border-top: 1px solid var(--border-color);
      }
      header nav li {
        border-bottom: 1px solid #e0e0e0;
        border-bottom: 1px solid var(--border-color);
        margin-left: 0px;
        padding: 0.5rem 0px;
        padding: var(--spacing-1) 0px;
      }

    header.expanded {
      position: fixed;
      width: 100%;
      height: 100%;
      top: 0px;
      left: 0px;
      z-index: 200;
      background: #ffffff;
      background: var(--background-color);
    }

      header.expanded nav {
        display: block;
      }
  }

@media screen and (max-width: 900px) {
    body.inverted header.expanded {
      background: #161616;
      background: var(--background-invert-color);
    }
  }

body.inverted header .nav-toggle {
    background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M26.719%209.687a.28.28%200%200%200%20.28-.28V8.28A.28.28%200%200%200%2026.72%208H6.28a.28.28%200%200%200-.28.281v1.125c0%20.155.126.281.281.281zm0%207.5a.28.28%200%200%200%20.28-.28V15.78a.28.28%200%200%200-.28-.281H6.28a.28.28%200%200%200-.281.281v1.125c0%20.155.126.281.281.281h20.44zm0%207.5a.28.28%200%200%200%20.28-.28V23.28a.28.28%200%200%200-.28-.281H6.28a.28.28%200%200%200-.281.281v1.125c0%20.155.126.281.281.281h20.44z%22%2F%3E%3C%2Fsvg%3E');
  }

body.inverted header.expanded .nav-toggle {
    background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22m10.7%2023.89%205.8-5.8%205.799%205.8a.375.375%200%200%200%20.53%200l1.06-1.061a.375.375%200%200%200%200-.53L18.092%2016.5l5.799-5.799a.375.375%200%200%200%200-.53l-1.061-1.06a.375.375%200%200%200-.53%200l-5.8%205.797-5.799-5.8a.375.375%200%200%200-.53%200L9.11%2010.17a.375.375%200%200%200%200%20.53l5.799%205.8-5.8%205.799a.375.375%200%200%200%200%20.53l1.061%201.06a.375.375%200%200%200%20.53%200z%22%2F%3E%3C%2Fsvg%3E');
  }

.installation-views-grid .items {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-columns: repeat(var(--columns), 1fr);
    grid-column-gap: 1.666667vw;
    grid-column-gap: var(--gutter);
  }

.installation-views-grid .item {
    display: block;
    -webkit-text-decoration: none;
    text-decoration: none;
    grid-column: span 4;
    margin-bottom: 5rem;
    margin-bottom: var(--spacing-10);
  }

@media screen and (max-width: 900px) {

.installation-views-grid .item {
      grid-column: span 2;
      margin-bottom: 2.5rem;
      margin-bottom: var(--spacing-5);
  }
    }

.installation-views-grid .item .image {
      position: relative;
      padding-bottom: 66.66667%;
      margin-bottom: 1.5rem;
      margin-bottom: var(--spacing-3);
    }

.installation-views-grid .item .image img {
        position: absolute;
        width: 100%;
        height: auto;
      }

.installation-views-grid .buttons {
    text-align: center;
  }

.lightbox {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: 1;
}

.lightbox .lightbox-main {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-columns: repeat(var(--columns), 1fr);
    grid-column-gap: 1.666667vw;
    grid-column-gap: var(--gutter);
  }

.lightbox .lightbox-main button {
      grid-column: span 1;
      border: 0px;
      padding: 0px;
      display: block;
      overflow: hidden;
      text-indent: -9000px;
      background: transparent;
      background-position: 50% 50%;
      background-repeat: no-repeat;
    }

.lightbox .lightbox-main button.previous {
        background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2221%22%20height%3D%2232%22%20viewBox%3D%220%200%2021%2032%22%3E%3Cpath%20d%3D%22m10.853%2026.29.332-.33a.563.563%200%200%200%200-.796l-8.367-8.367h17.62c.31%200%20.562-.252.562-.563v-.468a.563.563%200%200%200-.563-.563H2.817l8.368-8.367a.563.563%200%200%200%200-.795l-.332-.332a.563.563%200%200%200-.795%200L.165%2015.602a.563.563%200%200%200%200%20.796l9.893%209.893c.22.22.576.22.795%200z%22%2F%3E%3C%2Fsvg%3E');
      }

.lightbox .lightbox-main button.next {
        background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2221%22%20height%3D%2232%22%20viewBox%3D%220%200%2021%2032%22%3E%3Cpath%20d%3D%22m10.942%2026.29%209.893-9.892a.563.563%200%200%200%200-.796L10.942%205.71a.56.56%200%200%200-.795%200l-.332.332a.563.563%200%200%200%200%20.795l8.367%208.367H.562a.563.563%200%200%200-.562.563v.468c0%20.311.252.563.562.563h17.62l-8.367%208.367a.563.563%200%200%200%200%20.795l.332.332c.22.22.576.22.795%200z%22%2F%3E%3C%2Fsvg%3E');
      }

@media screen and (max-width: 900px) {

.lightbox .lightbox-main button {
        grid-column: 1 / span 12;
        grid-column: 1 / span var(--columns);
        margin: 1.5rem 0px;
        margin: var(--spacing-3) 0px;
    }
        .lightbox .lightbox-main button:first-child {
    margin-top: 0px;
  }
        .lightbox .lightbox-main button:last-child {
    margin-bottom: 0px;
  }
      }

.lightbox .lightbox-main .image {
      grid-column: 2 / span 10;

      position: relative;
    }

@media screen and (max-width: 900px) {

.lightbox .lightbox-main .image {
        grid-column: 1 / span 12;
        grid-column: 1 / span var(--columns);
        min-height: 60vh;
    }
      }

.lightbox .lightbox-main .image.loading {
        opacity: 0.5;
      }

.lightbox .lightbox-main .image.loaded {
        animation-name: lightbox-appear;
        animation-duration: 200ms;
        animation-timing-function: ease-out;
      }

.lightbox .lightbox-main .image iframe {
        width: 100%;
        height: 100%;
      }

.lightbox .lightbox-main .image .image-container {
        position: absolute;
        width: 100%;
        height: 100%;
      }

.lightbox .lightbox-main .image .image-container img {
          width: 100%;
          height: 100%;
          -o-object-fit: scale-down;
             object-fit: scale-down;
          image-rendering: -webkit-optimize-contrast;
        }

@media screen and (max-width: 900px) {

.lightbox .lightbox-main .image .image-container img {
            -o-object-position: center;
               object-position: center;
            image-rendering: auto;
        }
          }

.lightbox .lightbox-footer {
    border-top: 1px solid #e0e0e0;
    border-top: 1px solid var(--border-color);
    padding-top: 1rem;
    padding-top: var(--spacing-2);
    margin-top: 2.5rem;
    margin-top: var(--spacing-5);
  }

@media screen and (max-width: 900px) {

.lightbox .lightbox-footer {
      margin-top: 1.5rem;
      margin-top: var(--spacing-3);
  }
    }

@keyframes lightbox-appear {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

.modal-wrapper,
.modal-background {
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  max-height: 100vh;
}

.modal-wrapper {
  position: fixed;
  z-index: 200;
  display: flex;
}

.modal-background {
  background: #ffffff;
  background: var(--background-color);
  position: absolute;
  z-index: 201;
}

.modal-content {
  position: relative;
  z-index: 202;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.modal-content header .inner {
      padding-bottom: 1rem;
      padding-bottom: var(--spacing-2);
      border-bottom: 1px solid #e0e0e0;
      border-bottom: 1px solid var(--border-color);
    }

.modal-content main {
    padding-top: 2.5rem;
    padding-top: var(--spacing-5);
    padding-bottom: 2.5rem;
    padding-bottom: var(--spacing-5);
  }

@media screen and (max-width: 900px) {

.modal-content main {
      padding-top: 1rem;
      padding-top: var(--spacing-2);
      padding-bottom: 1rem;
      padding-bottom: var(--spacing-2);
  }
    }

.modal-content main,.modal-content main .inner {
      display: flex;
      flex-direction: column;
    }

.modal-content main .inner {
      width: 100%;
      flex: 1;
    }

nav ul {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
  }

nav a {
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: opacity 300ms cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0.53;
  }

nav a.current,nav a:hover,nav a:focus {
      opacity: 1;
    }

nav a.external {
      background: transparent url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2230%22%20viewBox%3D%220%200%2015%2030%22%3E%3Cpath%20d%3D%22M4.776%2019.126c.08%200%20.192-.047.249-.104l8.17-8.17.06.06-.08%202.158v.008c0%20.207.15.38.346.415l.076.007h.976a.42.42%200%200%200%20.422-.422L15%208.297a.42.42%200%200%200-.422-.422l-4.781.005a.42.42%200%200%200-.422.422v.976c0%20.233.189.422.422.422h.008l2.157-.08.06.06-8.169%208.17a.4.4%200%200%200-.103.25c0%20.08.046.191.103.248l.674.674a.4.4%200%200%200%20.249.104m6.943%203.749c.776%200%201.406-.63%201.406-1.406V16.78a.47.47%200%200%200-.469-.468h-.469a.47.47%200%200%200-.468.468v4.512a.176.176%200%200%201-.176.176H1.582a.176.176%200%200%201-.176-.176v-9.96c0-.098.079-.177.176-.177h4.512c.258%200%20.468-.21.468-.468v-.47a.47.47%200%200%200-.468-.468H1.406A1.41%201.41%200%200%200%200%2011.156V21.47c0%20.776.63%201.406%201.406%201.406H11.72z%22%2F%3E%3C%2Fsvg%3E') top 50% right
        0px no-repeat;
      padding-right: 23px;
    }

.inverted nav a.external {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2230%22%20viewBox%3D%220%200%2015%2030%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M4.776%2019.126c.08%200%20.192-.047.249-.104l8.17-8.17.06.06-.08%202.158v.008c0%20.207.15.38.346.415l.076.007h.976a.42.42%200%200%200%20.422-.422L15%208.297a.42.42%200%200%200-.422-.422l-4.781.005a.42.42%200%200%200-.422.422v.976c0%20.233.189.422.422.422h.008l2.157-.08.06.06-8.169%208.17a.4.4%200%200%200-.103.25c0%20.08.046.191.103.248l.674.674a.4.4%200%200%200%20.249.104m6.943%203.749c.776%200%201.406-.63%201.406-1.406V16.78a.47.47%200%200%200-.469-.468h-.469a.47.47%200%200%200-.468.468v4.512a.176.176%200%200%201-.176.176H1.582a.176.176%200%200%201-.176-.176v-9.96c0-.098.079-.177.176-.177h4.512c.258%200%20.468-.21.468-.468v-.47a.47.47%200%200%200-.468-.468H1.406A1.41%201.41%200%200%200%200%2011.156V21.47c0%20.776.63%201.406%201.406%201.406H11.72z%22%2F%3E%3C%2Fsvg%3E');
}

.page {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-columns: repeat(var(--columns), 1fr);
  grid-column-gap: 1.666667vw;
  grid-column-gap: var(--gutter);
}

.page  > h2 {
    grid-column: 1 / span 12;
    grid-column: 1 / span var(--columns);
  }

.page .body {
    grid-column: 5 / span 6;
  }

@media screen and (max-width: 900px) {

.page .body {
      grid-column: 1 / span 12;
      grid-column: 1 / span var(--columns);
  }
    }

.page.info .columns {
      grid-column: 1 / span 12;
      grid-column: 1 / span var(--columns);
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-template-columns: repeat(var(--columns), 1fr);
      grid-column-gap: 1.666667vw;
      grid-column-gap: var(--gutter);
    }

.page.info .columns .sidebar-nav,.page.info .columns .sidebar {
        grid-column: 1 / span 4;
      }

@media screen and (max-width: 900px) {

.page.info .columns .sidebar-nav,.page.info .columns .sidebar {
          grid-column: 1 / span 12;
          grid-column: 1 / span var(--columns);
      }
        }

.page.info .columns .content {
        grid-column: 5 / span 6;
      }

@media screen and (max-width: 900px) {

.page.info .columns .content {
          margin-top: 2.5rem;
          margin-top: var(--spacing-5);
          grid-column: 1 / span 12;
          grid-column: 1 / span var(--columns);
      }
          .page.info .columns .content:first-child {
    margin-top: 0px;
  }
          .page.info .columns .content:last-child {
    margin-bottom: 0px;
  }
        }

.page.info .body,.page.info .columns,.page.info .images {
      margin: 5rem 0px;
      margin: var(--spacing-10) 0px;
    }

.page.info .body:first-child {
    margin-top: 0px;
  }

.page.info .columns:first-child {
    margin-top: 0px;
  }

.page.info .images:first-child {
    margin-top: 0px;
  }

.page.info .body:last-child {
    margin-bottom: 0px;
  }

.page.info .columns:last-child {
    margin-bottom: 0px;
  }

.page.info .images:last-child {
    margin-bottom: 0px;
  }

@media screen and (max-width: 900px) {

.page.info .body,.page.info .columns,.page.info .images {
        margin: 2.5rem 0px;
        margin: var(--spacing-5) 0px;
    }
        .page.info .body:first-child {
    margin-top: 0px;
  }
        .page.info .columns:first-child {
    margin-top: 0px;
  }
        .page.info .images:first-child {
    margin-top: 0px;
  }
        .page.info .body:last-child {
    margin-bottom: 0px;
  }
        .page.info .columns:last-child {
    margin-bottom: 0px;
  }
        .page.info .images:last-child {
    margin-bottom: 0px;
  }
      }

.page.info .body {
      width: 100%;
      margin-left: 0px;
    }

.page.info .locations {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      grid-column-gap: 1.666667vw;
      grid-column-gap: var(--gutter);
    }

@media screen and (max-width: 900px) {

.page.info .locations {
        grid-template-columns: repeat(12, 1fr);
        grid-template-columns: repeat(var(--columns), 1fr);
    }
      }

.page.info .locations .location {
        grid-column: span 3;
      }

@media screen and (max-width: 900px) {

.page.info .locations .location {
          margin-bottom: 2.5rem;
          margin-bottom: var(--spacing-5);
          grid-column: 1 / span 12;
          grid-column: 1 / span var(--columns);
      }
          .page.info .locations .location:first-child {
    margin-top: 0px;
  }
          .page.info .locations .location:last-child {
    margin-bottom: 0px;
  }
        }

.page.info .images {
      grid-column: 1 / span 12;
      grid-column: 1 / span var(--columns);
    }

.page.info .images figure {
        margin: 2.5rem 0px;
        margin: var(--spacing-5) 0px;
      }

.page.info .images figure:first-child {
    margin-top: 0px;
  }

.page.info .images figure:last-child {
    margin-bottom: 0px;
  }

.page.info .images img {
        width: 100%;
        height: auto;
      }

.partner-logos {
  margin: 2.5rem 0px 1rem 0px;
  margin: var(--spacing-5) 0px var(--spacing-2) 0px;
}

.partner-logos:first-child {
    margin-top: 0px;
  }

.partner-logos:last-child {
    margin-bottom: 0px;
  }

.partner-logos {
  display: flex;
  flex-wrap: wrap;
}

.partner-logos .image {
    height: 44px;
    margin-right: 1.666667vw;
    margin-right: var(--gutter);
    margin-bottom: 0.5rem;
    margin-bottom: var(--spacing-1);
  }

.partner-logos .image img {
      width: auto;
      height: 100%;
    }

.posters {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  z-index: 1;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.posters .slide {
    position: absolute;
    width: 100%;
    height: 100%;
  }

.posters .slide img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
    }

.posters .slide.previous {
      z-index: 1;
    }

.posters .slide.current {
      visibility: hidden;
      z-index: 2;
    }

.posters .slide.current.loaded {
        visibility: visible;
        animation-name: lightbox-appear;
        animation-duration: 1000ms;
        animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
      }

.posters .slide.next {
      opacity: 0;
      z-index: 3;
    }

.posters .content {
    display: flex;
    position: relative;
    z-index: 4;
    padding-left: 1.666667vw;
    padding-left: var(--outer-padding);
    padding-right: 1.666667vw;
    padding-right: var(--outer-padding);
  }

.posters .content > .inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    max-width: var(--grid-limit, 100%);
  }

.posters .inner {
    padding-top: 10rem;
    padding-top: var(--spacing-20);
    padding-bottom: 8rem;
    padding-bottom: var(--spacing-16);
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }

@media screen and (max-width: 900px) {

.posters .inner {
      padding-top: 5rem;
      padding-top: var(--spacing-10);
      padding-bottom: 4rem;
      padding-bottom: var(--spacing-8);
  }
    }

.posters.align-middle .inner {
    align-items: center;
  }

.posters.align-bottom .inner {
    align-items: flex-end;
  }

.posters .text {
  }

@keyframes poster-appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.works-grid .works {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-columns: repeat(var(--columns), 1fr);
    grid-column-gap: 1.666667vw;
    grid-column-gap: var(--gutter);
  }

.works-grid .work {
    -webkit-text-decoration: none;
    text-decoration: none;
    grid-column: span 3;
    margin-bottom: 5rem;
    margin-bottom: var(--spacing-10);
  }

@media screen and (max-width: 900px) {

.works-grid .work {
      grid-column: span 2;
      margin-bottom: 2.5rem;
      margin-bottom: var(--spacing-5);
  }
    }

.works-grid .work:hover .work-title,.works-grid .work:focus .work-title {
        -webkit-text-decoration: underline;
        text-decoration: underline;
      }

.works-grid .work .image {
      position: relative;
      padding-bottom: 92.4242424242424%;
      margin-bottom: 1.5rem;
      margin-bottom: var(--spacing-3);
    }

.works-grid .work .image img {
        position: absolute;
        -o-object-fit: contain;
           object-fit: contain;
        width: 100%;
        height: 100%;
      }

.works-grid .work .info {
      border-top: 1px solid #e0e0e0;
      border-top: 1px solid var(--border-color);
      padding-top: 0.5rem;
      padding-top: var(--spacing-1);
    }

.works-grid .buttons {
    text-align: center;
  }
