/* ----------------------------- */
/* Reset CSS
/* ----------------------------- */

@charset "UTF-8";
html {
  /* on s'arrange pour que 1rem soit égal à 10px */
  font-size: 62.5%;
  /* IE9-IE11 */
  font-size: calc(1em * 0.625);
}

/* la suite du reset permet d'enlever les marges par défaut créées par les navigateurs */
/* et de donner un comportement plus intuitif aux principaux éléments */

html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
  display: block;
}
ol, ul, menu {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img{
  max-width: 100%;
  height: auto;
}
a{
  color: inherit;
  text-decoration: none;
}
h1, h2, h3, h4, h5{
  font-weight: normal;
}
*[role='button']{
	cursor: pointer;
	user-select: none;
}


/* ----------------------------- */
/* Typo
/* ----------------------------- */

@font-face{
  font-family: 'Credac';
  src: url('../fonts/lecredac-lux-regular-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face{
  font-family: 'Credac';
  src: url('../fonts/lecredac-lux-italic-webfont.woff') format('woff');
  font-weight: normal;
  font-style: italic;
}

body{
	font-family: 'Credac', 'Helvetica', Arial, sans-serif;
	font-size: 1.75rem;
	line-height: 1.2;
  font-weight: normal;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.search input{
  font-family: 'Credac', 'Helvetica', Arial, sans-serif;
  font-size: 1.75rem;
}

.header-part2,
.informations{
  font-size: 5.2rem;
  line-height: 1;
}


/* ----------------------------- */
/* Couleurs
/* ----------------------------- */

:root{
  --couleur1: #000;     /* noir */
  --couleur2: #C6C6C6;  /* gris */
  --couleur3: #f9f8f6;  /* gris clair (background) */
  --couleur4: #ff0067;  /* rouge */
  --couleur5: #00CC66;  /* vert */
  --couleur6: #0066FF;  /* bleu */
  --couleur7: #9933FF;  /* violet */
  --couleur8: #f7ff3c;  /* jaune */
  --couleur9: #FF4A00;  /* orange */
  --couleur10: #FF1BC9; /* rose */
}

body{
  color: var(--couleur1);
  background-color: var(--couleur3);
}

.langues a.current::after,
.message.alerte{
  color: var(--couleur1);
}

::placeholder,
header a:hover,
header a.current{
  color: var(--couleur2);
}

.pastille{
  color: var(--couleur4);
}

.pastille.open{
  color: var(--couleur5);
}

.message.visite-atelier{
  color: var(--couleur6);
}

.message{
  color: var(--couleur7);
}

.message.alerte{
  border-color: var(--couleur8);
}


/* ----------------------------- */
/* Layout
/* ----------------------------- */

:root{
  --marge: 2.4rem;
  --gouttiere: 1.8rem;
}

header > section,
.informations{
  padding: var(--marge);
}

.grille{
  padding: 0 var(--marge) var(--marge) var(--marge);
}


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

.header-part1{
  display: flex;
  gap: var(--gouttiere);
}

.header-part1 > *{
  width: calc(100% / 6);
}

header .logo{
  text-transform: uppercase;
}

/*header .logo:hover::before{
  content: '→ ';
}*/

.search::before{
  content: url('../images/icon-recherche.svg');
  display: inline-block;
  width: 1em;
  height: 1em;
  position: relative;
  top: 0.3rem;
}

.search input{
  border: none;
  border-radius: 1em;
  padding: 0 0.5em;
  max-width: 9em;
}

.langues a:first-child::after{
  content: ' / ';
}


/* Header partie 2 */

.header-part2{
  display: flex;
  gap: var(--gouttiere);
  justify-content: space-between;
}

.pastille{
  border: 0.07em solid;
  border-radius: 1em;
  padding: 0.15em 0.5em;
}

.horloge{
  transform: scale(1.1);
}

.horloge img{
  display: block;
  width: 1.3em;
  animation-name: tourner;
  animation-duration: 10s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes tourner{
  from{
    transform: rotate(0deg);
  }
  to{
    transform: rotate(360deg);
  }
}

/* ----------------------------- */
/* Messages
/* ----------------------------- */

.message{
  border: 0.2em solid;
  padding: 0.3em 0.6em;
}

.message + .message{
  margin-top: 0.4em;
}

.message a{
  text-decoration: underline;
}


/* ----------------------------- */
/* Grille d'items (expo, residences, etc.)
/* ----------------------------- */

.grille{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(--gouttiere);
  /*
  grid-column-gap: var(--gouttiere);
  grid-row-gap: var(--gouttiere);*/
}

.item-details {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tag {
  border: 0.07em solid;
  border-radius: 1em;
  padding: 0.15em 0.5em;
  text-transform: uppercase;
  align-items: center;
}

.item-details .tag:first-child,
.item-details .date-prix {
  margin-right: 10px;
}

.item-details .tag:last-child {
  margin-left: auto; /* met le dernier tag à droite */
}

.date-prix {
  position: relative;
  padding-left: 15px;
  align-items: center;
}

.date-prix::before {
  content: "•";
  position: absolute;
  left: 0;
  color: inherit;
  font-size: inherit;
  top: 50%;
  transform: translateY(-50%);
}

h2 {
  text-transform: uppercase;
  font-size: 5.2rem;
}

h3 {
  font-style: italic;
  font-size: 5.2rem;
}

.item-expo:hover{
  color: var(--couleur7);
}

.item-residence:hover{
  color: var(--couleur9);
}

.item-edition:hover{
  color: var(--couleur10);
}

.grille img {
  max-height: 30vw;
  max-width: 100%;
  justify-content: center;
}