@font-face {
  font-family: 'Raleway';
  src: url('../webfonts/raleway-bold-webfont.woff2') format('woff2'), url('../webfonts/raleway-bold-webfont.woff') format('woff'), url('../webfonts/raleway-bold-webfont.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'Raleway';
  src: url('../webfonts/raleway-extrabold-webfont.woff2') format('woff2'), url('../webfonts/raleway-extrabold-webfont.woff') format('woff'), url('../webfonts/raleway-extrabold-webfont.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: 'Raleway';
  src: url('../webfonts/raleway-italic-webfont.woff2') format('woff2'), url('../webfonts/raleway-italic-webfont.woff') format('woff'), url('../webfonts/raleway-italic-webfont.ttf') format('truetype');
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: 'Raleway';
  src: url('../webfonts/raleway-regular-webfont.woff2') format('woff2'), url('../webfonts/raleway-regular-webfont.woff') format('woff'), url('../webfonts/raleway-regular-webfont.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
html {
  line-height: 1.4;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/* Sections
   ========================================================================== */
body {
  margin: 0;
  font-family: 'Raleway', sans-serif;
}
main {
  display: block;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}
/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}
/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}
/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}
/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
.column-left {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 300px;
  transition: width 0.4s ease;
  padding: 20px 0;
  background-color: #5ea432;
  box-sizing: border-box;
  color: white;
  overflow: auto;
}
.column-left .head {
  margin: 0 20px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
}
.column-left .logo svg {
  width: 120px;
  height: 20px;
}
.column-left .switch-menu {
  transition: transform 0.3s ease;
}
.column-left .switch-menu svg {
  width: 30px;
  height: 30px;
}
.column-left .switch-menu svg path {
  fill: white;
}
.column-left .switch-menu:hover svg path {
  fill: #afde91;
}
.main-content {
  margin-left: 300px;
  transition: margin-left 0.5s ease;
}
.page {
  overflow: hidden;
  box-sizing: border-box;
}
.page.page-title .container {
  padding-top: 60px;
  padding-bottom: 20px;
}
.page.page-title h2 {
  border: 0;
  margin: 0;
  padding: 0;
  font-size: 4em;
  position: relative;
  display: inline-block;
  font-weight: normal;
  line-height: 1.2;
  color: #5ea432;
}
.page.page-title h2::before {
  content: '';
  background-color: #5ea432;
  position: absolute;
  top: -10px;
  height: 4px;
  right: 0;
  left: -1000px;
}
.page.page-title h2 + * {
  margin-top: 2em;
}
.page .container {
  box-sizing: border-box;
  padding: 40px 20px;
  max-width: 1200px;
  margin: 0 auto;
}
.page .inside {
  max-width: 1120px;
}
.page .max-texts {
  max-width: 50em;
}
.main-content.stable-scroll .page {
  min-height: 0;
}
body.minified .main-content {
  margin-left: 50px;
}
body.minified .column-left {
  padding: 20px 10px;
  width: 50px;
}
body.minified .column-left .head {
  margin: 0;
}
body.minified .logo,
body.minified .main-menu {
  display: none;
}
body.minified .switch-menu {
  transform: rotate(180deg);
}
.tabs .tabs-menu {
  display: block;
  list-style: none;
  padding: 0;
  margin: 0.25em 0;
}
.tabs .tabs-menu li {
  padding: 0;
  display: inline-block;
  margin: 0 0.5em;
}
.tabs .tabs-menu a {
  text-decoration: none;
  font-weight: bold;
  color: #9aa4af;
}
.tabs .tabs-menu li.active a {
  color: black;
}
.tabs .tab {
  display: none;
}
.tabs .tab.active {
  display: block;
}
.main-menu__main {
  font-size: 0.875em;
  line-height: 1.2;
  padding: 0;
  margin: 0;
  margin-top: 1em;
  list-style: none;
}
.main-menu__main ul {
  padding-left: 0;
}
.main-menu__main ul a {
  padding-left: 40px;
}
.main-menu__main ul a.active:before {
  left: 20px;
}
.main-menu__main li {
  display: block;
  padding: 0;
  margin: 0;
}
.main-menu__main a {
  display: block;
  padding: 4px 20px;
  color: white;
  text-decoration: none;
  position: relative;
}
.main-menu__main a:hover {
  background-color: #53902c;
}
.main-menu__main a.active {
  background-color: #487d26;
}
.main-menu__main a.active:before {
  content: '';
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid white;
  border-right: 1px solid white;
  transform: translateY(-50%) rotate(45deg);
  position: absolute;
  left: 5px;
  top: 50%;
}
.menu-years {
  display: block;
  list-style: none;
  padding: 0 20px;
  margin: 0.5em 0;
}
.menu-years li {
  display: inline-block;
  padding: 0;
  margin: 0 0.7em 0 0;
}
.menu-years a {
  color: white;
  text-decoration: none;
  font-weight: bold;
  opacity: 0.6;
}
.menu-years a:hover {
  text-decoration: underline;
}
.menu-years a.is-active {
  opacity: 1;
}
h2 {
  color: #4e5862;
  font-weight: 800;
  margin: 1em 0 0.75em;
  text-transform: uppercase;
  font-size: 2em;
  line-height: 1.2;
}
h3 {
  color: #4e5862;
  font-weight: 700;
  margin: 1em 0 0.75em;
  font-size: 1.7em;
}
.animate {
  opacity: 0;
}
.number {
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}
.table {
  border-collapse: collapse;
}
.table th,
.table td {
  text-align: left;
  padding: 0.4em 0.8em;
  border-bottom: 1px solid #ccc;
}
.table th:first-child,
.table td:first-child {
  padding-left: 0;
}
.table th:last-child,
.table td:last-child {
  padding-right: 0;
}
.two-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2em;
}
.two-cols.quarter {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.two-cols .expand-2 {
  grid-column: span 2;
}
.two-cols .expand-3 {
  grid-column: span 3;
}
.two-cols.triple {
  grid-template-columns: 1fr 1fr 1fr;
}
.two-cols.vertical-align {
  align-items: center;
}
.two-cols > * > :first-child {
  margin-top: 0;
}
.two-columns {
  columns: 2;
  column-gap: 4%;
  orphans: 2;
  widows: 2;
}
.two-columns > :first-child {
  margin-top: 0;
}
.demi {
  max-width: 538px;
}
hr.sep {
  margin: 3em auto;
  width: 25em;
  height: 1px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0) 100%);
  border: 0;
  position: relative;
}
hr.sep:after {
  content: '';
  position: absolute;
  top: 1px;
  left: 0;
  right: 0;
  height: 15px;
  background: radial-gradient(ellipse at top, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 50%);
}
div.numbers {
  display: flex;
  flex-flow: row nowrap;
  padding: 5px;
  border: 1px solid #ccc;
  align-items: center;
  margin: 1em 0;
}
div.numbers h3 {
  flex-grow: 1;
  text-align: center;
  color: #5ea432;
}
div.numbers .num-container {
  margin-left: 10px;
  background-color: #f0f0f0;
  position: relative;
}
div.numbers .num-container .title {
  position: absolute;
  top: 4px;
  left: 4px;
  right: 4px;
  text-align: center;
  font-size: 0.875em;
  color: #777;
}
div.numbers .num-container .num {
  font-weight: 800;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
  font-size: 4em;
  padding: 15px 8px 5px;
  text-align: center;
  width: 3em;
}
.numbers-list {
  display: grid;
  flex-flow: row nowrap;
  justify-content: space-between;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2em;
}
.numbers-list h3 {
  font-size: 1.25em;
}
.numbers-list > * {
  text-align: center;
}
.numbers-list > *:nth-child(1) .num {
  background-color: #abcef6;
  color: #0d417b;
}
.numbers-list > *:nth-child(2) .num {
  background-color: #cbeab8;
  color: #3c6920;
}
.numbers-list > *:nth-child(3) .num {
  background-color: #c4edea;
  color: #25746f;
}
.numbers-list > *:nth-child(4) .num {
  background-color: #f3c1c3;
  color: #811a1e;
}
.numbers-list > *:nth-child(5) .num {
  background-color: #f8e9a2;
  color: #947d0b;
}
.numbers-list > *:nth-child(6) .num {
  background-color: #f0cef1;
  color: #7f2681;
}
.numbers-list h3 {
  text-align: center;
}
.numbers-list h4 {
  text-align: center;
}
.numbers-list .num-meta {
  display: block;
  position: relative;
  color: #666;
}
.numbers-list .num-meta:first-child {
  margin-bottom: 0;
}
.numbers-list .num-meta::before {
  content: attr(data-year);
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.numbers-list .ib {
  display: inline-block;
}
.numbers-list .num {
  display: inline-block;
  background-color: #f0f0f0;
  font-weight: 800;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
  font-size: 2.5em;
  padding: 0.85em 8px 5px;
  text-align: center;
  width: 3.2em;
  box-sizing: border-box;
  max-width: 100%;
  height: 3.2em;
  border-radius: 300px;
}
.numbers-list .num.small-ext .ext {
  font-size: 0.5em;
}
.numbers-list .num.num-old {
  font-size: 1.25em;
  padding: 1em 0 0.5em;
  background-color: transparent;
  height: auto;
}
.numbers-list .num.wide {
  width: 5em;
}
.numbers-list .num.wide-2 {
  width: 8em;
}
.numbers-list .nums-old {
  display: inline-block;
  vertical-align: middle;
}
.numbers-list .nums-old.nb4 {
  columns: 2;
}
.numbers-list .nums-alt {
  vertical-align: middle;
  display: inline-block;
}
.numbers-list .nums-alt .num {
  padding: 0.6em 8px 5px;
  font-size: 2em;
  width: 2.5em;
  height: 2.5em;
}
.numbers-list .nums-alt .title {
  max-width: 10em;
}
.hidden-pie svg,
.pie svg {
  max-width: 100%;
  margin: 0 auto;
  display: block;
}
.projects {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
}
.projects > div {
  width: 24%;
  margin: 0 1em;
}
.projects .img-container {
  position: relative;
  padding-top: 67.25%;
  background: white;
}
.projects .img-container img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  height: auto;
  transform: translate(-50%, -50%);
}
.projects a {
  display: block;
  margin: 0.5em 1em;
  text-decoration: none;
  width: 24%;
  box-sizing: border-box;
  padding: 5px;
  border: 1px solid #ccc;
  margin-bottom: 10px;
  text-align: center;
  transition: all 0.5s ease;
}
.projects a img {
  display: block;
  max-width: 100%;
}
.projects a .title {
  color: #5ea432;
  font-size: 1.25em;
  display: block;
  font-weight: bold;
  padding: 0.3em 0;
  text-align: center;
}
.projects a .more {
  display: inline-block;
  color: #4e5862;
  padding: 0.3em 1em;
  background-color: #f0f0f0;
  border-radius: 55px;
  margin: 0.5em auto;
}
.projects a:hover {
  cursor: pointer;
  background-color: #daefcc;
}
.projects-2024 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
}
.projects-2024 > div {
  width: auto;
}
.projects-2024 a {
  position: relative;
  margin: 0;
  width: auto;
  border: 0;
  background-color: #666;
  color: white;
  box-shadow: rgba(0, 0, 0, 0.6) 0px 5px 8px;
}
.projects-2024 a .title {
  color: white;
  font-size: 1.15em;
  text-align: left;
  padding: 5px 10px;
}
.projects-2024 a .more {
  display: none;
}
.projects-2024 a:hover {
  background-color: #222;
}
.legend {
  text-align: center;
  color: #777;
  font-weight: normal;
  font-size: 0.875em;
}
p.leg {
  color: #777;
  font-size: 0.875em;
}
.t-center {
  text-align: center;
}
figure {
  margin: 2em 0;
  padding: 1.5em;
  border: 1px solid #d1ecc0;
  background-color: #eff8e9;
  border-radius: 4px;
}
figure blockquote {
  margin: 0 0 1em;
}
figure blockquote:before {
  content: '« ';
  font-size: 1.4em;
  line-height: 1;
  color: #5ea432;
}
figure blockquote:after {
  content: ' »';
  font-size: 1.4em;
  line-height: 1;
  color: #5ea432;
}
.infobulle {
  position: relative;
  border-bottom: 1px dotted #444;
}
.infobulle .desc {
  position: absolute;
  display: block;
  bottom: 80%;
  left: 50%;
  transform: translateX(-25%);
  padding: 8px;
  background-color: white;
  border: 1px solid #999;
  text-align: center;
  min-width: 280px;
  transition: all 0.2s ease;
  opacity: 0;
  pointer-events: none;
  z-index: 500;
}
.infobulle .desc::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 25%;
  width: 10px;
  height: 10px;
  background-color: white;
  border: 1px solid #999;
  border-top-color: transparent;
  border-left-color: transparent;
  transform: translate(-5px, -5px) rotate(45deg);
}
.infobulle:hover .desc {
  bottom: 120%;
  opacity: 1;
}
.label-value {
  display: grid;
  grid-template-columns: 5fr 1fr 5fr 1fr 5fr 1fr;
  gap: 5px;
}
.label-value .item-label,
.label-value .item-value {
  padding: 5px 10px;
  border: 1px solid #999;
}
.label-value .item-value {
  font-variant-numeric: lining-nums;
  background-color: #999;
  color: white;
  text-align: center;
  font-weight: bold;
  margin-left: -5px;
}
img.resp {
  max-width: 100%;
  height: auto;
}
img.circle {
  border-radius: 500px;
}
.text-small {
  font-size: 0.875em;
}
.single-text {
  max-width: 55em;
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-long {
  hyphens: auto;
  text-align: justify;
}
p.head {
  margin: 1.5em 0;
  font-size: 1.5em;
}
.comment {
  margin: 2em 0;
  padding: 1.5em;
  border: 1px solid #d1ecc0;
  background-color: #eff8e9;
  border-radius: 4px;
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 2em;
  align-items: center;
}
.comment.small {
  grid-template-columns: 1fr 3fr;
}
.comment > :first-child {
  text-align: center;
}
.comment > * > :first-child {
  margin-top: 0;
}
.comment > * > :last-child {
  margin-bottom: 0;
}
.comment svg {
  width: 70px;
  height: 70px;
  color: #5ea432;
}
.comment p {
  text-align: justify;
  hyphens: auto;
}
.animate__animated {
  --animate-duration: 0.6s;
}
@keyframes fadeInLeftAross {
  from {
    opacity: 0;
    transform: translate3d(-50%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRightAross {
  from {
    opacity: 0;
    transform: translate3d(50%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInLeft {
  animation-name: fadeInLeftAross;
}
.animate__fadeInRight {
  animation-name: fadeInRightAross;
}
.mt-1 {
  margin-top: 1em;
}
.mt-2 {
  margin-top: 1.5em;
}
.mt-3 {
  margin-top: 2em;
}
.mt-4 {
  margin-top: 3em;
}
.mt-5 {
  margin-top: 4em;
}
.mt-6 {
  margin-top: 5em;
}
body.popin {
  overflow: hidden;
}
.page.page-popin {
  display: none;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.4);
  background-image: none;
}
.page.page-popin .inside {
  margin: 0 auto;
  background-color: white;
  box-sizing: border-box;
  height: 90vh;
  position: relative;
}
.page.page-popin .content {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding-top: 1em;
  overflow: auto;
}
.page.page-popin .text {
  padding: 30px;
  background-color: rgba(255, 255, 255, 0.8);
  margin-left: 40%;
  margin-right: 5%;
}
.page.page-popin .text:first-child {
  margin-top: 0;
}
.page.page-popin .close {
  z-index: 2;
  position: absolute;
  top: 1em;
  left: 1em;
  color: #5ea432;
  text-transform: uppercase;
  font-weight: bold;
  text-decoration: none;
  background-color: white;
  padding: 0.3em 1em;
  border-radius: 100px;
}
.page.page-home h1 {
  font-size: 5em;
}
.page.page-ca .table td {
  border: 0;
  padding-bottom: 1em;
  vertical-align: top;
}
.page.page-ca .table td:first-child {
  width: 10em;
}
.page.page-compta-2022 {
  background: url(../images/compta-2022.jpg) no-repeat 50% 50%;
  background-size: cover;
  background-attachment: fixed;
}
.page.page-compta-2022 .text {
  padding: 30px;
  background-color: rgba(255, 255, 255, 0.8);
  margin-left: 40%;
}
.page.page-projects .projects-list {
  display: grid;
  gap: 2em;
  grid-template-columns: 1fr 1fr;
  counter-reset: PROJECTS;
}
.page.page-projects .projects-list .project {
  counter-increment: PROJECTS;
}
.page.page-projects .projects-list .project h3 {
  font-weight: normal;
  font-size: 2em;
  min-height: 2.5em;
  margin: 2em 0 15px;
  line-height: 1.1;
  position: relative;
}
.page.page-projects .projects-list .project h3::before {
  font-size: 1.5em;
  position: absolute;
  content: '#' counter(PROJECTS);
  left: 0;
  bottom: 100%;
  margin-bottom: 10px;
}
.page.page-projects .projects-list .project:nth-child(5n + 1) h3::before {
  color: #abcef6;
}
.page.page-projects .projects-list .project:nth-child(5n + 2) h3::before {
  color: #f3c1c3;
}
.page.page-projects .projects-list .project:nth-child(5n + 3) h3::before {
  color: #f8e9a2;
}
.page.page-projects .projects-list .project:nth-child(5n + 4) h3::before {
  color: #cbeab8;
}
.page.page-projects .projects-list .project:nth-child(5n + 5) h3::before {
  color: #f0cef1;
}
.page.page-projects .status {
  position: relative;
  margin: 10px 0;
  width: 180px;
  height: 20px;
  border: 2px solid;
  border-radius: 5px;
  border-color: #ccc;
}
.page.page-projects .status::before {
  content: '';
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  bottom: 0;
  background-color: #ccc;
  transition: width 0.75s ease;
}
.page.page-projects .status.status-wip {
  border-color: #cbeab8;
}
.page.page-projects .status.status-wip::before {
  background-color: #cbeab8;
}
.page.page-projects .status.status-advanced {
  border-color: #abcef6;
}
.page.page-projects .status.status-advanced::before {
  background-color: #abcef6;
}
.page.page-projects .animated .status.status-pending::before {
  width: 15px;
}
.page.page-projects .animated .status.status-wip::before {
  width: 35%;
}
.page.page-projects .animated .status.status-advanced::before {
  width: 70%;
}
.page.page-ou h4 {
  font-size: 1.5em;
  padding-top: 0.5em;
}
.page.page-comptes {
  text-align: center;
  background: url(../images/comptes.jpg) no-repeat 50% 50%;
  background-size: cover;
  background-attachment: fixed;
}
.page.page-comptes .inside {
  max-width: 450px;
  background: white;
  margin: 2em auto;
  padding: 20px;
}
.page.page-comptes .bigfile {
  display: block;
  margin: 2em auto;
  max-width: 350px;
  text-align: left;
}
.page.page-comptes .bigfile a {
  text-decoration: none;
}
.page-tisser .projects-list {
  margin: 2em 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2em;
}
.page-tisser .projects-list > * {
  padding-left: 25px;
  border-left: 4px solid black;
}
.page-tisser .projects-list > * > :last-child {
  margin-bottom: 0;
}
.page-tisser .projects-list > *:nth-child(5n + 1) {
  border-color: #abcef6;
}
.page-tisser .projects-list > *:nth-child(5n + 2) {
  border-color: #f3c1c3;
}
.page-tisser .projects-list > *:nth-child(5n + 3) {
  border-color: #f8e9a2;
}
.page-tisser .projects-list > *:nth-child(5n + 4) {
  border-color: #cbeab8;
}
.page-tisser .projects-list > *:nth-child(5n + 5) {
  border-color: #f0cef1;
}
.page-tisser .projects-list h4 {
  font-weight: normal;
  font-size: 1.7em;
  line-height: 1.2;
  margin: 0 0 10px;
}
.age-bars,
.graph-bars {
  margin: 1em 0 2em;
  position: relative;
}
.age-bars .legend,
.graph-bars .legend {
  position: relative;
  z-index: 6;
  margin-bottom: 0.75em;
}
.age-bars .legend .el,
.graph-bars .legend .el {
  display: inline-block;
  margin: 0 0.6em;
  text-decoration: none;
  color: #aaa;
  background-color: white;
  padding: 3px 5px 4px;
  border-radius: 4px;
  border: 1px solid #ccc;
}
.age-bars .legend .el.active,
.graph-bars .legend .el.active {
  opacity: 1;
  color: black;
  border-color: #666;
}
.age-bars .legend .el:hover,
.graph-bars .legend .el:hover {
  background-color: #e7f1fc;
}
.age-bars .legend .quad,
.graph-bars .legend .quad {
  display: inline-block;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  border-radius: 4px;
  background-color: #cbeab8;
  border: 1px solid #84cc57;
}
.age-bars .legend .quad.b-1,
.graph-bars .legend .quad.b-1 {
  background-color: #abcef6;
  border: 1px solid #388be9;
}
.age-bars .legend .quad.b-2,
.graph-bars .legend .quad.b-2 {
  background-color: #f3c1c3;
  border: 1px solid #dd575d;
}
.age-bars .legend .quad.b-3,
.graph-bars .legend .quad.b-3 {
  background-color: #f8e9a2;
  border: 1px solid #efcf30;
}
.age-bars .legend .quad.b-4,
.graph-bars .legend .quad.b-4 {
  background-color: #f0cef1;
  border: 1px solid #d26cd4;
}
.age-bars .legend .quad.b-5,
.graph-bars .legend .quad.b-5 {
  background-color: #c4edea;
  border: 1px solid #64cec7;
}
.age-bars.graph-vertical,
.graph-bars.graph-vertical {
  margin-bottom: 4em;
}
.age-bars.graph-vertical.small-lines .lines .line:not(:first-child),
.graph-bars.graph-vertical.small-lines .lines .line:not(:first-child) {
  right: auto;
  width: 3em;
}
.age-bars.graph-vertical.with-legend .bars,
.graph-bars.graph-vertical.with-legend .bars {
  margin-right: 200px;
}
.age-bars.graph-vertical.with-legend .lines .line,
.graph-bars.graph-vertical.with-legend .lines .line {
  right: 200px;
}
.age-bars.graph-vertical.with-legend .legend,
.graph-bars.graph-vertical.with-legend .legend {
  position: absolute;
  top: 0;
  right: 0;
  width: 180px;
}
.age-bars.graph-vertical.with-legend .legend .el,
.graph-bars.graph-vertical.with-legend .legend .el {
  display: block;
  margin: 0.6em 0;
  text-align: left;
}
.age-bars.graph-stacked .bars-vertical .bar > .bar-bar,
.graph-bars.graph-stacked .bars-vertical .bar > .bar-bar {
  display: flex;
  flex-flow: column-reverse nowrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
.age-bars.graph-stacked .bars-vertical .bar > .bar-bar .bar-bar,
.graph-bars.graph-stacked .bars-vertical .bar > .bar-bar .bar-bar {
  transition: 0.9s all ease;
}
.age-bars.graph-stacked .bars-vertical .bar > .bar-bar .bar-value,
.graph-bars.graph-stacked .bars-vertical .bar > .bar-bar .bar-value {
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  padding: 0 0 0 5px;
  display: none;
}
.age-bars.graph-stacked .bars-vertical .bar > .bar-bar .bar-bar:hover .bar-value,
.graph-bars.graph-stacked .bars-vertical .bar > .bar-bar .bar-bar:hover .bar-value {
  display: block;
}
.age-bars.graph-stacked .bars-vertical .bar > .bar-bar .bar-bar-inside,
.graph-bars.graph-stacked .bars-vertical .bar > .bar-bar .bar-bar-inside {
  height: 100%;
  border-radius: 0;
}
.age-bars.graph-labels-above .lines,
.graph-bars.graph-labels-above .lines {
  left: 0;
}
.age-bars.graph-labels-above .bar-bar,
.graph-bars.graph-labels-above .bar-bar {
  width: 100%;
}
.age-bars.graph-labels-above .bar-label,
.graph-bars.graph-labels-above .bar-label {
  width: auto;
  padding: 4px 0;
  background-color: white;
  position: relative;
  z-index: 10;
  display: inline-block;
  margin-top: 10px;
}
.age-bars.graph-labels-above.big-labels .lines,
.graph-bars.graph-labels-above.big-labels .lines,
.age-bars.graph-labels-above.medium-labels .lines,
.graph-bars.graph-labels-above.medium-labels .lines {
  left: 0;
}
.age-bars.graph-labels-above.big-labels .bar-bar,
.graph-bars.graph-labels-above.big-labels .bar-bar,
.age-bars.graph-labels-above.medium-labels .bar-bar,
.graph-bars.graph-labels-above.medium-labels .bar-bar {
  width: 100%;
}
.age-bars.graph-labels-above.big-labels .bar-label,
.graph-bars.graph-labels-above.big-labels .bar-label,
.age-bars.graph-labels-above.medium-labels .bar-label,
.graph-bars.graph-labels-above.medium-labels .bar-label {
  width: auto;
}
.age-bars .bar,
.graph-bars .bar {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.age-bars .bar-label,
.graph-bars .bar-label {
  width: 27.5%;
  padding-right: 0.5em;
  box-sizing: border-box;
}
.age-bars .bar-bar,
.graph-bars .bar-bar {
  width: 65%;
  padding: 5px 0;
}
.age-bars .bar-bar .bar-bar,
.graph-bars .bar-bar .bar-bar {
  width: auto;
}
.age-bars .bar-bar-inside,
.graph-bars .bar-bar-inside {
  height: 20px;
  background-color: #cbeab8;
  border: 1px solid #84cc57;
  border-radius: 2px;
  box-sizing: border-box;
  position: relative;
  transition: 0.9s all ease;
  z-index: 10;
}
.age-bars .old,
.graph-bars .old {
  width: auto;
}
.age-bars .old .bar-bar-inside,
.graph-bars .old .bar-bar-inside {
  background-color: #abcef6;
  border: 1px solid #388be9;
}
.age-bars .bar-bar.b-1 .bar-bar-inside,
.graph-bars .bar-bar.b-1 .bar-bar-inside {
  background-color: #abcef6;
  border: 1px solid #388be9;
}
.age-bars .bar-bar.b-2 .bar-bar-inside,
.graph-bars .bar-bar.b-2 .bar-bar-inside {
  background-color: #f3c1c3;
  border: 1px solid #dd575d;
}
.age-bars .bar-bar.b-3 .bar-bar-inside,
.graph-bars .bar-bar.b-3 .bar-bar-inside {
  background-color: #f8e9a2;
  border: 1px solid #efcf30;
}
.age-bars .bar-bar.b-4 .bar-bar-inside,
.graph-bars .bar-bar.b-4 .bar-bar-inside {
  background-color: #f0cef1;
  border: 1px solid #d26cd4;
}
.age-bars .bar-bar.b-5 .bar-bar-inside,
.graph-bars .bar-bar.b-5 .bar-bar-inside {
  background-color: #c4edea;
  border: 1px solid #64cec7;
}
.age-bars .bar-value,
.graph-bars .bar-value {
  position: absolute;
  left: 100%;
  top: 50%;
  padding-left: 1em;
  transform: translateY(-50%);
  font-size: 0.875em;
}
.age-bars .bars-vertical,
.graph-bars .bars-vertical {
  display: flex;
  flex-flow: row nowrap;
  height: 250px;
}
.age-bars .bars-vertical .bar,
.graph-bars .bars-vertical .bar {
  display: block;
  height: 100%;
  position: relative;
}
.age-bars .bars-vertical .bar > .bar-bar,
.graph-bars .bars-vertical .bar > .bar-bar {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
}
.age-bars .bars-vertical .bar-bar-inside,
.graph-bars .bars-vertical .bar-bar-inside {
  width: 20px;
  position: absolute;
  bottom: 0;
}
.age-bars .bars-vertical .bar-value,
.graph-bars .bars-vertical .bar-value {
  position: absolute;
  left: 50%;
  top: 0;
  padding-left: 0;
  transform: translate(-50%, -2em);
  font-size: 0.75em;
}
.age-bars .bars-vertical .bar-label,
.graph-bars .bars-vertical .bar-label {
  width: auto;
  position: absolute;
  left: 4px;
  right: 4px;
  top: 100%;
  text-align: center;
  font-size: 1em;
  margin-top: 10px;
}
.age-bars .bars-vertical .bar-bar,
.graph-bars .bars-vertical .bar-bar {
  height: 100%;
  padding: 0;
  margin: 0 auto;
}
.age-bars .bars-vertical .bar-bar .bar-bar,
.graph-bars .bars-vertical .bar-bar .bar-bar {
  position: relative;
  width: 22px;
  margin: 0 5px;
}
.age-bars .bars-vertical .bar-diff,
.graph-bars .bars-vertical .bar-diff {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
}
.age-bars .bars-vertical .bar-diff::before,
.graph-bars .bars-vertical .bar-diff::before {
  width: 24px;
  height: 24px;
  content: '';
  display: block;
  margin: 0 auto;
  background: url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16.3153%2016.6681C15.9247%2017.0587%2015.9247%2017.6918%2016.3153%2018.0824C16.7058%2018.4729%2017.339%2018.4729%2017.7295%2018.0824L22.3951%2013.4168C23.1761%2012.6357%2023.1761%2011.3694%2022.3951%2010.5883L17.7266%205.9199C17.3361%205.52938%2016.703%205.52938%2016.3124%205.91991C15.9219%206.31043%2015.9219%206.9436%2016.3124%207.33412L19.9785%2011.0002L2%2011.0002C1.44772%2011.0002%201%2011.4479%201%2012.0002C1%2012.5524%201.44772%2013.0002%202%2013.0002L19.9832%2013.0002L16.3153%2016.6681Z%22%20fill%3D%22%230F0F0F%22%2F%3E%3C%2Fsvg%3E);
}
.age-bars .bars-vertical .bar-diff.pos,
.graph-bars .bars-vertical .bar-diff.pos {
  color: #5ea432;
}
.age-bars .bars-vertical .bar-diff.neg,
.graph-bars .bars-vertical .bar-diff.neg {
  color: #c1272d;
}
.age-bars .bars-vertical .bar-diff.pos::before,
.graph-bars .bars-vertical .bar-diff.pos::before {
  transform: rotate(-45deg);
}
.age-bars .bars-vertical .bar-diff.neg::before,
.graph-bars .bars-vertical .bar-diff.neg::before {
  transform: rotate(45deg);
}
.age-bars .bars-vertical .bar-diff .n,
.graph-bars .bars-vertical .bar-diff .n {
  display: block;
  margin-top: 0.5em;
}
.age-bars.with-lines .bars-vertical,
.graph-bars.with-lines .bars-vertical {
  margin-left: 50px;
}
.age-bars .lines,
.graph-bars .lines {
  position: absolute;
  top: 0;
  left: 27.5%;
  right: 10%;
  bottom: 0;
  z-index: 5;
}
.age-bars .lines .line,
.graph-bars .lines .line {
  position: absolute;
  top: 0;
  bottom: -25px;
  width: 1px;
  background-color: #bbb;
}
.age-bars .lines .line .val,
.graph-bars .lines .line .val {
  position: absolute;
  bottom: 0;
  left: 5px;
  font-size: 0.875em;
  color: #999;
}
.age-bars .lines.lines-vertical,
.graph-bars .lines.lines-vertical {
  left: 0;
  right: 0;
  height: 250px;
}
.age-bars .lines.lines-vertical .line,
.graph-bars .lines.lines-vertical .line {
  height: 1px;
  width: auto;
  top: auto;
  left: 0;
  right: 0;
}
.age-bars.hidden .bar-bar-inside,
.graph-bars.hidden .bar-bar-inside {
  width: 0%!important;
}
.age-bars.graph-vertical:not(.graph-stacked).hidden .bar-bar-inside,
.graph-bars.graph-vertical:not(.graph-stacked).hidden .bar-bar-inside {
  width: 20px!important;
  height: 0%!important;
}
.age-bars.graph-stacked.hidden .bar-bar .bar-bar,
.graph-bars.graph-stacked.hidden .bar-bar .bar-bar {
  height: 0%!important;
}
.age-bars.graph-stacked.hidden .bar-bar-inside,
.graph-bars.graph-stacked.hidden .bar-bar-inside {
  width: 20px!important;
}
.age-bars.big-labels .bar-label,
.graph-bars.big-labels .bar-label {
  width: 35%;
}
.age-bars.big-labels .bar-bar,
.graph-bars.big-labels .bar-bar {
  width: 55%;
}
.age-bars.big-labels .bar-bar .bar-bar,
.graph-bars.big-labels .bar-bar .bar-bar {
  width: auto;
}
.age-bars.big-labels .lines,
.graph-bars.big-labels .lines {
  left: 35%;
}
.age-bars.big-labels .lines-vertical,
.graph-bars.big-labels .lines-vertical {
  left: 0;
}
.age-bars.big-labels .bars-vertical .bar-label,
.graph-bars.big-labels .bars-vertical .bar-label {
  width: auto;
}
.age-bars.big-labels .bars-vertical .bar-bar,
.graph-bars.big-labels .bars-vertical .bar-bar {
  width: auto;
}
.age-bars.big-labels .bars-vertical .bar-bar .bar-bar,
.graph-bars.big-labels .bars-vertical .bar-bar .bar-bar {
  width: 22px;
}
.age-bars.medium-labels .bar-label,
.graph-bars.medium-labels .bar-label {
  width: 15%;
}
.age-bars.medium-labels .bar-bar,
.graph-bars.medium-labels .bar-bar {
  width: 75%;
}
.age-bars.medium-labels .bar-bar .bar-bar,
.graph-bars.medium-labels .bar-bar .bar-bar {
  width: auto;
}
.age-bars.medium-labels .lines,
.graph-bars.medium-labels .lines {
  left: 0;
}
.age-bars.small-labels .bar-label,
.graph-bars.small-labels .bar-label {
  width: 5%;
}
.age-bars.small-labels .bar-bar,
.graph-bars.small-labels .bar-bar {
  width: 85%;
}
.age-bars.small-labels .bar-bar .bar-bar,
.graph-bars.small-labels .bar-bar .bar-bar {
  width: auto;
}
.age-bars.small-labels .lines,
.graph-bars.small-labels .lines {
  left: 5%;
}
.age-bars .bar {
  min-height: 2em;
}
.age-bars .bar .bar-bar {
  min-height: 20px;
  position: relative;
}
.age-bars .bar .bar-bar .bar-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.age-bars .legend .el {
  padding: 0;
  border: 0;
  background-color: transparent;
  color: black;
}
.age-bars .legend .el:hover {
  background-color: transparent;
}
.age-bars .legend .el:last-child .quad {
  background-color: #abcef6;
  border: 1px solid #388be9;
}
.bigfile a {
  border: 1px solid #ccc;
  display: flex;
  flex-flow: row nowrap;
  background-color: white;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
  color: #222;
  align-items: center;
}
.bigfile a:hover,
.bigfile a:focus {
  outline: 0;
  text-decoration: none;
  background-color: #f0f0f0;
}
.bigfile a:hover .icon,
.bigfile a:focus .icon {
  background-color: #5ea432;
  color: white;
}
.bigfile .infos {
  flex: 1;
  padding: 10px 10px 10px 15px;
}
.bigfile .infos span {
  display: block;
}
.bigfile .meta {
  color: #4e5862;
  font-size: 0.875em;
}
.bigfile .icon {
  color: #4e5862;
  background-color: #f0f0f0;
  padding: 12px 16px;
  font-size: 1.75em;
  align-self: stretch;
  display: flex;
  align-items: center;
}
.bigfile .icon.icon-file-word-o {
  color: #1565c0;
}
.bigfile .icon.icon-file-excel-o {
  color: #5ea432;
}
.bigfile .icon.icon-file-pdf-o {
  color: #c1272d;
}
.show-mobile {
  display: none;
}
@media screen and (max-width: 64em) {
  .numbers-list {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 37.5em) {
  .main-menu__main {
    font-size: 1em;
  }
  .main-menu__main li a {
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .numbers-list {
    grid-template-columns: 1fr;
  }
  .page.page-home h1 {
    font-size: 2.5em;
  }
  .page.page-title h2 {
    font-size: 2em;
  }
  .two-cols {
    display: block;
  }
  .page-ca table,
  .page-ca tbody,
  .page-ca tr,
  .page-ca td {
    display: block;
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
  .show-mobile {
    display: block;
  }
  .hide-mobile {
    display: none;
  }
  .main-content {
    margin-top: 50px;
    margin-left: 0;
  }
  .column-left {
    width: auto;
    right: 0;
    bottom: auto;
    z-index: 900;
    padding: 8px 0;
  }
  .column-left .logo {
    margin-top: 5px;
  }
  .column-left .main-menu {
    display: none;
  }
  body.minified .main-content {
    margin-left: 0;
  }
  body.minified .column-left {
    width: auto;
    padding: 8px 20px;
  }
  body.minified .column-left .logo,
  body.minified .column-left .main-menu {
    display: block;
  }
  .page.page-projects .projects-list {
    grid-template-columns: 1fr;
  }
  .page-tisser .projects-list {
    grid-template-columns: 1fr;
  }
  .comment {
    grid-template-columns: 1fr;
  }
  .comment.small {
    grid-template-columns: 1fr;
  }
  .two-columns {
    columns: 1;
  }
}
