/************************* STYLES GLOBAUX *************************/

/******************** VARIABLES GLOBALES ********************/
:root {
  /* test contraste pour accessibilité PAS OK */
  /* --cereq-color: #008b99; */ /* rgb(0, 139, 153), rgba(0, 139, 153, 1) */
  --cereq-color: #007a85; 
  --cereq-color-dark: #00444b;
  --cereq-color-blue: #256299; /* rgb(37, 98, 153), rgba(37, 98, 153, 1) */
  --cereq-color-blue-dark: #193e5a;
  --cereq-color-yellow: #f8ac00; /* rgb(248, 172, 0), rgba(248, 172, 0, 1) */
  --cereq-color-yellow-dark: #a87402;
  --cereq-color-red: #d6515c;
  --cereq-color-red-dark: #96373f;
  /* rouge officiel mais plus clair */
  /* --cereq-color-red: #ef5350; */
  --cereq-color-green: #7b9a62;
  --cereq-color-purple: #b88dc5;
  --text-dark: #303032;
  /* test contraste pour accessibilité OK */
  --text-grey: #6c757d; 
  --border-grey: #e4e4e4;
  --border-light-grey: #e4e4e49f;
  --border-radius-sm: 6px;
  --box-shadow-light: rgba(0, 0, 0, 0.1) 0px 2px 4px;
  --item-hover: rgba(0, 0, 0, 0.1);
}

/* Amélioration affichage des polices */
/* font-display pour la règle @font-face détermine comment une police 
* est affichée en fonction de son état 
* de téléchargement et de disponibilité. */
/* swap =
* La période de blocage est extrêmement courte
* et est suivie par une période d'échange infinie.
 */
@font-face {
  font-family: "Font Awesome 7 Free";
  src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/webfonts/fa-solid-900.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Font Awesome 7 Brands";
  src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/webfonts/fa-brands-400.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYbSB4Zh.woff2") format("woff2");
  font-display: swap;
}


html,
body {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  /* pour footer fixe */
  height: 100%;
}

body {
  font-family: "IBM Plex Sans", sans-serif;
  color: var(--text-dark);
  background-color: #ffffff;
  /* pour footer fixe */
  display: flex;
  flex-direction: column;
}

body * {
  margin: 0;
  padding: 0;
}

main.content-container {
  /* pour footer fixe */
  flex: 1 0 auto;
}

.page-content {
    margin: 2rem 1.5rem;
}

button {
  transition: all 300ms ease 0s;
  cursor: pointer;
}
a {
  text-decoration: none;
  transition: all 300ms ease 0s;
  cursor: pointer;
}

ul {
  list-style: none;
}

a img,
img {
  border: 0;
  display: inline-block;
  vertical-align: middle;
}

/* bouton couleur bleu vert Céreq */
.cereq-button {
  background-color: var(--cereq-color);
  color: #fff;
  border: 0;
  border-radius: var(--border-radius-sm);
  line-height: 1;
  padding: 8px;
}

.cereq-button:hover {
  background-color: var(--cereq-color-dark);
}

.cereq-button > * {
  color: #fff;
}

/* bouton blanc avec contenu bleu vert Céreq */
.cereq-button-light {
  background-color: #fff;
  color: var(--cereq-color);
  /* border: 1px solid #bdbdbd; */
  border: 1px solid var(--border-grey);
  border-radius: var(--border-radius-sm);
  line-height: 1;
  padding: 8px;
}

.cereq-button-light:hover {
  background-color: var(--item-hover);
}

.cereq-button-light > * {
  color: var(--cereq-color);
}

/* lien externe */
.external-link {
  position: relative;
}

.external-link::after {
  content: "";
  /* retirer la marge affectée à droite de l'icône */
  width: calc(100% - 5px);
  height: 1px;
  background: var(--cereq-color);
  position: absolute;
  bottom: -2px;
  left: 0;
}
.external-link:hover::after {
  background: var(--cereq-color-dark);
  height: 2px;
}