@font-face {
  font-family: "Univers";
  src: url("../fonts/UniversLTStd.otf");
       /*url("../fonts/NouvelleAntiqueHaas-Medium.woff") format("woff");*/
}

html, body {
  margin: 0;
  padding: 0;
  font-family: "Univers", Helvetica, Arial, sans-serif;
  font-size: 1.1em;
  line-height: 1.2em;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

strong, b {
  font-weight: normal;
}

* {
  box-sizing: border-box;
}

a {
  color: black;
  text-decoration: none;
}

img::selection,
iframe::selection {
  background: none;
}

img.lazy {
  opacity: 0;
}

img:not(.initial) {
  transition: opacity 500ms;
}

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

img:not([src]) {
  visibility: hidden;
}

/* navigation */

h1, h2, h3, h4, h5 { 
  font-size: inherit;
  font-weight: normal;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

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

.navigation {
  position: fixed;
  top: 0;
  left: 0;
  padding-top: 34px;
  padding-left: 40px;
  z-index: 100;
}

.nav-pages {
  display: inline-block;
  cursor: pointer;
}

.nav-pages li {
  display: inline-block;
}

.nav-pages li::after {
  content: ', ';
  cursor: pointer;
}

.nav-pages li:last-child::after {
  content: '';
}

.nav-pages li,
.sub-nav-pages li,
.projects-pages.highlight li,
.interviews-pages li,
.text-close, .text-open {
  transition: opacity 300ms
}

.nav-pages:hover li,
.sub-nav-pages:hover li,
.projects-pages.highlight li {
  opacity: 0.3;
}

.projects-pages li.active,
.interviews-pages li.active {
  opacity: 1;
}

.nav-pages li:hover,
.sub-nav-pages li:hover {
  opacity: 1;
}

.sub-nav-pages {
  cursor: pointer;
  height: 0;
}

.projects-pages,
.interviews-pages {
  padding-top: 1.2em;
  opacity: 0;
  pointer-events: none;
  transition: opacity 300ms;
}

.projects-pages.show,
.interviews-pages.show {
  opacity: 1;
  pointer-events: auto;
}




/* project */

h2 {
  position: fixed;
  top: calc(34px + 1.2em);
  display: inline-block;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

h2.project-text {
  left: unset;
  transform: unset;
  right: 0;
  padding-right: 40px;
}

h2.project-text .text-close,
h2.project-text .text-open.hide {
  display: none;
}

h2.project-text .text-close.show {
  display: block;
}

.text-overlay-wrapper {
  transition: opacity 300ms;
  background-color: white;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: calc(34px + (1.2em * 3)) calc(390px / 2);
  z-index: 1;
  overflow: auto;
}

.text-overlay-wrapper.show {
  opacity: 1;
  pointer-events: all;
}

.slideshow {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  flex-wrap: nowrap;
}

.slideshow.hover-left:hover {
  cursor: url('../images/arrow-left.svg') 25 20, url('../images/arrow-left.png') 25 20, auto;
}

.slideshow.hover-right:hover {
  cursor: url('../images/arrow-right.svg') 25 20, url('../images/arrow-right.png') 25 20, auto;
}

.image,
.slide .video {
  position: absolute;
  height: 100%;
  top: 0;
  transition: opacity 500ms;
  pointer-events: none;
  overflow: hidden;
}

.slide.active .video, .home .slide .video {
  pointer-events: all;
}

.video iframe {
  z-index: 1;
  border: 0 !important;
}

.slideshow .slide .image,
.slideshow .slide .video {
    opacity: 0;
}

.slideshow .slide.active .image,
.slideshow .slide.active .video {
    opacity: 1;
}

.image.center,
.slide .video.center {
  width: 100vw;
  left: 0;
}

.image.left, .image.right,
.slide .video.left, .slide .video.right {
  width: 50vw;
}

.image.left,
.slide .video.left  {
  left: 0;
}

.image.right,
.slide .video.right {
  right: 0;
}

.active {
  opacity: 1;
}

.image img,
.slide .video iframe {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: 100%;
}

.slide .video iframe {
  height: calc((100vw - 60px) * 3 / 5);
}

.image.small img,
.image.medium img,
.slide .video.small iframe,
.slide .video.medium iframe {
  object-fit: contain;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.image.small,
.slide .video.small  {
  padding: 180px 120px 120px 120px;
}

.image.small.left,
.slide .video.small.left {
  padding-right: 60px;
}

.image.small.right,
.slide .video.small.right {
  padding-left: 60px;
}

.image.medium {
  padding: 100px 40px 40px 40px;
}

.slide .video.medium {
  padding: 100px 80px 80px 80px;
}

.image.medium.left {
  padding-right: 20px;
}

.slide .video.medium.left {
  padding-right: 40px;
}

.image.medium.right {
  padding-left: 20px;
}

.slide .video.medium.right {
  padding-left: 40px;
}

.image.large img {
  object-fit: cover;
}

.image.diptych.large.portrait img {
  width: auto;
  height: 100%;
}

.image.diptych.large.right.portrait img {
  float: right;
}

.image.diptych.large.left.portrait img {
  float: left;
}

/* journal */

.date {
  margin-top: 10px;
}

.imagefeed {
  margin-top: calc(34px + (1.2em * 3));
  padding-bottom: 40px;
}

.imagefeed .caption {
  padding-top: 10px;
}

.imagefeed .image {
  position: static;
}

.imagefeed .image.small {
  padding: 40px;
  width: 30vw;
}

.imagefeed .image.medium {
  padding: 40px;
  width: 50vw;
}

.imagefeed .image.large {
  padding: 40px;
  width: 80vw;
}

.imagefeed .image.small,
.imagefeed .image.medium,
.imagefeed .image.large {
  padding-bottom: 200px;
}

.imagefeed .image.left {
  float: left;
}

.imagefeed .image.right {
  float: right;
}

.imagefeed .image.center {
  margin: 0 auto;
}

.imagefeed .image {
  clear: both;
}

.imagefeed .image.small img,
.imagefeed .image.medium img,
.imagefeed .image.large img {
  object-fit: contain;
  position: relative;
  top: 0;
  transform: translateY(0);
}

/* index */

h3 {
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 20px;
}

.index-wrapper {
  margin-top: calc(34px + 1.2em)
}

.index-container {
  padding: 0 40px 30px 40px;
}

.index-image-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 -8px;
}

.index-image-container a {
  font-size: 0;
  line-height: 0;
  padding: 0;
}

.index-image-container img {
  height: 120px;
  padding: 8px;
}

.index-container {
  transition: opacity 300ms;
}

.index-wrapper:hover .index-container {
  opacity: 0.3;

}
.index-wrapper .index-container:hover {
  opacity: 1;
}

.index-image-container .image-title {
  display: none;
}

/* info */

.info-container {
  margin-top: calc(34px + (1.2em * 3));
  margin-left: 310px;
  padding: 0 40px 40px 40px;
}

.info h2 {
  position: static;
  margin-top: 1.2em;
  margin-bottom: 0;
  display: block;
  transform: translateX(0);
}

.info-container p {
  margin: 0;
  text-indent: -63px;
  padding-left: 125px;
}

.info-container ul {
  line-height: 1.45em;
}

.info-container ul li,
.info-container ul li,
.info-container ul li a,
.text-overlay-wrapper div,
.project-title {
  transition: opacity 300ms;  
}

.info-container ul.grayout li,
.nav-pages.grayout li, .project-title.grayout, .text-overlay-wrapper.grayout div {
  opacity: 0.3;
}

.info-container ul li:hover,
.info-container ul.grayout li:hover {
  opacity: 1 !important;
}

/* interview */

.interview-text {
  padding-bottom: 40px;
  margin-top: calc(34px + (1.2em * 3));
}

.interview-text .text {
  width: 60vw;
  margin: 0 auto;
}

.interview-text .image {
  position: static;
  display: block;
  overflow: visible;
}

.interview-text .image {
  padding: 10px 0;
}

.interview-text .image .caption {
  padding-top: 10px;
  opacity: 0.3;
  transition: opacity 300ms;
  margin: 0 auto;
}

.interview-text img {
  display: block;
  margin: 0 auto;
  position: relative;
}

.interview-text .image.small img, 
.interview-text .image.medium img {
    position: relative;
    top: 0;
    transform: translateY(0);
}

.interview-text .small img,
.interview-text .small .caption {
  width: 30vw;
}

.interview-text .medium img,
.interview-text .medium .caption {
  width: 50vw;
}

.interview-text .large img,
.interview-text .large .caption {
  width: 80vw;
}

/* grayout */

.grayout-container {
  transition: opacity 300ms;
}

body.grayout .grayout-container {
  opacity: 0.3;
}

/* mobile */

@media only screen and (max-width: 800px) {
  
  html, body {
    font-size: 1.1em;
  }
  
  .cursor {
    display: none !important;
  }

  .slideshow {
    cursor: pointer !important;
  }

  .nav-pages li.index {
    display: none;
  }

  .navigation {
    padding-top: 24px;
    padding-left: 30px;
  }

  .image.left, .image.right, .slide .video.left, .slide .video.right {
    width:  100%;
  }

  .image.medium.right, .slide .video.medium.right {
    padding-left: 30px;
  }

  .image.small.right, .slide .video.small.right {
    padding-left: 30px;
  }

  .image.small.left, .slide .video.small.left {
    padding-right: 30px;
  }

  .image.medium.left, .slide .video.medium.left {
    padding-right: 30px;
  }

  .image.medium, .slide .video.medium {
    padding: 30px;
  }

  .image.small, .slide .video.small {
    padding: 30px;
  }

  .image.large img, .video.large video {
    object-fit: contain;
    padding: 30px;
  }

  .image.diptych.large.portrait img {
    width: 100%;
  }

  .image.diptych.large.right.portrait img {
    float: unset;
  }

  .image.diptych.large.left.portrait img {
    float: unset;
  }
 
  .navigation, h2 {
    -webkit-filter: invert(0%) !important;
    filter: invert(0%) !important;
  }

  .journal .navigation, .journal h2 {
    -webkit-filter: invert(100%) !important;
    filter: invert(100%) !important; 
  }

  h2 {
    top: auto;
    bottom: 24px;
    width: 100%;
    padding: 0 30px;
    text-align: center;
  }

  h2.project-text {
    top: 0;
    padding-top: 24px;
    left: unset;
    transform: unset;
    right: 0;
    padding-right: 40px;
    width: unset;
    bottom: unset;
  }

  .text-overlay-wrapper {
    padding: calc(24px + (1.2em * 3)) 30px;
  }


  h2.interview-title {
    position: static;
    left:  0;
    bottom:  auto;
    width: 100%;
    padding: 0 30px;
    text-align: center;
    transform: none;
    margin-top: calc(24px + (1.2em * 3));
  }

  .interview-text {
    padding-bottom: 40px;
    margin-top: calc(34px);
  }

  .interview-text .text {
    width: 100%;
    padding:  0 30px 30px 30px;
  }

  .interview-text .small img, .interview-text .small .caption {
    width: 40vw;
  }
  .featured.slides, 
  .project-title, .slideshow, 
  .interview-title, .interview-text,
  .info-container,
  .imagefeed {
    transition: opacity 300ms;
  }
  .featured.slides.fade-out, 
  .project-title.fade-out, .slideshow.fade-out,
  .interview-title.fade-out, .interview-text.fade-out,
  .info-container.fade-out,
  .imagefeed.fade-out {
    opacity: 0;
  }

  .info-container {
    margin-top: calc(24px + (1.2em * 3));
    margin-left: 0px;
    padding: 0 30px 30px 30px;
  }
  .info-container h2 {
    text-align: left;
    padding:  0;
  }
  .info-container p {
    margin: 0;
    text-indent: -62px;
    padding-left: 62px;
  }

  .imagefeed .image.large,
  .imagefeed .image.medium,
  .imagefeed .image.small {
    padding: 30px;
    width: 100%;
  }
  .imagefeed .image.large img {
    padding: 0; 
  }

}


