/* Webfont: Swiss721B Automated Photography*/

@font-face {
  font-family: 'Auto';
  src: url('Type/SwissBT_Auto.eot'); /* IE9 Compat Modes */
  src: url('Type/SwissBT_Auto.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
     url('Type/Swiss721BTitle.woff') format('woff'), /* Modern Browsers */
     url('Type/Swiss721BTitle.ttf') format('truetype'); /* Safari, Android, iOS */
       font-style: normal;
  font-weight: bold;
  text-rendering: optimizeLegibility;
}

@font-face {
  font-family: 'Magister Neretta';
  src: url('Type/Magister-NerettaTrial.eot');
  src: url('Type/Magister-NerettaTrial.eot?#iefix') format('embedded-opentype'),
    url('Type/Magister-NerettaTrial.woff') format('woff'),
    url('Type/Magister-NerettaTrial.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Magister Corsiva Trial';
  src: url('Type/Magister-CorsivaTrial.eot');
  src: url('Type/Magister-CorsivaTrial.eot?#iefix') format('embedded-opentype'),
    url('Type/Magister-CorsivaTrial.woff') format('woff'),
    url('Type/Magister-CorsivaTrial.ttf') format('truetype');
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: 'Monospace 821';
  src: url('Type/Monospace821BT-Roman.eot');
  src: url('Type/Monospace821BT-Roman.eot?#iefix') format('embedded-opentype'),
    url('Type/Monospace821BT-Roman.woff') format('woff'),
    url('Type/Monospace821BT-Roman.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Swiss721BT-Italic';
  src: url('Type/Swiss721BT-Italic/font.woff2') format('woff2'), 
    url('Type/Swiss721BT-Italic/font.woff') format('woff');
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: 'Swiss721BT-Regular';
  src: url('Type/Swiss721BT-Regular/font.woff2') format('woff2'), 
    url('Type/Swiss721BT-Regular/font.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

/* Styles All */

:root {
  --grid-w: calc(100vw / 10);
  --grid-h: calc(100vh / 6);
  --percent-grid-w: calc(100% / 6);
  --grey: #afafaf;
  --highlight: #afafaf;
  --base-margin: 10px;
}

body {
  width: 100%;
  margin: 0px;
  font-family: Arial, Helvetica, sans-serif;
}

p {
  display: block;
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}

a {
  color: inherit;
  text-decoration: none;
  outline: none;
  border: none;
}

p > a[href] {
  text-decoration: underline;
}

#note p > a {
  text-decoration: none;
}

p > a:hover {
  text-decoration: none;
  background-color:var(--grey);
}

/* GLOBAL CLASSES */

.dark {
  background-color: black;
}

.hidden {
  display: none !important;
}

.desktop-hidden {
  display: none;
}

.collapse {
  height: 0 !important;
}

.hover {
  background-color: black !important;
  color: white !important;
}

.highlight {
  background-color: var(--grey) !important;
  color: black;
}

.uppercase {
  text-transform: uppercase;
}

.glitch-black,
.glitch-white {
  position: relative;
  color: transparent;
}

.glitch-black:after,
.glitch-white:after {
  content: '';
  display: block;
  position: absolute;
  top: 39%;
  left: 50%;
  width: 0.73em;
  height: 0.73em;
  transform: translate(-50%, -50%);
}

.glitch-black:after {
  background-color: black;
}

.glitch-white:after {
  background-color: white;
}

.no-scroll {
  overflow: hidden;
}

/* BACKGROUND */

#background {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background:
    linear-gradient(-90deg, rgba(0, 0, 0, 0.00) 1px, transparent 1px),/*rgba(0,0,0,.04)*/
    linear-gradient(rgba(0, 0, 0, 0.00) 1px, transparent 1px),
    linear-gradient(transparent 4.25px, white 4.25px, white calc(var(--grid-h) - 3.5px), transparent calc(var(--grid-h) - 3.5px)),
    linear-gradient(-90deg, var(--grey) 0.5px, transparent 0.5px),
    linear-gradient(-90deg, transparent 4.25px, white  4.25px, white  calc(100% - 3.5px), transparent calc(100% - 3.5px)),
    linear-gradient(var(--grey) 0.5px, transparent 0.5px),
    white ;
  background-size:
    var(--grid-w) var(--grid-h),
    var(--grid-w) var(--grid-h),
    var(--grid-w) var(--grid-h),
    var(--grid-w) var(--grid-h),
    var(--grid-w) var(--grid-h),
    var(--grid-w) var(--grid-h);
}

/* LANDING PAGE */

.landing-page {
  font-family: 'Auto', Arial, Helvetica, sans-serif;
  font-size: 4.5vh;
  z-index: 1000000000000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--grey);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  cursor: pointer;
}

.logo {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  max-width: calc(100% - 1em);
}

.logo--center {
  justify-content: center;
}

.logo__word {
  margin-right: 0.3em;
}

.logo__word:last-child {
  margin-right: 0;
}

.sponsors {
  max-width: 130px;
  padding: 2vh 0 12vh 0;
}

.sponsors--one {
  max-width: 130px;
  padding-bottom: 2vh;
}

/* MODULES */

.menu {
  position: fixed;
  font-family: 'Auto', Arial, Helvetica, sans-serif;
  padding: calc(0.5 * var(--base-margin)) var(--base-margin);
  font-size: 4.5vh;
  z-index: 300;
  cursor: pointer;
  user-select: none;
  width: 100%;
  justify-content: space-between;
  box-sizing: border-box;
  color: black;
}

.menu--about {
  background-color: black;
}

.menu--highlight {
  background-color: var(--grey);
  color: black;
}

.dark .menu__cross {
  color: white;
}

.menu,
.menu__section,
.menu__logo,
.menu__logo-expanded {
  display: flex;
  width: 100%;
}

.menu__mobile {
  visibility: hidden;
  width: 1.1em;
  height: 1em;
  position: fixed;
  margin-top: -0.1em;
  top: 0;
  right: 0;
  z-index: 3000;
}

.menu--animated {
  animation-name: logo;
  animation-iteration-count: infinite;
  animation-duration: 2s;
}

.dark .menu--animated {
  animation-name: logo-dark;
}

.menu--animated:nth-child(2) {
  animation-delay: 1s;
}

@keyframes logo {
  0% {
    color: black;
  }

  49.999% {
    color: black;
  }

  50% {
    color: var(--grey);
  }

  100% {
    color: var(--grey);
  }
}

@keyframes logo-dark {
  0% {
    color: white;
  }

  49.999% {
    color: white;
  }

  50% {
    color: var(--grey);
  }

  100% {
    color: var(--grey);
  }
}

.menu__logo--inverted {
  color: white;
  /* background-color: black;
  width: 100vw; */
}

.menu__cross {
  width: 1em;
  height: 1em;
  display: block;
  position: fixed;
  right: 0;
}

.menu__modes {
  display: none;
}

/* .menu__modes span {
  padding-left: var(--base-margin);
} */

.filters {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  /* height: 10%; */
  background-color: var(--grey);
  z-index: 200;
  /* padding-top: calc(var(--grid-h)); */
  /* transition: transform 0.3s ease-in-out; */
}

.filters ul {
  width: 100vw;
  display: flex;
}

.filters .list__item {
  user-select: none;
  width: calc(100% / 8);
  height: 3.3vh;
  font-size: 1.3vh;
  text-indent: 0.3vh;
  font-family: 'Monospace 821', Arial, Helvetica, sans-serif;
  text-transform: uppercase;
}

.filters--hidden {
  transform: translate3d(0, 0, 0);
  }

.gallery {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  z-index: 200;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  user-select: none;
}

.gallery img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gallery__image-container {
  position: relative;
  width: min-content;
}

.gallery__image-description {
  background-color: black;
  display: block;
  width: 100%;
  color: white;
  font-family: 'Monospace 821', Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  padding: 0.2em 0.2em 0 0.2em;
  box-sizing: border-box;
}

.gallery__video-container {
  position: relative;
}

.gallery__video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  height: 100%;
}

.gallery__pagination {
  padding: calc(0.5 * var(--base-margin)) var(--base-margin);
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  font-size: 4.5vh;
  font-family: 'Auto', Arial, Helvetica, sans-serif;
}

.gallery__pagination-item {
  display: flex;
  cursor: pointer;
}

.gallery__pagination-item + .gallery__pagination-item {
  padding-left: var(--base-margin);
}

.gallery__pagination-item span {
  margin-bottom: -0.3em;
}

.gallery__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.gallery__background-line {
  position: absolute;
  background-color: black;
}

.gallery__background-line:nth-child(1),
.gallery__background-line:nth-child(2) {
  width: 50px;
  height: 0;
  border-bottom: solid 2px black;
}

.gallery__background-line:nth-child(1) {
  top: 50%;
  left: 0;
}

.gallery__background-line:nth-child(2) {
  top: 50%;
  right: 0;
}

.gallery__background-line:nth-child(3),
.gallery__background-line:nth-child(4) {
  width: 0;
  height: 50px;
  border-left: solid 2px black;
}

.gallery__background-line:nth-child(3) {
  top: 0;
  left: 50%;
}

.gallery__background-line:nth-child(4) {
  bottom: 0;
  left: 50%;
}

.intro {
  line-height: 1.05;
  text-transform: unset;
  font-family: 'Swiss721BT-Regular', Arial, Helvetica, sans-serif;
  padding-left: var(--base-margin);
  overflow: hidden;
  transition: height 1s ease-in-out;
  padding-bottom: var(--grid-h);
}

.intro p:nth-child(2) {
  cursor: pointer;
  padding: 1em 0;
  display: flex;
}

.intro p:nth-child(2):before {
  content: '';
  width: 0.8em;
  height: 0.8em;
  margin-right: 0.5em;
  display: block;
  border: solid;
}

.intro p:nth-child(2):hover:before {
  background-color: black;
}

.list.projects {
  padding-bottom: 3.3vh;
}

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

.list__item {
  padding: 0;
  margin: 0;
  text-indent: 0;
  font-family: 'Auto', Arial, Helvetica, sans-serif;
  font-size: 4.5vh;
  text-transform: uppercase;
  overflow: hidden;
  cursor: pointer;
}

.list__item--highlight {
  background-color: var(--highlight) !important;
}

.list__item > span {
  display: block;
  color: inherit;
  margin-left: var(--base-margin);
  margin-top: 0.1em;
  margin-bottom: -0.1em;
  margin-left: 0.1em;
}

.filters .list__item > span {
  height: 100%;
}

.filters .list__item > span a {
  display: block;
  height: 100%;
}

.wrapper {
  width: 100%;
  min-height: 100vh;
  position: relative;
  z-index: 100;
}

.header {
  height: var(--grid-h);
  padding-top: var(--base-margin);
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  position: sticky;
  position: -webkit-sticky;
  top: 0;
}

.header--project {
  margin-bottom: var(--grid-h);

  background:
    linear-gradient(-90deg, rgba(0, 0, 0, 0.00) 1px, transparent 1px),/*rgba(0,0,0,.04)*/
    linear-gradient(rgba(0, 0, 0, 0.00) 1px, transparent 1px),
    linear-gradient(transparent 4.25px, white 4.25px, white calc(var(--grid-h) - 3.5px), transparent calc(var(--grid-h) - 3.5px)),
    linear-gradient(-90deg, grey 0.5px, transparent 0.5px),
    linear-gradient(-90deg, transparent 4.25px, white  4.25px, white  calc(var(--grid-w) - 3.5px), transparent calc(var(--grid-w) - 3.5px)),
    linear-gradient(grey 0.5px, transparent 0.5px),
    white ;
  background-size:
    var(--grid-w) var(--grid-h),
    var(--grid-w) var(--grid-h),
    var(--grid-w) var(--grid-h),
    var(--grid-w) var(--grid-h),
    var(--grid-w) var(--grid-h),
    var(--grid-w) var(--grid-h);
}

.header span {
  align-self: flex-start;
  display: inline-block;
  background-color: black;
  color: white;
  box-sizing: border-box;
  line-height: 1.38em;
  height: 1.1em;
}

.header .header__title {
  font-family: Auto, Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  font-size: 4.5vh;
  margin: 0;
  padding-left: 10px;
  max-width: calc(100% - 1.5em);
  height: 100%;
  overflow: hidden;
}

.header__infos {
  display: flex;
  font-size: 1.3vh;
  text-indent: 0.3vh;
  font-family: 'Monospace 821', Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  width: 100%;
}

.header--project {
  opacity: 1 !important;
}

.header--project .header__infos {
  position: absolute;
  bottom: 0;
  transform: translate(0, 100%);
}

.header .header__information {
  width: calc(2 * var(--grid-w));
}

.header .header__date {
  margin-left: var(--grid-w);
  width: var(--grid-w);
}

.header .header__information::after,
.header .header__date::after {
  opacity: 0;
}

.columns {
  display: flex;
  font-family: 'Auto', Arial, Helvetica, sans-serif;
  font-size: 4.5vh;
}

.column {
  width: 50%;
  position: relative;
}

.column--static {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}

.column:first-child {
  flex: 0 0 auto;
}

/* IMAGES */

.images {
  position: relative;
  height: 100%;
}

.images--clickable {
  cursor: pointer;
}

.images__item {
  position: absolute;
}

.images__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.images__description {
  font-size: 1.3vh;
  font-family: 'Monospace 821', Arial, Helvetica, sans-serif;
  position: absolute;
  text-transform: uppercase;
  padding-left: 0.2em;
  bottom: 0;
  background-color: black;
  width: 100%;
  color: white;
  line-height: 1em;
  padding-top: 0.2em;
}

/* Styles Projects */

.project {
  font-family: 'Magister Neretta', Arial, Helvetica, sans-serif;
  font-size: 2.2vh;
  position: relative;
}

.project__description {
  padding: 0 var(--grid-w) var(--grid-h) 10px;
}

.dark .project__description {
  color: white;
  margin-top: -4rem;
}

.project__description strong {
  display: block;
  background-color: white;
  color: black;
  font-family: 'Monospace 821', Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.2rem;
  height: 1.5rem;
  padding: 0.25rem;
  box-sizing: border-box;
  font-weight: normal;
  margin-left: calc(var(--base-margin) * -1);
  margin-right: calc(var(--base-margin) * -1);
  margin-top: 4rem;
}

.project__note {
  font-family: 'Monospace 821', Arial, Helvetica, sans-serif;
  font-size: 1.3vh;
  line-height: 1.7vh;
  padding-top: 0px;
  padding-left: 0px;
  background-color: black;
  color: white;
  width: calc(4 * var(--grid-w));
  height: calc(3 * var(--grid-h));
  padding-bottom: calc(var(--grid-h));
}

.dark .project__note {
  color: black;
  background-color: white;
}

.project__note--empty {
  height: var(--grid-h);
  padding-bottom: 0;
}

.project__note p {
  padding-top: 20px;;
  margin-left: 20px;
  margin-right: 10px;
  padding-left: 0px;
  padding-right: 0px;
  text-indent: 0px;
}

.credits {
  font-family: 'Monospace 821', Arial, Helvetica, sans-serif;
  font-size: 1rem;
  padding-left: 20%;
  color: white;
}

.credits p + p {
  margin-top: 1em;
}

@media screen and (max-width: 1200px) {
  :root {
    --grid-w: calc(100vw / 8);
    --grid-h: calc(100vh / 6);
    --percent-grid-w: calc(100% / 6);
    --base-margin: 10px;
  }

.project__description {
    padding: 0px 10px var(--grid-h) 10px;
  }

  .project__note {
    width: 100%;
  }
}

@media screen and (max-width: 900px) {
  :root {
    --grid-w: calc(100vw / 4);
    --grid-h: calc(100vh / 7);
    --percent-grid-w: calc(100% / 6);
    --base-margin: 10px;
  }

  .desktop-hidden {
    display: block;
  }

  .gallery__background {
    display: none;
  }

  .menu {
    width: 100%;
    z-index: 100000;
  }

  .menu__mobile {
    visibility: visible;
  }

  .menu__modes {
    display: flex;
    z-index: 200;
    width: 100vw;
    position: fixed;
    bottom: 0;
    left: 0;
    /* background-color: pink; */
    height: 9vh;
    font-size: 1rem;
    line-height: 1.2rem;
    text-indent: 0.3vh;
    font-family: 'Monospace 821', Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    /* padding-top: 0.5vh; */
    background-color: black;
    color: white;
  }

  .menu__section-text, .menu__section-image {
    width: 50%;
    padding-top: 0.2em;
    padding-left: 0.2em;
  }

  /* .dark .menu__modes {
    color: var(--grey);
  } */

  .dark .menu--highlight {
    /* color: white; */
  }

  .header {
    padding-top: 0px;
  }

  .header .header__title {
    max-width: initial;
  }

  .filters {
    position: fixed;
    display: block;
    top: 0;
    left: auto;
    right: 0;
    bottom: auto;
    width: 100%;
    height: 100%;
    z-index: 1000;
    transition: transform 0.3s ease-in-out;
    background-color: rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
    padding-top: var(--grid-h);
  }

  .filters--hidden {
    transform: translate3d(+100%, 0, 0);
  }
  
  .filters ul {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  
  .filters .list__item {
    user-select: none;
    width: 100%;
    flex: 1 1 auto;
    height: calc(4vh + 0.3em);    
    font-size: 1rem;
    line-height: 1.2rem;
    font-family: 'Monospace 821', Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    padding-top: 0.2em;
    margin: 0;
    padding-left: 0.2em; 
  }
/* 
  .filters > span {
    margin: 0;
    padding: 0;
  } */

  .gallery {
    padding: var(--base-margin);
  }

  .column {
    width: 100%;
  }

  .header {
    box-sizing: content-box;
    height: var(--grid-h);
    opacity: 0;
  }

  .header .header__title {
    font-size: 4.5vh;
  }

  .header--project {
    padding-top: var(--grid-h);
  }

  .images {
    height: initial;
    padding-top: var(--grid-h);
  }

  .images__item {
    display: block;
    width: 100% !important;
    height: calc(3 * var(--grid-h)) !important;
    top: 0 !important;
    left: 0 !important;
    position: relative;
    padding: 0 var(--base-margin);
    margin-bottom: var(--base-margin);
    box-sizing: border-box;
  }

  .images__description {
    width: calc(100% - 2 * var(--base-margin) - 0.2em);
  }

  .images .header.hidden {
    display: block !important;
    opacity: 1;
    padding: 0;
    background:
      linear-gradient(-90deg, rgba(0, 0, 0, 0.00) 1px, transparent 1px),/*rgba(0,0,0,.04)*/
      linear-gradient(rgba(0, 0, 0, 0.00) 1px, transparent 1px),
      linear-gradient(transparent 4.25px, white 4.25px, white calc(var(--grid-h) - 3.5px), transparent calc(var(--grid-h) - 3.5px)),
      linear-gradient(-90deg, var(--grey) 0.5px, transparent 0.5px),
      linear-gradient(-90deg, transparent 4.25px, white  4.25px, white  calc(100% - 3.5px), transparent calc(100% - 3.5px)),
      linear-gradient(var(--grey) 0.5px, transparent 0.5px),
      white ;
    background-size:
      var(--grid-w) var(--grid-h),
      var(--grid-w) var(--grid-h),
      var(--grid-w) var(--grid-h),
      var(--grid-w) var(--grid-h),
      var(--grid-w) var(--grid-h),
      var(--grid-w) var(--grid-h);
  }

  .list.projects,
  .images {
    padding-bottom: 9vh;
  }

  .project {
    font-size: 2.7vh;
  }

  .project__note {
    font-family: 'Monospace 821', Arial, Helvetica, sans-serif;
    font-size: 1.3vh;
    line-height: 1.7vh;
    padding-top: 0px;
    padding-left: 0px;
    background-color: black;
    color: white;
    width: 100%;
    height: calc(3 * var(--grid-h));
    padding-bottom: calc(var(--grid-h));
  }

  .project__note p {
    padding-top: 10px;
    margin-left: 10px;
    margin-right: 10px;
    padding-left: 0px;
    padding-right: 0px;
    text-indent: 0px;
  }

  .project__description {
    padding: 0px 10px var(--grid-h) 10px;
  }

  .column--static {
    position: initial;
    height: auto;
    overflow: visible;
  }

  .gallery__pagination {
    position: fixed;
    top: initial;
    bottom: 0;
    justify-content: center;
    width: 100%;
  }

  .header .header__title {
    padding-left: 7px;
  }

  .list__item:nth-child(2n + 1) {
    background-color: rgba(0, 0, 0, 0.15);
  }

  /* .menu__cross {
    display: none;
  } */

  .highlight {
    background-color: transparent !important;
    color: black;
  }
}

@media screen and (max-width: 400px) {
  .header .header__title {
    font-size: 4vh;
  }
}
