/*
Theme Name: laribot v4
Version: 1
Text Domain: laribot
*/


/* Fonts
---------------------------------------------------- */

@font-face {
  font-family: "Helvetica Neue";
  font-weight: 400;
  /* font-style: italic; */
  /* src: url("fonts/HelveticaNeueLTPro-HvIt.otf") format("otf"); */
  src: url("fonts/helveticalight.woff") format("woff");
}
@font-face {
  font-family: "Helvetica Neue";
  font-weight: 750;
  font-style: italic;
  /* src: url("fonts/HelveticaNeueLTPro-HvIt.otf"); */
  src: url("fonts/HelveticaNeueLTPro-HvIt.woff");
  /* src: url("fonts/helveticalight.woff") format("woff"); */
}
@font-face {
  font-family: "Helvetica Neue";
  font-weight: 750;
  /* src: url("fonts/HelveticaNeueLTPro-Hv.otf"); */
  src: url("fonts/HelveticaNeueLTPro-Hv.woff");
  /* src: url("fonts/helveticabold.woff") format("woff"); */
}

/* @font-face {
  font-family: "MediumLLWeb";
  font-weight: 300;
  src: url("fonts/MediumLLWeb-Light.woff2") format("woff2");
}
@font-face {
  font-family: "MediumLLWeb";
  font-weight: 300;
  font-style: italic;
  src: url("fonts/MediumLLWeb-LightItalic.woff2") format("woff2");
} */
/* @font-face {
  font-family: "MediumLLWeb";
  font-weight: 400;
  src: url("fonts/MediumLLWeb-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "MediumLLWeb";
  font-weight: 400;
  font-style: italic;
  src: url("fonts/MediumLLWeb-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "MediumLLWeb";
  font-weight: 500;
  src: url("fonts/MediumLLWeb-Book.woff2") format("woff2");
}
@font-face {
  font-family: "MediumLLWeb";
  font-weight: 500;
  font-style: italic;
  src: url("fonts/MediumLLWeb-BookItalic.woff2") format("woff2");
} */


/* General
---------------------------------------------------- */
* {
  box-sizing: border-box;
}
:root {
  --grey: #ABABAB;
  --blue: #054BFF;

  --border-color: #D2D2D2;
}
body {
  margin: 0;
  font-family: "Helvetica Neue", helvetica, sans-serif;
  font-weight: 400;
  font-size: 4.4444vw;
  line-height: 1.2em;



}
body.frozen {
  overflow: hidden;
}
figure {
  margin: 0;
}
a {
  color: inherit;
  text-decoration: inherit;
}
strong {
  font-family: "Helvetica Neue", helvetica, sans-serif;
  font-weight: 750;
}

.hidden {
  display: none !important;
}

@media (min-width: 900px) {
  body {
    font-size: 1.1111vw;
    line-height: 1.2em;

    display: flex;
    /* flex-wrap: wrap; */
  }
  .mobile-only {
    display: none !important;
  }
}
@media (max-width: 899px) {
  .desktop-only {
    display: none !important;
  }
}
@media (min-width: 1440px) {
  body {
    font-size: 16px;
  }
}



/* Header
---------------------------------------------------- */

.languages {
  /* padding: 0 0.5em 4.5em 1.0em; */
  display: flex;
}
.languages ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
}
.languages ul li a {
  color: var(--grey);
  font-size: 0.9375em;
  font-style: normal;
  font-weight: 750;
  line-height: 2.25em;
  text-transform: lowercase;
}
.languages ul li a.active {
  color: black;
}
.languages ul li a:hover {
  color: var(--blue);
}

.svg-menu a:hover svg path {
  fill: var(--blue) !important;
}

@media (max-width: 899px) {
  .mobile-header {
    display: flex;
  }
  .mobile-header .site-title {
    flex-grow: 1;
    padding: 0 0.5em;
  }
  .mobile-header .site-title a {
    font-size: 0.9375em;
    font-weight: 750;
    line-height: 2.4em;
    letter-spacing: -0.01875em;
  }
  .mobile-header .burger {
    padding: 0.6em 0.5em 1.4em;
    cursor: pointer;
  }
  .mobile-header .burger svg {
    width: 1.875em;
    height: auto;
    display: block;
  }

  .nav-container {
    position: fixed;
    z-index: 200;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    display: flex;
    flex-direction: column;

    left: 100%;
    transition: left 300ms;
  }
  body.menu-open {
    overflow: hidden;
  }
  body.menu-open .nav-container {
    left: 0;
  }
  .nav-container .languages {
    padding: 0;
    flex-shrink: 0;
    min-height: 0;
  }
  .nav-container .languages ul.language-switch {
    justify-content: flex-start;
    flex-grow: 1;
  }
  .nav-container .languages ul.language-switch li {
    padding: 0 0.5em;
  }
  .nav-container .languages .close {
    padding: 0.75em 0.5em;
    cursor: pointer;
  }
  .nav-container .languages .close svg {
    width: 1.875em;
    height: auto;
    display: block;
  }
  .nav-container nav.side-nav {
    padding: 3em 0.5em 0;
    min-height: 0;
    min-width: 0;
    overflow: auto;
  }
  .nav-container nav.side-nav ul {
    /* font-size: calc(1.65vh - 0.12em); */
    font-size: 1em;
    /* width: 21.3em; */
    width: 100%;
  }

  .nav-container .svg-menu {
    min-height: 0;
    overflow: auto;
    padding: 0.5em 0.5em 0.5em;
    display: flex;
    flex-direction: column;
    gap: 0.35em;
  }


}

@media (min-width: 900px) {
  header {
    /* width: 22.75em; */
    min-width: 0;
    order: 2;
    flex-shrink: 0;
    display: flex;
    align-items: self-start;
    flex-grow: 0;
    justify-content: flex-end;

    position: static !important;
  }
  header .nav-container {
    position: sticky;
    top: 0;
    padding: 0 0.5em;
  }
  header .languages {
    height: 6.8em;
  }
  header.top .site-title {
    display: none;
  }

  .mobile-header {
    display: none;
  }
  .languages ul {
    flex-grow: 1;
    justify-content: space-between;
  }
  .nav-container .languages .close {
    display: none;
  }
  .nav-container {
    /* width: calc(40vh - 3.5em); */
  }
  .svg-menu {
    position: sticky;
    top: 0;

    display: flex;
    flex-direction: column;
    gap: 0.7em;
    width: 22.5em;
    font-size: calc(1.7vh - 0.125em);
  }
}









/* Nav
---------------------------------------------------- */

nav.side-nav {
  padding: 0.4em 0.5em 0 1.0em;
  overflow: hidden;

  position: sticky;
  top: 0;
}
/* @media (max-aspect-ratio: 3/2) {
  nav.side-nav {
    position: sticky;
    top: 0;
  }
} */

nav.side-nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;

  font-size: calc(1.65vh - 0.12em);
  width: 21.3em;
}
nav.side-nav ul li a {
  display: flex;
  /* flex-wrap: wrap; */
  flex-direction: column;
  align-items: flex-start;
}
nav.side-nav ul li a:hover {
  color: var(--blue);
}
nav.side-nav ul li a span {
  letter-spacing: 0px;
  white-space: nowrap;

  text-transform: uppercase;

  font-weight: 750;
  line-height: 0.9em;
}

nav.side-nav ul li.home a span {
  font-size: 4.1875em;
}
nav.side-nav ul li.works a span {
  font-size: 6.25em;
}
nav.side-nav ul li.dp a span {
  font-size: 1.875em;
  line-height: 1.1em;
}
nav.side-nav ul li.visual-arts a span {
  font-size: 2.875em;
  line-height: 1.0em;
}
nav.side-nav ul li.dance a span:first-child {
  font-size: 5em;
}
nav.side-nav ul li.dance a span:last-child {
  font-size: 2.1875em;
}
nav.side-nav ul li.cinema a span {
  font-size: 3.125em;
}
nav.side-nav ul li.biography a span:nth-child(1) {
  font-size: 4.6875em;
}
nav.side-nav ul li.biography a span:nth-child(2) {
  font-size: 3.125em;
}
nav.side-nav ul li.ensemble a span:nth-child(1) {
  letter-spacing: 0.045em !important;
  font-size: 8.0625em;
  text-transform: none;
}
nav.side-nav ul li.ensemble a span:nth-child(2) {
  font-size: 8.0625em;
  text-transform: none;
}
nav.side-nav ul li.ensemble a span:nth-child(3) {
  font-size: 4.1875em;
}
nav.side-nav ul li.collaborateurs a span {
  font-size: 2.53125em;
}
nav.side-nav ul li.resources a span {
  font-size: 2.53125em;
}
nav.side-nav ul li.calendar a span {
  font-size: 3.75em;
}
nav.side-nav ul li.contact a span {
  font-size: 3.125em;
}



.svg-menu svg {
  display: block;
  width: 100%;
  height: auto;
}



/* Main
---------------------------------------------------- */

@media (max-width: 899px) {
  header#header {
    position: absolute;
    width: 100%;
    background-color: white;
    z-index: 14;
  }
  main {
    padding-top: 3.2581em;
  }
}

@media (min-width: 900px) {
  main {
    /* width: 67.25em; */
    order: 1;
    margin-bottom: 0;

    flex-grow: 1;
    min-width: 0;

    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  main {
    /* max-width: 1075px; */
  }

}


/* Home
---------------------------------------------------- */


@media (min-width: 900px) {
  main.home {
    padding-top: 6.9em;
  }
}


/* Home Slideshow
---------------------------------------------------- */

.slideshow .viewer {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.slideshow .viewer .slide {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: white;
}
main.work .slideshow .viewer a.slide {
  cursor: default;
  pointer-events: none;
}
.slideshow .viewer .slide:first-child {
  z-index: 1;
}
.slideshow .viewer .slide:not(:first-child) {
  /* transform: translateX(100%); */
}
.slideshow .viewer .slide img {
  width: 100%;
  /* height: 40.375em; */
  display: block;
  object-fit: cover;
  object-position: center;
}
.slideshow .viewer .slide small {
  font-size: 0.9375em;
  font-weight: 750;
  line-height: 1.375em;
  letter-spacing: -0.01875em;

  position: absolute;
  transform: rotate(-90deg) translate(3.75em, 0.2em);
  transform-origin: 0 0;
}
.slideshow .viewer .slide figcaption {
  padding: 0.25em 0.5em;
}
.slideshow .viewer .slide figcaption span {
  font-size: 2.8125em;
  font-weight: 750;
  line-height: 1.25em;
  letter-spacing: 0.05625em;
}
.slideshow .viewer .slide figcaption span.title {
  flex-grow: 1;

}




@media (max-width: 899px) {
  .slideshow .viewer {
    height: calc(22.5em + 7.5em);
  }
  .slideshow .viewer .slide img {
    height: 22.5em;
  }
  .slideshow .viewer .slide figcaption {
    padding: 0.35em 0.5em;
  }
  .slideshow .viewer .slide figcaption span {
    font-size: 1.875em;
    line-height: 1.25em;
    line-height: 1em;
    display: block;
    word-wrap: break-word;
  }



}
@media (min-width: 900px) {
  .slideshow .viewer {
    height: calc(40.375em + 8em);
  }
  .slideshow .viewer .slide img {
    height: 40.375em;
  }
  .slideshow .viewer .slide figcaption {
    display: flex;
    gap: 3.25em;
  }
}


/* Home Agenda
---------------------------------------------------- */


section.agenda {
  padding: 0 0 0 0.5em;
}
section.agenda h2 {
  font-size: 1.25em;
  font-weight: 750;
  line-height: 2.25em;
  letter-spacing: -0.025em;
  text-transform: uppercase;
}
.agenda-grid {
  display: grid;
  grid-template-columns: 9em 15em 1fr 9em;
  grid-gap: 0 2.5em;
}
.agenda-grid .cell.lieu {
  text-align: right;
}
.agenda-grid .cell  {
  font-size: 0.9375em;
  font-weight: 750;
  line-height: 1.375em;
  letter-spacing: -0.01875em;
}




/* Work Single
---------------------------------------------------- */

main.work h2 {
  font-size: 4.6875em;
  font-weight: 750;
  line-height: 0.9em;
  /* letter-spacing: -0.04688em; */
  margin: 0.5em 0 0;
}
main.work section.work-header {
  padding: 0 0.5em;
}

main.work section h1 {
  margin: 0.2em 0 0em;

  /* font-size: 5.1875em; */
  font-size: 4.6875em;
  font-style: normal;
  font-weight: 750;
  line-height: 1em;
  letter-spacing: 0.4em;

  /* letter-spacing: 0.3em; */

}
main.work section h1.long {
  /* font-size: 3.5em;
  line-height: 1em; */
  word-break: break-word;
}
main.work section h1.very-long {
  /* font-size: 2em;
  line-height: 1em; */
  word-break: break-word;
}

@media (max-width: 899px) {
  main.work .slideshow .viewer {
    height: calc(22.5em);
  }
}
@media (min-width: 900px) {
  main.work section.work-header {
    height: 6.9em;
  }
  main.work .slideshow .viewer {
    height: 40.375em;
  }
}

/* Work Single Description
---------------------------------------------------- */
.work-description {
  padding: 0 0.5em;
}
.work-description-header {
  margin: 0 0 2em;
}
.work-description .year {
  font-size: 4.6875em;
  font-weight: 750;
  line-height:  0.9em;
  /* letter-spacing: 0.09375em; */
}
.work-description .category {
  font-size: 4.6875em;
  font-weight: 750;
  line-height: 0.9em;
  /* letter-spacing: 0.09375em; */
}
.work-description .excerpt {
  font-size: 1.375em;
  font-style: normal;
  font-weight: 750;
  line-height: 1.3em;

  display: none;
}
.work-description .content h2 {
  font-size: 1.375em;
  font-style: normal;
  font-weight: 750;
  line-height: 1.3em;
}
.work-description .content p {
  font-size: 0.9375em;
  font-style: normal;
  font-weight: 750;
  line-height: 1.3em;

  font-family: helvetica;
  font-weight: normal;
}
@media (max-width: 899px) {
  .work-description {
    display: flex;
    flex-direction: column;
  }
  main.work section h1 {
    font-size: 1.875em;
    letter-spacing: 0.3em;
    text-align: center;

    margin: 0.2em -0.2667em 1em;
  }
  .work-description h1 {
    order: 2;
  }
  .work-description .work-description-header {
    order: 1;
    padding: 0.5em 0 0;
  }
  .work-description .content {
    order: 3;
  }
  .work-description .year,
  .work-description .category {
    font-size: 1.875em;
    line-height: 0.9em;
  }
  .work-description .content p {
    font-size: 0.9375em;
    line-height: 1.3em;
  }

  main.work .work-credits h2 {
    font-size: 2.5em;
    line-height: 0.912em;
    border-bottom: 2px solid black;
    margin: 0.5em 0 0;
    padding: 0 0 0;
  }
}

/* Work Single Videos
---------------------------------------------------- */
.work-videos .videos {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1em;
}
.work-videos .videos .video {
  width: 100%;
  max-width: 640px;
  padding: 1em 0 3em;
}
.work-videos .videos .video iframe {
  /* width: 100%;
  max-width: 640px; */
}

/* Work Single Credits
---------------------------------------------------- */
.work-credits {
  padding: 0 0.5em;
}
.work-credits .text {
  font-size: 0.9375em;
  /* font-weight: 750; */
  font-weight: 400;
  line-height: 130%;

  font-family: helvetica, arial;
}
.work-credits .text strong {
  font-weight: 750;
  font-family: "Helvetica Neue", helvetica, sans-serif
}
.work-credits .text p {
  margin-top: 0;
}

/* Work Single Resources
---------------------------------------------------- */

.page-resource h3 {
  margin: 0 0.5em;
}
.page-resource .catalogues h3 {
  /* margin: 3.6em 0.5em -0.8em; */
  margin: 3.6em 0.5em 0em;
}

.page-resource h3 span {
  font-size: 1.25em;
  font-weight: 750;
  line-height: 1.0em;
  /* letter-spacing: -0.02em; */
  /* text-transform: uppercase; */

  font-size: 4.6875em;
}
.page-resource section.resources h3 {
  /* margin: 0 0 -4.3em; */
  margin: 3.6em 12em -5.05em 0;
}
section.resources {
  padding: 0 0.5em;
  margin-bottom: 2.5em;
}
section.resources h2 {
  margin-bottom: -1.16em;
}

section.resources ul .year {
  font-size: 4.6875em;
  font-weight: 750;
  line-height: 1em;
  text-align: right;
  margin: -0.1em 0 -0.175em;
}
section.resources ul {
  /* margin: -2em 0 0; */
}
section.resources ul,
section.resources ul ul {
  padding: 0;
  list-style-type: none;
}
section.resources ul li.group ul {
  border-top: 2px solid black;
  margin-bottom: 1em;
}
section.resources ul li.group ul li {
  border-bottom: 1px solid var(--grey);
}
section.resources ul li.group ul li:last-child {
  border-bottom: 2px solid black;
}


section.resources ul li.group ul li a,
section.resources ul li.group ul li .row {
  display: flex;
  gap: 2em;
}
section.resources ul li.group ul a:hover {
  /* color: white;
  background-color: black; */
  color: var(--blue);
}
section.resources ul .title {
  flex-shrink: 0;
  width: 24em;
}
section.resources ul .auteur {
  /* flex-shrink: 0; */
  /* width: 20em; */
  flex-grow: 1;
  text-align: right;
}
section.resources ul .detail {
  width: 24em;
  flex-shrink: 0;

  /*  */
}
section.resources ul li.group ul li span {
  font-size: 0.9375em;
  font-weight: 750;
  line-height: 1.1em;
  letter-spacing: -0.01875em;
}
section.resources ul li.group ul li .title span {
  font-style: italic;
}

@media (max-width: 899px) {
  .page-resource section.resources h3 {
    margin: 0 0 -2.6em;
    max-width: 10em;
  }
  .page-resource h3 span {
    font-size: 1.25em;
    line-height: 0.912em;
  }
  .page-resource .catalogues h3 {
    margin: 0 0.5em 0em;
  }
  section.resources ul .year {
    font-size: 2.5em;
    line-height: 0.912em;

    margin: -0.15em 0 -0.075em;
  }
  main.work .resources h2 {
    font-size: 2.5em;
    line-height: 0.912em;
    margin: 1.6em 0 -1.31em;
    padding: 0;
  }
  section.resources ul li.group ul li a,
  section.resources ul li.group ul li .row {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  section.resources ul .title {
    width: 100%;
  }
  section.resources ul .auteur {
    width: 100%;
    text-align: left;
  }
  section.resources ul .detail {
    width: 100%;

  }
  section.resources ul li.group ul li:last-child {
    border-bottom: 2px solid black;
  }
  section.resources ul li.group ul li span {
    line-height: 1.0666em;
  }
}
@media (min-width: 1440px) {
  section.resources ul .title {
    width: 27em;
  }
  section.resources ul .detail {
    width: 27em;
  }
}


/* Catalogue
---------------------------------------------------- */


.catalogues ul {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.38em;

  padding: 0;
  margin: 0 0 4em;
}
.catalogues ul li {
  width: calc(25% - 0.38em*3/4);
  /* width: 16.5625em;
  height: 11.125em; */
  flex-shrink: 0;
}
.catalogues ul li figure {
  /* width: 16.5625em; */
  width: 100%;
  height: 11.125em;
  background-color: black;
  display: flex;
  align-items: center;
}
.catalogues ul li figure img {
  width: 100%;
  height: 90%;
  display: block;
  object-fit: contain;
  object-position: center;
}
.catalogues ul li .catalogue-columns {
  display: flex;
  padding: 0.3em 0.5em;
}
.catalogues ul li .catalogue-columns .column-date {
  flex-shrink: 0;
  flex-basis: 2.25em;
  margin-right: 1em;
}
.catalogues ul li .catalogue-columns .column-text {
  flex-grow: 1;
}
.catalogues ul li .catalogue-columns .column-text .commander {
  display: flex;
  gap: 1em;
}
.catalogues ul li span,
.catalogues ul li a {
  font-size: 0.75em;
  font-weight: 750;
  line-height: 100%;
  letter-spacing: -0.005em;
  display: block;
}
.catalogues ul li a {
  text-decoration: underline;
}
.catalogues ul li a:hover {
  color: blue;
}
@media (max-width: 899px) {
  .catalogues ul {
    gap: 1.25em;
  }
  .catalogues ul li {
    width: calc(50% - 1.25em/2);
    /* flex-shrink: 0; */
  }
}
@media (min-width: 1440px) {
  .catalogues ul li {
    width: 16.5625em;
  }
}





/* Work Single Evenements
---------------------------------------------------- */
section.calendar {
  padding: 0 0.5em;
  margin: 0.25em 0 0;
}
section.calendar h2 {
  /* margin: 0 0 -1.35em; */
  margin: 0 0 -0.94em;

  font-size: 4.6875em;
  font-weight: 750;
  line-height: 0.9em;
  /* letter-spacing: -0.04em; */
  /* text-transform: uppercase; */
}
body.home section.calendar h2 {
  margin: 0 0 -0.45em;
  display: none;
}
ul.calendar .year {
  font-size: 4.6875em;
  font-weight: 750;
  line-height: 1em;
  text-align: right;
  margin: -0.1em 0 -0.175em;
}
main.home ul.calendar .year {
  display: none;
}
ul.calendar,
ul.calendar ul {
  padding: 0;
  list-style-type: none;
}
ul.calendar {
  margin: -2em 0 0;
}
main.home ul.calendar {
  margin: 0 0;
}
ul.calendar li.group ul {
  border-top: 2px solid black;
  margin-bottom: 1em;
  overflow: hidden;
}
ul.calendar li.group ul li {
  border-bottom: 1px solid var(--grey);
}
ul.calendar li.group ul li:last-child {
  border-bottom: 2px solid black;
}
ul.calendar li.group ul li {
  display: flex;
  gap: 2em;
}
ul.calendar li.group ul a:hover {

}
ul.calendar li.group ul li .date {
  flex-shrink: 0;
  width: 9em;
}
ul.calendar li.group ul li .title {
  flex-shrink: 0;
  width: 16em;
}
ul.calendar li.group ul li .name {
  flex-grow: 1;
}
ul.calendar li.group ul li .name a {
  text-decoration: underline;
}
ul.calendar li.group ul li .lieu {
  flex-shrink: 0;
  width: 12em;
  text-align: right;
}
ul.calendar li.group ul li a,
ul.calendar li.group ul li span {
  font-size: 0.9375em;
  font-weight: 750;
  line-height: 1.10em;
  letter-spacing: -0.01875em;
}
ul.calendar li.group ul li .title a,
ul.calendar li.group ul li .title span {
  font-style: italic;
  word-wrap: break-word;
}
ul.calendar li.group ul li:hover {
  color: var(--blue);
}
ul.calendar li.group ul li p {
  display: inline;
  margin: 0;
}
@media (max-width: 899px) {
  main.page-calendrier section.calendar {
    margin-top: 4em;
  }
  ul.calendar .year {
    font-size: 2.5em;
    line-height: 0.912em;
    /* margin-bottom: -0.1em; */

    margin: -0.15em 0 -0.1em;
  }
  section.calendar h2 {
    font-size: 2.5em;
    line-height: 0.912em;
    margin: 2em 0 -0.91em;
    padding: 0;
  }
  ul.calendar li.group ul li:last-child {
    border-bottom: 2px solid black;
  }

  ul.calendar li.group ul li {
    display: grid;
    gap: 0 1em;
    grid-template-columns: 6em 1fr;
  }
  ul.calendar li.group ul li .date {
    width: auto;
    grid-row: span 3;
  }
  ul.calendar li.group ul li .title,
  ul.calendar li.group ul li .name,
  ul.calendar li.group ul li .lieu {
    grid-column: 2 / span 1;
    text-align: left;
    width: auto;
  }
  ul.calendar li.group ul li a,
  ul.calendar li.group ul li span {
    font-size: 0.9375em;
    line-height: 1.0666em;
  }

}



/* Page Category
---------------------------------------------------- */

main.work-category h1 {
  font-size: 5.1875em;
  font-weight: 750;
  line-height: 84.337%;
  letter-spacing: 0.3em;
  margin: 0.92em 0;

  text-transform: uppercase;
}

@media (max-width: 899px) {
  main.work-category h1 {
    font-size: 1.875em;
    font-weight: 750;
    line-height: 0.912em;
    letter-spacing: 0.25em;
  }
}


/* Page Category Nav
---------------------------------------------------- */

nav.category-nav {
  padding: 0 0.5em 0.5em 1.0em;
}
nav.category-nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}
nav.category-nav ul li {
  margin: 0 2em;
}
nav.category-nav ul li a {
  /* color: var(--grey); */
  color: black;
  font-size: 0.9375em;
  font-style: normal;
  font-weight: 750;
  line-height: 2.25em;
}
nav.category-nav ul li a:hover,
nav.category-nav ul li.current-menu-item a {
  /* color: black; */
  color: var(--blue);
}

@media (max-width: 899px) {
  nav.category-nav ul {
    align-items: center;
    flex-direction: column;
  }
  nav.category-nav ul li a {
    line-height: 1.3em;
  }
}


/* Page Category Description
---------------------------------------------------- */

main.work-category section.category-description {
  padding: 0 0.5em;
}
main.work-category section.category-description .content {
  font-size: 1.375em;
  font-style: normal;
  font-weight: 750;
  line-height: normal;
  margin-bottom: -0.75em;

  /* font-family: helvetica;
  font-weight: normal; */
}
main.work-category section.category-description .content img {
  width: 100%;
  height: auto;
  display: block;
}
.category-works {
  overflow: hidden;
}
ul.works-grid {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 -0.15em;
  /* justify-content: space-between; */
}
ul.works-grid li {
  /* width: 22.125em; */
  width: 33.333%;
  min-width: 0;
  padding: 0 0.15em;
}

ul.works-grid li a:hover {
  color: var(--blue);
}
ul.works-grid li a:hover figure {
  background-color: var(--blue);
}
ul.works-grid li a:hover figure img{
  filter: grayscale(1) contrast(1.3);
  mix-blend-mode: screen;
}
ul.works-grid li figure {
  position: relative;
  height: 0;
  padding: 0 0 58.5915%;
}
ul.works-grid li figure img {
  display: block;
  /* width: 22.125em; */
  /* width: 100%;
  height: 13em; */

  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;
}
ul.works-grid li .text {
  display: flex;
  gap: 1em;
  padding: 0.5em;
  min-height: 5.13em;
}
ul.works-grid li .text span {
  font-size: 1.375em;
  font-weight: 750;
  line-height: 90.909%;
}
ul.works-grid li .text span.title {
  word-break: break-word;
}





@media (max-width: 899px) {
  main.work-category section.category-description .content {
    font-size: 0.9375em;
    line-height: normal;
  }
  ul.works-grid li {
    width: 100%;
    min-width: 0;
  }
  ul.works-grid li figure {
    padding: 0 0 41.3333%;
  }
  /* ul.works-grid li figure img {
    height: 9.3em;
  } */
  ul.works-grid li .text {
    flex-direction: column;
    gap: 0;
    padding: 0.5em 0.5em 1.5em;
    min-height: 0;
  }
  ul.works-grid li .text span {
    font-size: 1.875em;
    line-height: 95%;
  }

}

@media (min-width: 1440px) {
  ul.works-grid li {
    /* width: 22.125em;
    width: 20em; */
    width: 25%;
  }
  /* ul.works-grid li figure img {
    width: 20em;
    width: 100%;
  }
  ul.works-grid li figure img {
    height: 11.7183em;
  } */

}
@media (min-width: 1760px) {

  ul.works-grid li {
    width: 20%;
  }
  /* ul.works-grid li figure img {
    width: 100%;
  }
  ul.works-grid li figure img {
  } */
}


/* Work Distinguished pieces
---------------------------------------------------- */

ul.dps {
  margin: 2em 0.5em 0;
  padding: 0;
  list-style-type: none;
}
ul.dps li a:hover {
  color: var(--blue);
}
ul.dps li .dp-header,
ul.dps li .dp-body {
  display: flex;
  gap: 1em;
}
ul.dps li .dp-header {
  border-bottom: 1px solid black;
  padding-bottom: 0.25em;
}
ul.dps li .dp-body {
  /* padding: 0.125em 0; */
  border-bottom: 1px solid var(--grey);
}
ul.dps li .num {
  width: 1.5em;
}
ul.dps li .date {
  width: 4em;
  flex-shrink: 0;
}
ul.dps li .title {
  width: 20em;
  flex-shrink: 0;
}
ul.dps li .prop {
  width: 18em;
  flex-shrink: 0;
}
ul.dps li .performer {
  /* width: 15em; */

}
ul.dps li .lieu {
  flex-grow: 1;
  text-align: right;
}
ul.dps li span {
  font-size: 0.9375em;
  font-weight: 750;
  line-height: 146.667%;
  letter-spacing: -0.01875em;
}
@media (max-width: 899px) {
  ul.dps li .dp-header {
    display: none;
  }
  ul.dps li.dp {
    margin: 0;
  }
  ul.dps li .dp-body {
    display: grid;
    grid-template-columns: 2em 1fr;
    gap: 0;
  }
  ul.dps li .date,
  ul.dps li .title,
  ul.dps li .prop,
  ul.dps li .performer,
  ul.dps li .lieu {
    grid-column: 2 / span 1;
    width: auto;
    text-align: left;
  }
  ul.dps li span {
    line-height: 1.2em;
  }


}



/* Page
---------------------------------------------------- */

main.page .page-title {
  padding: 0 0.5em;
}
main.page .page-title h1 {
  margin: 0.25em 0 0.55em;

  font-size: 5.1875em;
  font-style: normal;
  font-weight: 750;
  line-height: 0.85em;
  letter-spacing: 0.4em;

  text-transform: uppercase;
}
main.page.page-ensemble .page-title h1 {
  margin: 0.25em 0 0.35em;
}
main.page .content {
  padding: 0 0.5em;
}
main.page .content a:hover {
  color: var(--blue);
}
main.page .content h2,
main.page .content h3 {
  margin: 0.8em 0;
  font-size: 1.375em;
  font-style: normal;
  font-weight: 750;
  line-height: normal;

  /* font-size: 1.0625em; */
  /* line-height: 1.3em; */

  /* font-family: helvetica;
  font-weight: normal; */
}
main.page .content p {
  font-size: 1.0625em;
  font-style: normal;
  font-weight: 750;
  line-height: 1.3em;
  margin-bottom: 1.3em;

  /* font-family: helvetica;
  font-weight: normal; */
}
main.page:not(.page-ensemble) .content p {
  font-family: helvetica;
  font-weight: normal;
}
main.page .content .wp-caption {
  width: 100% !important;
  position: relative;
}
main.page .content .wp-caption p.wp-caption-text {
  font-size: 0.9375em;
  font-weight: 750;
  line-height: 1.375em;
  letter-spacing: -0.01875em;
  position: absolute;
  transform: rotate(-90deg) translate(3.75em, -0.3em);
  transform-origin: 0 0;
  margin: 0;
  color: white;
}




main.page .content img {
  display: block;
  width: 100%;
  height: auto;
  margin: -0.75em -0.5em 0;
}
@media (max-width: 899px) {
  main.page .page-title h1 {
    font-size: 1.875em;
    line-height: 1em;
    letter-spacing: 0.5em;
  }
  main.page .content p {
    font-size: 0.9375em;
    line-height: normal;
    margin-top: 0;
  }
  main.page .content h2,
  main.page .content h3 {
    /* font-size: 0.5625em; */
    font-size: 0.9375em;
    line-height: normal;
  }
  main.page .content img {
    display: block;
    width: 100vw;
    height: 100vw;
    margin: -0.25em -0.5333em 0;
    object-fit: cover;
    object-position: center;
  }

}

/* Page Contact
---------------------------------------------------- */
main.page table,
main.page table tbody,
main.page table tr,
main.page table th,
main.page table td {
  display: block;
  padding: 0;
  margin: 0 0 0;
  width: auto !important;
  height: auto !important;
}
main.page table {
  margin: 3em 0 0;
}
main.page table tr {
  display: flex;
  gap: 1.25em;
  width: 40em !important;
}
main.page table td {
  /* width: 10.1875em !important; */
  width: 50% !important;

  /* font-size: 0.625em; */
  font-size: 0.9375em;
  font-style: normal;
  font-weight: 750;
  line-height: normal;
  /* letter-spacing: -0.0125em; */

  font-family: helvetica;
  font-weight: normal;
}
main.page table td:first-child {
  width: 17em !important;
}
main.page table td:last-child {
  width: 22em !important;
}
main.page table td p {
  margin-top: 0;
  font-size: inherit;
  line-height: inherit;
}
main.page table td a {
  text-decoration: underline;
}
@media (max-width: 899px) {
  main.page table tr {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    width: 100% !important;
  }
  main.page table td:first-child {
    width: 100% !important;
    /* padding-bottom: 1em; */
  }
  main.page table td:nth-child(2),
  main.page table td:nth-child(3) {
    width: 100% !important;
  }
  main.page table td:nth-child(2) {
    padding-right: 1em;
  }
  main.page table td:nth-child(3) {
    padding-left: 1em;
  }
}


/* Extensible content
---------------------------------------------------- */


.extensible-content .extended-content {
  height: 0;
  overflow: hidden;
  transition: height 300ms;
  display: flex;
  align-items: flex-end;
}
.extensible-content a[href='#read-more'] {
  opacity: 1;
  transition: 300ms opacity;
  text-decoration: underline;
}
.extensible-content.open a[href='#read-more'] {
  opacity: 0;
  pointer-events: none;
}
.extended-content-inside {
  padding: 1px 0;
}
.extended-content-inside p {
  margin-top: 0;
}



/* Page Bio
---------------------------------------------------- */

section.bios {
  margin: -0.57em 0.5em 0;
  padding: 0.25em 0 0;
  border-top: 2px solid black;
}
.bio {
  border-bottom: 1px solid var(--border-color);
  position: relative;
}
.bio .bio-header {
  display: flex;
  gap: 1em;
  align-items: baseline;
  padding: 0.5em 0 0.2em;
  cursor: pointer;
}
.bio.has-content {

}
.bio.has-content .bio-header:hover {
  color: var(--blue);
}
.bio .bio-header .column.date {
  width: 10em;
  flex-shrink: 0;
}
.bio .bio-header .column.name {
  width: 29em;
  flex-shrink: 0;
}
.bio .bio-header .column.date span,
.bio .bio-header .column.name span {
  font-size: 2.8125em;
  font-style: normal;
  font-weight: 750;
  line-height: 1em;
}
.bio .bio-header .column.fonction {
  align-self: flex-end;
  flex-grow: 1;
  margin: 0 3em 0.6em 0;
}
.bio .bio-header .column.close {
  margin: 0 0 0.4em 0;
}
.bio .bio-header .column.fonction span {
  font-size: 0.9375em;
  font-style: normal;
  font-weight: 750;
  line-height: 1em;
}
.bio .bio-header .column.close {
  align-self: flex-end;
}
.bio .bio-body {
  height: 0;
  overflow: hidden;
  transition: height 300ms;
  display: flex;
  align-items: flex-end;
}
.bio .bio-body .bio-content {
  display: flex;
  gap: 1em;
  padding-top: 2em;
}
.bio .bio-body .column.portrait {
  width: 10em;
  flex-shrink: 0;
}
.bio .bio-body .column.portrait img {
  display: block;
  width: 5.25em;
  height: 5.25em;
  object-fit: cover;
  object-position: center;
}
.bio .bio-body .column.description {
  margin-right: 3em;
}
.bio .bio-body .column.description p {
  margin-top: 0;
}
.bio .bio-body .column.description .text {
  font-size: 0.9375em;
  font-style: normal;
  font-weight: 750;
  line-height: 1.38125em;

  font-family: helvetica;
  font-weight: normal;
}
.bio .bio-footer {
  position: absolute;
  right: -0.5em;
  bottom: 0;

}
.bio .bio-header .handle {
  /* padding: 0.5333em; */


  font-size: 0.9375em;
  font-style: normal;
  font-weight: 750;
  line-height: 1.38125em;
}
.bio.open .bio-header .handle {
  transform: rotate(45deg);
}
@media (max-width: 899px) {
  .bio .bio-header {
    flex-wrap: wrap;
    gap: 0;
    padding: 0.5em 0;
  }
  .bio .bio-header .column.date {
    width: 100%;
    flex-shrink: 0;
  }
  .bio .bio-header .column.name {
    width: 100%;
    flex-shrink: 0;
  }
  .bio .bio-header .column.date span,
  .bio .bio-header .column.name span {
    font-size: 2.5em;
    line-height: 0.95em;
    letter-spacing: -0.02em;
  }
  .bio .bio-header .column.fonction {
    align-self: flex-start;
    flex-grow: 1;
    margin: 0.5em 0 0;
  }
  .bio .bio-body .bio-content {
    flex-direction: column;
    gap: 0;
    padding-top: 0.4em;
  }
  .bio .bio-body .column.portrait {
    order: 2;
    width: auto;
    padding: 0;
  }
  .bio .bio-body .column.portrait figure {
    margin-bottom: 0.5em;
  }
  .bio .bio-header .column.close {
    margin: 0 0 0 0;
  }
  .bio .bio-body .column.description {
    margin-right: 0;
  }

}



/* Image popup
---------------------------------------------------- */

#image-popup .popup-content {
  position: fixed;
  z-index: 100;
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255,1);

  opacity: 0;
  transition: opacity 400ms;
}
#image-popup .popup-content.ready {
  opacity: 1;
}
#image-popup .popup-content img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
#image-popup .popup-content .close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1.5em;
  width: 1.5em;
  height: 1.5em;
  box-sizing: content-box;
  cursor: pointer;
}
#image-popup .popup-content .close svg path {
  fill: black;
}

/* Newsletter Form
---------------------------------------------------- */
form input {
  border: none;
  background-color: black;
  color: white;
  font-family: inherit;
  border-radius: 0;

  font-size: 2.8125em;
  font-size: 2.125em;
  font-style: normal;
  font-weight: 750;
  line-height: 1.1em;
  /* letter-spacing: -0.05625em; */

  padding: 0.2em 0.2em 0;
  width: 100%;
  height: 1.4em;
}
form input:focus {
  outline: none;
}
form input::placeholder {
  color: white;
}
form button {
  border-radius: 0;
  border: none;
  background-color: black;
  color: white;
  font-family: inherit;
  text-align: center;
  padding: 0.2em 1.5em 0;


  font-size: 0.9375em;
  font-style: normal;
  font-weight: 750;
  line-height: 1.15625em;
  /* letter-spacing: -0.01875em; */
  /* text-transform: uppercase; */

  cursor: pointer;

  margin: 1.44em 0 0;

  height: 3.1733em;
}
form button:hover {
  background-color: var(--blue);
}
form label {
  display: block;

  font-size: 0.75em;
  font-style: normal;
  font-weight: 750;
  line-height: 1.2em;
  margin: 0.3em 0;
}
.newsletter-columns {
  display: flex;
  gap: 0.3em;
  align-items: flex-start;
}
.newsletter-columns .column {
}

.newsletter-columns .column:first-child {
  /* flex-grow: 1; */
}
.newsletter-columns .column:last-child {
  width: 100%;
}

p.newsletter-error {
  font-size: 1em;
  font-style: normal;
  font-weight: 750;
  line-height: 1.2em;
}


@media (max-width: 899px) {
  .newsletter-columns {
    flex-direction: column;
    gap: 0.3em;
    align-items: flex-start;
  }
  form input {
    width: 100%;
    font-size: 2.125em;
  }
  form button {
    width: 100%;
    font-size: 1.25em;
    height: 1.5em;
    margin: 0;
  }
}
@media (min-width: 900px) {
  .newsletter-columns .column:last-child {
    width: 10em;
  }
}



/* Footer
---------------------------------------------------- */

footer {
  margin: 2em 0 0.5em;
}


.footer-columns .footer-column {
  padding: 0 0.5em;
}
.svg-menu .footer-columns .footer-column {
  padding: 0;
}
.footer-address {
  margin: 2em 0 0;
}
.footer-address p {
  font-size: 0.75em;
  font-weight: 750;
  line-height: normal;
  /* letter-spacing: -0.0125em; */
}
.footer-social {
  display: flex;
  gap: 0.3em;
}
.footer-social a {
  display: flex;
  width: 9em;
  height: 2em;
  align-items: center;
  justify-content: center;
  background-color: black;
  color: white;

  font-size: 0.9375em;
  font-weight: 750;
  line-height: normal;
  /* letter-spacing: -0.01875em; */

  padding: 0.2em 0 0;
}
.footer-social a:hover {
  background-color: var(--blue);
}

footer ul {
  margin: -0.5em 0 0;
  padding: 0;
  list-style-type: none;
}
footer ul li a {
  font-size: 0.625em;
  font-weight: 750;
  line-height: 0%;
  /* letter-spacing: -0.0125em; */
  text-transform: uppercase;
}


@media (max-width: 899px) {
  .footer-column.side-column {
    display: none;
  }
}
@media (min-width: 900px) {
  footer {
    width: 67.25em;
    order: 3;
    flex-grow: 1;
    display: flex;
    align-items: flex-end;
  }
  .footer-columns {
    display: flex;
  }
  .footer-columns .footer-column.main-column {
    flex-grow: 1;
  }
  .footer-columns .footer-column.side-column {
    width: 8em;
  }
}





/* ----------- */
