/* LESS Document */
html {
  box-sizing: border-box;
  background: #fff;
}
* {
  box-sizing: inherit;
}
body {
  color: #333;
  margin: 0;
  padding-left: 6vw;
  padding-right: 6vw;
  border: 0;
  font-family: 'Inter', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  font-weight: 300;
  font-size: calc(17px - 0.15vw);
  line-height: 145%;
}
header {
  padding-top: 2em;
  padding-bottom: 2em;
}
footer {
  padding-top: 2em;
  padding-bottom: 4em;
}
h1,
h2,
h3 {
  font-weight: 300;
  font-size: 2em;
  line-height: 120%;
}
#logo a:link,
#logo a:visited {
  color: #333;
  font-weight: 650;
  text-decoration: none;
}
.home {
  margin-bottom: 6em;
  max-width: 800px;
}
.home p {
  color: #444;
}
nav {
  font-size: 1.6em;
}
nav ul {
  list-style-type: none;
  list-style-position: outside;
  margin: 0;
  padding: 0;
}
nav ul li {
  display: inline-block;
  margin-right: 1em;
  margin-bottom: 0.5em;
}
nav a {
  color: #333;
  text-decoration: none;
}
nav .nav_active {
  font-weight: 650;
}
a:link {
  color: #333;
}
a:hover {
  color: #333;
}
a:active {
  color: #333;
}
a:visited {
  color: #333;
}
#breadcrumb {
  font-weight: 300;
}
#breadcrumb .domaine {
  font-weight: 650;
  text-decoration: none;
}
#breadcrumb .domaine:link,
#breadcrumb .domaine:active,
#breadcrumb .domaine:hover,
#breadcrumb .domaine:visited {
  color: inherit;
}
#breadcrumb .projet {
  font-weight: 300;
}
#descript {
  margin-bottom: 3em;
  max-width: 800px;
}
/*


GRILLE pour sections/contextes


*/
#grille {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 3em;
  grid-row-gap: 4em;
  margin-bottom: 4em;
}
#grille figure.grille-item {
  margin: 0;
  padding: 0;
  display: block;
}
#grille figure.grille-item a.opener {
  display: block;
  aspect-ratio: 1;
  border: none;
  text-decoration: none;
  background-color: #eee;
  background-image: url('loadicon.png');
  background-repeat: no-repeat;
  background-position: center center;
}
#grille figure.grille-item img.featured {
  border: none;
  width: 100%;
  height: 100%;
  vertical-align: middle;
  object-fit: cover;
  filter: grayscale();
}
#grille figure.grille-item figcaption.etiquette {
  padding-top: 1em;
}
#grille figure.grille-item figcaption.etiquette h3 {
  font-size: 1.7em;
  padding: 0;
  margin: 0;
}
#grille figure.grille-item figcaption.etiquette .total {
  font-size: 0.8em;
}
/*

GRILLE pour affichage projet statique

*/
#grille-display {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: repeat(6, 1fr);
  grid-column-gap: 5em;
  grid-row-gap: 4em;
  margin-bottom: 4em;
}
#grille-display figure.grille-item {
  margin: 0;
  padding: 0;
  display: block;
}
#grille-display figure.grille-item img {
  width: 100%;
  height: auto;
}
#grille-display figure.grille-item figcaption {
  margin-top: 1em;
  font-size: 0.9em;
  line-height: 136%;
  font-weight: 350;
}
#grille-display figure.grille-item figcaption .infos {
  color: #999;
  font-weight: 200;
}
#grille-display .c,
#grille-display .v,
#grille-display .vu {
  grid-column-start: span 2;
}
#grille-display .h,
#grille-display .hu {
  grid-column-start: span 3;
}
/*


RESPONSIVE


*/
@media (max-width: 1400px) {
  #grille {
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 3em;
    grid-row-gap: 3em;
  }
}
@media (max-width: 992px) {
  #grille {
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 2em;
    grid-row-gap: 2em;
  }
}
@media (max-width: 1100px) {
  #grille-display {
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 3em;
    grid-row-gap: 4em;
  }
}
@media (max-width: 768px) {
  #grille {
    grid-template-columns: repeat(1, 1fr);
    grid-column-gap: 2em;
    grid-row-gap: 2em;
  }
  #grille-display {
    grid-template-columns: repeat(1, 1fr);
    grid-column-gap: 2em;
    grid-row-gap: 2em;
  }
}
