@charset "UTF-8";
/*
  Theme Name: Quarante-Douze
  Theme URI: https://git.kobold.cafe/quarante-douze/qdouze2-wordpress-theme
  Author: Kazhnuz
  Author URI: https://kazhnuz.space
  Description: The default theme for Quarante-Douze, my tech blog.
  Version: 0.1
  License: GNU General Public License v3 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
  Tags: blog, two-columns, right-sidebar
  Text Domain: qdouze2-wordpress-theme

  This theme is licensed under the GPLv3.
*/
/* --- 00. PALETTE --- */
/*
 * Les définitions globales des couleurs du theme.
 *
 * Elle permettent de définir rapidement à la fois les couleurs
 * de base qui seront utilisée pour tout le theme, mais
 * également celles spécifiques pour certains sujets (liens, texte)
 *
 */
@font-face {
  font-family: 'Teko';
  src: url("fonts/teko-light-webfont.woff");
  font-weight: 300; }

@font-face {
  font-family: 'Teko';
  src: url("fonts/teko-regular-webfont.woff");
  font-weight: 400; }

@font-face {
  font-family: 'Teko';
  src: url("fonts/teko-medium-webfont.woff");
  font-weight: 500; }

@font-face {
  font-family: 'Teko';
  src: url("fonts/teko-semibold-webfont.woff");
  font-weight: 600; }

@font-face {
  font-family: 'Teko';
  src: url("fonts/teko-bold-webfont.woff");
  font-weight: 700; }

/* --- 00. COLORS --- */
/*
 * La gestion des couleurs dans le theme. Cette partie de la stylesheet est
 * automatique et n'a pas besoin d'être modifiée
 */
/* 0. CORE
** All the basic functions from the stylesheet
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
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; }

/* 0.2 - Box-sizing
 * Make sure that everything have its box-sizing to border-box
**/
*,
*::before,
*::after {
  box-sizing: inherit; }

html {
  box-sizing: border-box; }

body {
  overflow-x: hidden;
  text-rendering: optimizeLegibility; }

/* 0.3 - Typography
 * This part of the (s)css handle everything related to the typography
 * like paragraphs, blockquote, etc.
**/
/* 2.2 - Global Typography */
html, body {
  font-family: Open Sans, sans-serif;
  text-align: left;
  font-size: 4.75mm;
  line-height: 1.6rem;
  color: #212529;
  font-weight: 400; }

strong {
  font-weight: 600; }

em {
  font-style: italic;
  font-weight: 400; }

mark {
  padding: 0.05rem 0.25rem;
  border-radius: 0.1rem; }

a {
  color: #761d0f;
  outline-color: #e33d22;
  padding: 0.05rem;
  border-radius: 0.1rem;
  text-decoration: underline dashed; }
  a:visited {
    color: #761d0f; }
  a:hover, a:hover.fg-dark, .fg-light a:hover, a:active, a:active.fg-dark, .fg-light a:active {
    background-color: rgba(33, 37, 41, 0.1);
    text-decoration: none; }
  .fg-light a:hover, a:hover.fg-light, .fg-light a:active, a:active.fg-light {
    background-color: rgba(254, 254, 254, 0.2);
    text-decoration: none; }

a:focus-visible, input:focus-visible {
  outline-style: dashed;
  outline-width: 2px;
  outline-offset: 1px; }

mark {
  background-color: #feebb0;
  color: inherit; }

p, ul, ol {
  padding: 0;
  padding-bottom: 1.6rem;
  margin: 0; }
  p:last-child, ul:last-child, ol:last-child {
    padding-bottom: 0; }

ul, ol {
  list-style: disc; }
  ul ul, ul ol, ol ul, ol ol {
    padding-bottom: 0;
    margin: 0; }
  ul li, ol li {
    margin: 0;
    margin-left: 1.6rem;
    line-height: 1.6rem; }
  ul.nolist, ol.nolist {
    display: inline;
    list-style: none;
    margin: 0;
    padding: 0; }
    ul.nolist li, ol.nolist li {
      display: inline;
      margin: 0;
      padding: 0; }

::selection, ::-moz-selection {
  background-color: #339af0;
  color: #fefefe; }

/* 2.3 - Titles */
h1, h2, h3, h4, h5, h6, h7 {
  font-family: Open Sans, sans-serif;
  text-align: left;
  font-size: 1em;
  padding: 0;
  margin: 0;
  font-weight: 400;
  padding-bottom: 1.6rem; }
  h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, h7 a {
    border: none; }

sup > a, sub > a {
  color: #e33d22;
  background-color: transparent; }
  sup > a:hover, sup > a:focus, sup > a:active, sub > a:hover, sub > a:focus, sub > a:active {
    color: #ba2e18; }

.main-title {
  font-family: Teko, sans-serif;
  font-size: 3.815rem;
  line-height: 4.8rem;
  font-weight: 800; }

h1, .title-1 {
  font-family: Teko, sans-serif;
  font-size: 2.441rem;
  line-height: 3.2rem;
  font-weight: 800;
  color: #e33d22; }

h2, .title-2 {
  font-size: 2.441rem;
  line-height: 3.2rem;
  font-weight: 300; }

h3, .title-3 {
  font-size: 1.953rem;
  line-height: 3.2rem;
  font-weight: 600; }

h4, .title-4 {
  font-size: 1.563rem;
  line-height: 3.2rem;
  font-weight: 800; }

h5, .title-5 {
  font-size: 1.25rem;
  line-height: 1.6rem;
  font-weight: 600; }

h6, .title-6 {
  font-size: 1rem;
  line-height: 1.6rem;
  font-weight: 800; }

/* 2.4 - hr */
hr {
  border: 0px solid rgba(1, 1, 1, 0.15);
  border-bottom: 1px;
  margin: 1.5em; }

/* 2.5 - Wells and quotes */
blockquote:before, .quote:before {
  content: ""; }

blockquote, .quote, .well, pre, .pre, .well-pre {
  border: 0;
  border-radius: 4px;
  margin: 0 0 1.6rem 0;
  padding: 1.6rem 1rem 1.6rem 1rem;
  max-width: 100%;
  font-style: italic;
  background-color: #f1f3f5;
  color: #212529;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); }

code {
  background: transparent;
  color: #e33d22; }

.small-text {
  font-size: 0.9em; }

/* 2.6 - Special styling */
.time {
  font-style: italic;
  text-align: right;
  width: 100%;
  display: block; }

#wrapper {
  background-color: #fefefe; }

.container-big {
  padding-left: 1.6rem;
  padding-right: 1.6rem;
  max-width: 1600px;
  margin: auto; }

.container, .container-onecolumn {
  padding-left: 1.6rem;
  padding-right: 1.6rem;
  max-width: 1200px;
  margin: auto; }

.columns {
  display: grid;
  grid-gap: 1.6rem;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: auto;
  padding: 1.6rem; }
  .columns-nogap {
    grid-gap: 0px; }

.column {
  grid-column: span 12;
  width: 100%;
  margin: 0; }
  .column > *:last-child {
    margin-bottom: 0 !important; }

.col-1 {
  grid-column: span 1;
  width: 100%;
  margin: 0; }
  .col-1 > *:last-child {
    margin-bottom: 0 !important; }

.col-2 {
  grid-column: span 2;
  width: 100%;
  margin: 0; }
  .col-2 > *:last-child {
    margin-bottom: 0 !important; }

.col-3 {
  grid-column: span 3;
  width: 100%;
  margin: 0; }
  .col-3 > *:last-child {
    margin-bottom: 0 !important; }

.col-4 {
  grid-column: span 4;
  width: 100%;
  margin: 0; }
  .col-4 > *:last-child {
    margin-bottom: 0 !important; }

.col-5 {
  grid-column: span 5;
  width: 100%;
  margin: 0; }
  .col-5 > *:last-child {
    margin-bottom: 0 !important; }

.col-6 {
  grid-column: span 6;
  width: 100%;
  margin: 0; }
  .col-6 > *:last-child {
    margin-bottom: 0 !important; }

.col-7 {
  grid-column: span 7;
  width: 100%;
  margin: 0; }
  .col-7 > *:last-child {
    margin-bottom: 0 !important; }

.col-8 {
  grid-column: span 8;
  width: 100%;
  margin: 0; }
  .col-8 > *:last-child {
    margin-bottom: 0 !important; }

.col-9 {
  grid-column: span 9;
  width: 100%;
  margin: 0; }
  .col-9 > *:last-child {
    margin-bottom: 0 !important; }

.col-10 {
  grid-column: span 10;
  width: 100%;
  margin: 0; }
  .col-10 > *:last-child {
    margin-bottom: 0 !important; }

.col-11 {
  grid-column: span 11;
  width: 100%;
  margin: 0; }
  .col-11 > *:last-child {
    margin-bottom: 0 !important; }

.col-12 {
  grid-column: span 12;
  width: 100%;
  margin: 0; }
  .col-12 > *:last-child {
    margin-bottom: 0 !important; }

@media (min-width: 576px) {
  .col-sm-1 {
    grid-column: span 1;
    width: 100%;
    margin: 0; }
    .col-sm-1 > *:last-child {
      margin-bottom: 0 !important; }
  .col-sm-2 {
    grid-column: span 2;
    width: 100%;
    margin: 0; }
    .col-sm-2 > *:last-child {
      margin-bottom: 0 !important; }
  .col-sm-3 {
    grid-column: span 3;
    width: 100%;
    margin: 0; }
    .col-sm-3 > *:last-child {
      margin-bottom: 0 !important; }
  .col-sm-4 {
    grid-column: span 4;
    width: 100%;
    margin: 0; }
    .col-sm-4 > *:last-child {
      margin-bottom: 0 !important; }
  .col-sm-5 {
    grid-column: span 5;
    width: 100%;
    margin: 0; }
    .col-sm-5 > *:last-child {
      margin-bottom: 0 !important; }
  .col-sm-6 {
    grid-column: span 6;
    width: 100%;
    margin: 0; }
    .col-sm-6 > *:last-child {
      margin-bottom: 0 !important; }
  .col-sm-7 {
    grid-column: span 7;
    width: 100%;
    margin: 0; }
    .col-sm-7 > *:last-child {
      margin-bottom: 0 !important; }
  .col-sm-8 {
    grid-column: span 8;
    width: 100%;
    margin: 0; }
    .col-sm-8 > *:last-child {
      margin-bottom: 0 !important; }
  .col-sm-9 {
    grid-column: span 9;
    width: 100%;
    margin: 0; }
    .col-sm-9 > *:last-child {
      margin-bottom: 0 !important; }
  .col-sm-10 {
    grid-column: span 10;
    width: 100%;
    margin: 0; }
    .col-sm-10 > *:last-child {
      margin-bottom: 0 !important; }
  .col-sm-11 {
    grid-column: span 11;
    width: 100%;
    margin: 0; }
    .col-sm-11 > *:last-child {
      margin-bottom: 0 !important; }
  .col-sm-12 {
    grid-column: span 12;
    width: 100%;
    margin: 0; }
    .col-sm-12 > *:last-child {
      margin-bottom: 0 !important; } }

@media (min-width: 768px) {
  .col-md-1 {
    grid-column: span 1;
    width: 100%;
    margin: 0; }
    .col-md-1 > *:last-child {
      margin-bottom: 0 !important; }
  .col-md-2 {
    grid-column: span 2;
    width: 100%;
    margin: 0; }
    .col-md-2 > *:last-child {
      margin-bottom: 0 !important; }
  .col-md-3 {
    grid-column: span 3;
    width: 100%;
    margin: 0; }
    .col-md-3 > *:last-child {
      margin-bottom: 0 !important; }
  .col-md-4 {
    grid-column: span 4;
    width: 100%;
    margin: 0; }
    .col-md-4 > *:last-child {
      margin-bottom: 0 !important; }
  .col-md-5 {
    grid-column: span 5;
    width: 100%;
    margin: 0; }
    .col-md-5 > *:last-child {
      margin-bottom: 0 !important; }
  .col-md-6 {
    grid-column: span 6;
    width: 100%;
    margin: 0; }
    .col-md-6 > *:last-child {
      margin-bottom: 0 !important; }
  .col-md-7 {
    grid-column: span 7;
    width: 100%;
    margin: 0; }
    .col-md-7 > *:last-child {
      margin-bottom: 0 !important; }
  .col-md-8 {
    grid-column: span 8;
    width: 100%;
    margin: 0; }
    .col-md-8 > *:last-child {
      margin-bottom: 0 !important; }
  .col-md-9 {
    grid-column: span 9;
    width: 100%;
    margin: 0; }
    .col-md-9 > *:last-child {
      margin-bottom: 0 !important; }
  .col-md-10 {
    grid-column: span 10;
    width: 100%;
    margin: 0; }
    .col-md-10 > *:last-child {
      margin-bottom: 0 !important; }
  .col-md-11 {
    grid-column: span 11;
    width: 100%;
    margin: 0; }
    .col-md-11 > *:last-child {
      margin-bottom: 0 !important; }
  .col-md-12 {
    grid-column: span 12;
    width: 100%;
    margin: 0; }
    .col-md-12 > *:last-child {
      margin-bottom: 0 !important; } }

@media (min-width: 992px) {
  .col-lg-1 {
    grid-column: span 1;
    width: 100%;
    margin: 0; }
    .col-lg-1 > *:last-child {
      margin-bottom: 0 !important; }
  .col-lg-2 {
    grid-column: span 2;
    width: 100%;
    margin: 0; }
    .col-lg-2 > *:last-child {
      margin-bottom: 0 !important; }
  .col-lg-3 {
    grid-column: span 3;
    width: 100%;
    margin: 0; }
    .col-lg-3 > *:last-child {
      margin-bottom: 0 !important; }
  .col-lg-4 {
    grid-column: span 4;
    width: 100%;
    margin: 0; }
    .col-lg-4 > *:last-child {
      margin-bottom: 0 !important; }
  .col-lg-5 {
    grid-column: span 5;
    width: 100%;
    margin: 0; }
    .col-lg-5 > *:last-child {
      margin-bottom: 0 !important; }
  .col-lg-6 {
    grid-column: span 6;
    width: 100%;
    margin: 0; }
    .col-lg-6 > *:last-child {
      margin-bottom: 0 !important; }
  .col-lg-7 {
    grid-column: span 7;
    width: 100%;
    margin: 0; }
    .col-lg-7 > *:last-child {
      margin-bottom: 0 !important; }
  .col-lg-8 {
    grid-column: span 8;
    width: 100%;
    margin: 0; }
    .col-lg-8 > *:last-child {
      margin-bottom: 0 !important; }
  .col-lg-9 {
    grid-column: span 9;
    width: 100%;
    margin: 0; }
    .col-lg-9 > *:last-child {
      margin-bottom: 0 !important; }
  .col-lg-10 {
    grid-column: span 10;
    width: 100%;
    margin: 0; }
    .col-lg-10 > *:last-child {
      margin-bottom: 0 !important; }
  .col-lg-11 {
    grid-column: span 11;
    width: 100%;
    margin: 0; }
    .col-lg-11 > *:last-child {
      margin-bottom: 0 !important; }
  .col-lg-12 {
    grid-column: span 12;
    width: 100%;
    margin: 0; }
    .col-lg-12 > *:last-child {
      margin-bottom: 0 !important; } }

@media (min-width: 1200px) {
  .col-xl-1 {
    grid-column: span 1;
    width: 100%;
    margin: 0; }
    .col-xl-1 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xl-2 {
    grid-column: span 2;
    width: 100%;
    margin: 0; }
    .col-xl-2 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xl-3 {
    grid-column: span 3;
    width: 100%;
    margin: 0; }
    .col-xl-3 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xl-4 {
    grid-column: span 4;
    width: 100%;
    margin: 0; }
    .col-xl-4 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xl-5 {
    grid-column: span 5;
    width: 100%;
    margin: 0; }
    .col-xl-5 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xl-6 {
    grid-column: span 6;
    width: 100%;
    margin: 0; }
    .col-xl-6 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xl-7 {
    grid-column: span 7;
    width: 100%;
    margin: 0; }
    .col-xl-7 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xl-8 {
    grid-column: span 8;
    width: 100%;
    margin: 0; }
    .col-xl-8 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xl-9 {
    grid-column: span 9;
    width: 100%;
    margin: 0; }
    .col-xl-9 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xl-10 {
    grid-column: span 10;
    width: 100%;
    margin: 0; }
    .col-xl-10 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xl-11 {
    grid-column: span 11;
    width: 100%;
    margin: 0; }
    .col-xl-11 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xl-12 {
    grid-column: span 12;
    width: 100%;
    margin: 0; }
    .col-xl-12 > *:last-child {
      margin-bottom: 0 !important; } }

@media (min-width: 1600px) {
  .col-xxl-1 {
    grid-column: span 1;
    width: 100%;
    margin: 0; }
    .col-xxl-1 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xxl-2 {
    grid-column: span 2;
    width: 100%;
    margin: 0; }
    .col-xxl-2 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xxl-3 {
    grid-column: span 3;
    width: 100%;
    margin: 0; }
    .col-xxl-3 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xxl-4 {
    grid-column: span 4;
    width: 100%;
    margin: 0; }
    .col-xxl-4 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xxl-5 {
    grid-column: span 5;
    width: 100%;
    margin: 0; }
    .col-xxl-5 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xxl-6 {
    grid-column: span 6;
    width: 100%;
    margin: 0; }
    .col-xxl-6 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xxl-7 {
    grid-column: span 7;
    width: 100%;
    margin: 0; }
    .col-xxl-7 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xxl-8 {
    grid-column: span 8;
    width: 100%;
    margin: 0; }
    .col-xxl-8 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xxl-9 {
    grid-column: span 9;
    width: 100%;
    margin: 0; }
    .col-xxl-9 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xxl-10 {
    grid-column: span 10;
    width: 100%;
    margin: 0; }
    .col-xxl-10 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xxl-11 {
    grid-column: span 11;
    width: 100%;
    margin: 0; }
    .col-xxl-11 > *:last-child {
      margin-bottom: 0 !important; }
  .col-xxl-12 {
    grid-column: span 12;
    width: 100%;
    margin: 0; }
    .col-xxl-12 > *:last-child {
      margin-bottom: 0 !important; } }

/* --- 04. COMPOSANTS --- */
/*
 * Les différents composants réutilisables de la page.
 *
 */
/*
 * 3. Buttons and labels
 * All clickable elements
 *
*/
.btn {
  padding: 1.6em;
  padding-top: 0.5333333333em;
  padding-bottom: 0.5333333333em;
  margin: 0.8em;
  margin-top: 0.5333333333em;
  margin-bottom: 1.6rem;
  line-height: 1.6rem;
  height: auto;
  border: 0px solid rgba(0, 0, 0, 0.3);
  border-radius: 4px 4px 4px 4px;
  background-color: transparent;
  transition: background-color .2s, border .2s, box-shadow .2s, color .2s;
  font-weight: 400; }
  .btn:hover, .btn:active {
    background-color: transparent; }
  .btn:hover, .btn:active {
    border: 0px solid rgba(0, 0, 0, 0.3); }
  p .btn:last-child {
    margin-bottom: 0; }

.btn-small, .badge {
  padding: 0.4em;
  padding-top: 0.1333333333em;
  padding-bottom: 0.1333333333em;
  margin: 0.2em;
  margin-top: 0.1333333333em;
  margin-bottom: 1.6rem;
  line-height: 1.6rem;
  height: auto;
  border: 0px solid rgba(0, 0, 0, 0.3);
  border-radius: 4px 4px 4px 4px;
  background-color: transparent;
  transition: background-color .2s, border .2s, box-shadow .2s, color .2s;
  font-weight: 400;
  padding-left: 0.4em;
  padding-right: 0.4em;
  text-decoration: none; }
  .btn-small:hover, .btn-small:active, .badge:hover, .badge:active {
    background-color: transparent; }

strong.btn-fake {
  padding: 1.6em;
  padding-top: 0.5333333333em;
  padding-bottom: 0.5333333333em;
  margin: 0.8em;
  margin-top: 0.5333333333em;
  margin-bottom: 1.6rem;
  line-height: 1.6rem;
  height: auto;
  border: 0px solid rgba(0, 0, 0, 0.3);
  border-radius: 4px 4px 4px 4px;
  background-color: transparent;
  transition: background-color .2s, border .2s, box-shadow .2s, color .2s;
  font-weight: 400;
  background-color: transparent;
  outline-color: transparent;
  color: black; }
  strong.btn-fake:hover, strong.btn-fake:active {
    background-color: transparent; }
  strong.btn-fake:visited {
    background-color: transparent;
    color: black; }
  strong.btn-fake:hover, strong.btn-fake:active, strong.btn-fake:visited:hover, strong.btn-fake:visited:active, strong.btn-fake:not(.disabled):not(:disabled):hover, strong.btn-fake:not(.disabled):not(:disabled):active {
    background-color: transparent;
    color: #0d0d0d;
    outline-color: transparent;
    box-shadow: none; }

.btn-readmore, .btn-link {
  background-color: transparent;
  outline-color: transparent;
  color: #e33d22; }
  .btn-readmore:visited, .btn-link:visited {
    background-color: transparent;
    color: #e33d22; }
  .btn-readmore:hover, .btn-readmore:active, .btn-readmore:visited:hover, .btn-readmore:visited:active, .btn-readmore:not(.disabled):not(:disabled):hover, .btn-readmore:not(.disabled):not(:disabled):active, .btn-link:hover, .btn-link:active, .btn-link:visited:hover, .btn-link:visited:active, .btn-link:not(.disabled):not(:disabled):hover, .btn-link:not(.disabled):not(:disabled):active {
    background-color: #dbe0e5;
    color: #e65139;
    outline-color: #dbe0e5;
    box-shadow: none; }
  .btn-readmore:not(:hover), .btn-link:not(:hover) {
    border-color: transparent; }

.btn-toolbar {
  padding: 0 1.6em; }

.btn-group > .btn {
  border-radius: 4px 4px 4px 4px;
  margin: 0 0 0 0 !important; }

.btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }
  .btn-group:not(:first-child) > .btn:before {
    content: " " !important;
    border-left: 1px solid rgba(0, 0, 0, 0.2); }

.btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

/* ------------------ BREADCRUMB ------------------- */
ul.breadcrumb, ol.breadcrumb, .breadcrumb {
  padding-top: 0em;
  background-color: transparent;
  margin: 0;
  padding-bottom: 1.6rem;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  list-style: none; }
  ul.breadcrumb li, ol.breadcrumb li, .breadcrumb li {
    margin: 0; }

.breadcrumb li.breadcrumb-item {
  padding: 0;
  margin: 0 !important; }
  .breadcrumb li.breadcrumb-item:before {
    display: none; }
  .breadcrumb li.breadcrumb-item a, .breadcrumb li.breadcrumb-item > span {
    display: inline-block;
    padding: 1.6em;
    padding-top: 0.5333333333em;
    padding-bottom: 0.5333333333em;
    margin: 0.8em;
    margin-top: 0.5333333333em;
    margin-bottom: 1.6rem;
    line-height: 1.6rem;
    height: auto;
    border: 0px solid rgba(0, 0, 0, 0.3);
    border-radius: 4px 4px 4px 4px;
    background-color: transparent;
    transition: background-color .2s, border .2s, box-shadow .2s, color .2s;
    font-weight: 400;
    background-color: #f1f3f5;
    outline-color: #f1f3f5;
    color: #212529;
    margin: 0 0 0 0;
    outline-color: #dbe0e5 !important;
    text-decoration: none; }
    .breadcrumb li.breadcrumb-item a:hover, .breadcrumb li.breadcrumb-item a:active, .breadcrumb li.breadcrumb-item > span:hover, .breadcrumb li.breadcrumb-item > span:active {
      background-color: transparent; }
    .breadcrumb li.breadcrumb-item a:visited, .breadcrumb li.breadcrumb-item > span:visited {
      background-color: #f1f3f5;
      color: #212529; }
    .breadcrumb li.breadcrumb-item a:hover, .breadcrumb li.breadcrumb-item a:active, .breadcrumb li.breadcrumb-item a:visited:hover, .breadcrumb li.breadcrumb-item a:visited:active, .breadcrumb li.breadcrumb-item a:not(.disabled):not(:disabled):hover, .breadcrumb li.breadcrumb-item a:not(.disabled):not(:disabled):active, .breadcrumb li.breadcrumb-item > span:hover, .breadcrumb li.breadcrumb-item > span:active, .breadcrumb li.breadcrumb-item > span:visited:hover, .breadcrumb li.breadcrumb-item > span:visited:active, .breadcrumb li.breadcrumb-item > span:not(.disabled):not(:disabled):hover, .breadcrumb li.breadcrumb-item > span:not(.disabled):not(:disabled):active {
      background-color: #dbe0e5;
      color: #2c3237;
      outline-color: #dbe0e5;
      box-shadow: none; }
    .breadcrumb li.breadcrumb-item a.active, .breadcrumb li.breadcrumb-item > span.active {
      background-color: #343a40;
      outline-color: #343a40;
      color: #fefefe; }
      .breadcrumb li.breadcrumb-item a.active:visited, .breadcrumb li.breadcrumb-item > span.active:visited {
        background-color: #343a40;
        color: #fefefe; }
      .breadcrumb li.breadcrumb-item a.active:hover, .breadcrumb li.breadcrumb-item a.active:active, .breadcrumb li.breadcrumb-item a.active:visited:hover, .breadcrumb li.breadcrumb-item a.active:visited:active, .breadcrumb li.breadcrumb-item a.active:not(.disabled):not(:disabled):hover, .breadcrumb li.breadcrumb-item a.active:not(.disabled):not(:disabled):active, .breadcrumb li.breadcrumb-item > span.active:hover, .breadcrumb li.breadcrumb-item > span.active:active, .breadcrumb li.breadcrumb-item > span.active:visited:hover, .breadcrumb li.breadcrumb-item > span.active:visited:active, .breadcrumb li.breadcrumb-item > span.active:not(.disabled):not(:disabled):hover, .breadcrumb li.breadcrumb-item > span.active:not(.disabled):not(:disabled):active {
        background-color: #343a40;
        color: white;
        outline-color: #343a40;
        box-shadow: none; }
  .breadcrumb li.breadcrumb-item:not(:first-child) a, .breadcrumb li.breadcrumb-item:not(:first-child) > span {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .breadcrumb li.breadcrumb-item:not(:last-child) a, .breadcrumb li.breadcrumb-item:not(:last-child) > span {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }

nav.pagination {
  padding-bottom: 1.6rem; }
  nav.pagination .nav-links {
    text-align: center;
    width: 100%; }
  nav.pagination .page-numbers, nav.pagination .next, nav.pagination .prev {
    padding: 0.4em;
    padding-top: 0.1333333333em;
    padding-bottom: 0.1333333333em;
    margin: 0.2em;
    margin-top: 0.1333333333em;
    margin-bottom: 1.6rem;
    line-height: 1.6rem;
    height: auto;
    border: 0px solid rgba(0, 0, 0, 0.3);
    border-radius: 4px 4px 4px 4px;
    background-color: transparent;
    transition: background-color .2s, border .2s, box-shadow .2s, color .2s;
    font-weight: 400;
    padding-left: 0.4em;
    padding-right: 0.4em;
    margin-right: 0.05em;
    margin-left: 0.05em;
    text-decoration: none; }
    nav.pagination .page-numbers:hover, nav.pagination .page-numbers:active, nav.pagination .next:hover, nav.pagination .next:active, nav.pagination .prev:hover, nav.pagination .prev:active {
      background-color: transparent; }
    nav.pagination .page-numbers:not(.current), nav.pagination .next:not(.current), nav.pagination .prev:not(.current) {
      background-color: #f1f3f5;
      outline-color: #f1f3f5;
      color: #212529;
      box-shadow: 0px 1px 2px rgba(0, 0, 0, 0);
      outline-color: #d2d4d6; }
      nav.pagination .page-numbers:not(.current):visited, nav.pagination .next:not(.current):visited, nav.pagination .prev:not(.current):visited {
        background-color: #f1f3f5;
        color: #212529; }
      nav.pagination .page-numbers:not(.current):hover, nav.pagination .page-numbers:not(.current):active, nav.pagination .page-numbers:not(.current):visited:hover, nav.pagination .page-numbers:not(.current):visited:active, nav.pagination .page-numbers:not(.current):not(.disabled):not(:disabled):hover, nav.pagination .page-numbers:not(.current):not(.disabled):not(:disabled):active, nav.pagination .next:not(.current):hover, nav.pagination .next:not(.current):active, nav.pagination .next:not(.current):visited:hover, nav.pagination .next:not(.current):visited:active, nav.pagination .next:not(.current):not(.disabled):not(:disabled):hover, nav.pagination .next:not(.current):not(.disabled):not(:disabled):active, nav.pagination .prev:not(.current):hover, nav.pagination .prev:not(.current):active, nav.pagination .prev:not(.current):visited:hover, nav.pagination .prev:not(.current):visited:active, nav.pagination .prev:not(.current):not(.disabled):not(:disabled):hover, nav.pagination .prev:not(.current):not(.disabled):not(:disabled):active {
        background-color: #d2d4d6;
        color: #2c3237;
        outline-color: #d2d4d6;
        box-shadow: none; }
    nav.pagination .page-numbers.current, nav.pagination .next.current, nav.pagination .prev.current {
      background-color: #e33d22;
      color: #fefefe; }

/*
 * 2. Cards and containers
 * All elements that are supposed to contain other stuff
 *
 *
*/
.card {
  border-radius: 8px 8px 8px 8px;
  background-color: #f1f3f5;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0);
  border: none;
  margin: 0;
  margin-bottom: 1.6rem;
  display: flex;
  flex-direction: column;
  color: #212529; }
  .card > * {
    margin-left: 0.8em;
    margin-right: 0.8em; }
    .card > *:first-child, .card > *.sr-only:first-child ~ * {
      margin-top: 1.6em; }
      .card > *:first-child.card-header, .card > *.sr-only:first-child ~ *.card-header {
        margin-top: 0px; }
    .card > *:last-child {
      margin-bottom: 1.6em; }
      .card > *:last-child.card-header {
        margin-bottom: 0px; }
  .card-body {
    padding: 0 !important; }
  .card-header {
    font-size: 1.1em;
    font-weight: 300;
    padding: 0.8em;
    padding-left: 1.6em;
    padding-right: 1.6em;
    padding-bottom: 0.8em !important;
    margin: 0px;
    margin-bottom: 0.8em;
    margin-top: 0.8em;
    line-height: 1.6em;
    white-space: nowrap;
    position: relative;
    left: 0px;
    width: 100%;
    border: 0px solid rgba(0, 0, 0, 0.3);
    border-radius: 4px 4px 4px 4px;
    background-color: transparent;
    border-radius: 0; }
    .card-header:first-child {
      border-top-left-radius: 8px;
      border-top-right-radius: 8px; }
    .card-header:last-child {
      border-bottom-left-radius: 8px;
      border-bottom-right-radius: 8px; }
    .card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header h5, .card-header h6, .card-header h7, .card-header h8, .card-header h9, .card-header h10 {
      font-family: Open Sans, sans-serif;
      font-size: 1em;
      padding: 0px;
      margin: 0px;
      color: #fefefe;
      font-weight: 300;
      line-height: 1.6em; }
    .card-header .fa {
      margin-right: 0.5em; }

/* CARD LIST - Make a list part of a card */
ul.card-list, .card > ul {
  padding: 0;
  margin: 0; }
  ul.card-list li.list-element, .card > ul li.list-element {
    line-height: 0.8em;
    padding: 0.4em, 0.4em, 0.4em, 0.8em;
    margin: 0; }

.list-check li.list-element {
  list-style: none; }
  .list-check li.list-element::before {
    font-family: "ForkAwesome";
    content: "";
    padding-right: 0.4em; }

.list-cross li.list-element {
  list-style: none; }
  .list-cross li.list-element::before {
    font-family: "ForkAwesome";
    content: "";
    padding-right: 0.4em; }

.list-danger li.list-element::before {
  color: #e33d22; }

.list-success li.list-element::before {
  color: #51cf66; }

.smallcard-header {
  font-size: 1.1em;
  font-weight: 300;
  padding: 0.8em;
  padding-left: 1.6em;
  padding-right: 1.6em;
  padding-bottom: 0.8em !important;
  margin: 0px;
  margin-bottom: 0.8em;
  margin-top: 0.8em;
  line-height: 1.6em;
  white-space: nowrap;
  position: relative;
  left: 0px;
  width: 100%;
  border: 0px solid rgba(0, 0, 0, 0.3);
  border-radius: 4px 4px 4px 4px;
  background-color: transparent;
  border-radius: 0; }
  .smallcard-header:first-child {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px; }
  .smallcard-header:last-child {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px; }
  .smallcard-header h1, .smallcard-header h2, .smallcard-header h3, .smallcard-header h4, .smallcard-header h5, .smallcard-header h6, .smallcard-header h7, .smallcard-header h8, .smallcard-header h9, .smallcard-header h10 {
    font-family: Open Sans, sans-serif;
    font-size: 1em;
    padding: 0px;
    margin: 0px;
    color: #fefefe;
    font-weight: 300;
    line-height: 1.6em; }

/* Menu handling */
.menu {
  display: flex;
  flex-direction: column; }
  .menu ul,
  .menu li {
    list-style: none;
    padding: 0;
    margin: 0; }
  .menu a,
  .menu a:visited {
    border: 0px solid rgba(0, 0, 0, 0.3);
    border-radius: 4px 4px 4px 4px;
    background-color: transparent;
    display: flex;
    line-height: 1.6em;
    padding: 0.4em;
    margin: 0;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    word-wrap: none;
    text-overflow: ellipsis;
    overflow: hidden;
    border: 0px solid rgba(0, 0, 0, 0.3);
    border-radius: 4px 4px 4px 4px;
    background-color: transparent; }
    .menu a:not(:hover),
    .menu a:visited:not(:hover) {
      border-color: transparent; }
    .menu a .badge,
    .menu a:visited .badge {
      margin: 0; }
  .menu.fg-light a, .fg-light .menu a {
    color: #fefefe;
    outline-color: #fefefe; }
    .menu.fg-light a:hover, .menu.fg-light a:active, .menu.fg-light a.submenu:focus, .fg-light .menu a:hover, .fg-light .menu a:active, .fg-light .menu a.submenu:focus {
      background-color: rgba(254, 254, 254, 0.3); }
  .menu.fg-light input, .fg-light .menu input {
    outline-color: #fefefe; }
  .menu.fg-dark a, .fg-dark .menu a {
    color: #212529;
    outline-color: #212529; }
    .menu.fg-dark a:hover, .menu.fg-dark a:active, .menu.fg-dark a.submenu:focus, .fg-dark .menu a:hover, .fg-dark .menu a:active, .fg-dark .menu a.submenu:focus {
      background-color: rgba(33, 37, 41, 0.15); }
  .menu.fg-dark input, .fg-dark .menu input {
    outline-color: #212529; }

.submenu .fa-caret-down {
  position: relative;
  top: 2px;
  font-size: 0.8em; }

.toolbar {
  flex-direction: row;
  padding: 0.4em; }
  .toolbar ul {
    display: flex;
    flex-direction: row;
    flex-grow: 1; }
  .toolbar li {
    text-align: center;
    position: relative; }
    .toolbar li a,
    .toolbar li span,
    .toolbar li em,
    .toolbar li strong, .toolbar li.toolbar-element {
      display: block;
      padding: 0.5333333333em;
      padding-left: 0.8em;
      padding-right: 0.8em; }
    .toolbar li ul {
      visibility: hidden;
      opacity: 0;
      position: absolute;
      transition: all 0.5s ease;
      margin-top: 0rem;
      left: 0;
      display: none;
      padding: 0.33rem; }
    .toolbar li:hover ul,
    .toolbar li ul:hover, .toolbar li:focus-within ul {
      visibility: visible;
      opacity: 1;
      display: flex;
      flex-direction: column;
      border-radius: 8px;
      box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);
      width: max-content; }
      .toolbar li:hover ul li,
      .toolbar li ul:hover li, .toolbar li:focus-within ul li {
        text-align: left; }

.menu-divider,
.menu ul h1,
ul.menu h1,
.menu h2,
ul.menu h2 {
  position: relative;
  left: -0.4em;
  font-weight: 800;
  padding-top: 0.4em;
  padding-bottom: 0.4em;
  font-size: 1em;
  line-height: 1.6em; }

.menu-label {
  border: 0px solid rgba(0, 0, 0, 0.3);
  border-radius: 4px 4px 4px 4px;
  background-color: transparent;
  transition: background-color .2s, border .2s, box-shadow .2s, color .2s;
  padding-left: 0.4em;
  padding-right: 0.4em; }
  .menu-label:hover, .menu-label:active {
    background-color: transparent; }

.toast {
  border-radius: 8px 8px 8px 8px;
  background-color: #f1f3f5;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0);
  border: none;
  margin: 0;
  margin-bottom: 1.6rem;
  padding: 0.4em;
  font-size: 0.8rem; }
  .toast > * {
    margin-left: 0.2em;
    margin-right: 0.2em; }
    .toast > *:first-child, .toast > *.sr-only:first-child ~ * {
      margin-top: 0.4em; }
      .toast > *:first-child.card-header, .toast > *.sr-only:first-child ~ *.card-header {
        margin-top: 0px; }
    .toast > *:last-child {
      margin-bottom: 0.4em; }
      .toast > *:last-child.card-header {
        margin-bottom: 0px; }
  .toast a {
    margin: 0; }

/* TABLE
 * Style tables
*/
table {
  border-collapse: collapse; }

table, th, td {
  border: 0;
  padding: 0;
  margin: 0; }

th, td {
  vertical-align: center;
  padding-top: 0.325em;
  padding-bottom: 0.325em; }

th {
  font-weight: 800; }

.sidebar-container {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  row-gap: 1.6rem;
  column-gap: 3.2rem;
  grid-template-areas: "side" "main"; }
  @media (min-width: 992px) {
    .sidebar-container {
      grid-template-columns: 360px auto;
      grid-template-areas: "side main"; } }
  .sidebar-container .sidebar {
    padding: 1rem; }

input,
textarea {
  width: 100%;
  background-color: #fefefe;
  border-radius: 4px;
  border: 0px solid rgba(0, 0, 0, 0);
  padding: 0.4em;
  line-height: 1.6em; }

/* 1. Utils
** All the utilities class of the stylesheet
*/
/* 1.0 - Accessibility classes
 * Some classes to help accessibility
**/
.screen-reader-text {
  visibility: collapse;
  font-size: 0; }

.skip {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }

.skip:focus-within {
  position: static;
  width: auto;
  height: auto; }

/* 1.1 - Alignement classes
 * Handle easily alignement and flexboxes
**/
.flex-that {
  display: flex;
  justify-content: space-between; }

.align-center {
  text-align: center;
  text-indent: 0 !important; }

.align-left {
  text-align: left; }

.align-right {
  text-align: right; }

.round, .pill {
  border-radius: 9999px; }

.no-borders {
  border-width: 0px;
  border-style: none; }

/* 1.2 - Colorization classes
 * Colorize some aspect of a class
**/
.bg-primary {
  background-color: #e33d22;
  color: #fefefe; }
  .bg-primary a {
    color: currentColor;
    outline-color: currentColor; }
  .bg-primary:hover {
    background-color: #e33d22;
    color: #fefefe; }
    .bg-primary:hover a {
      color: currentColor;
      outline-color: currentColor; }

.bg-secondary {
  background-color: #343a40;
  color: #fefefe; }
  .bg-secondary a {
    color: currentColor;
    outline-color: currentColor; }
  .bg-secondary:hover {
    background-color: #343a40;
    color: #fefefe; }
    .bg-secondary:hover a {
      color: currentColor;
      outline-color: currentColor; }

.bg-warning {
  background-color: #ff922b;
  color: #fefefe; }
  .bg-warning a {
    color: currentColor;
    outline-color: currentColor; }
  .bg-warning:hover {
    background-color: #ff922b;
    color: #fefefe; }
    .bg-warning:hover a {
      color: currentColor;
      outline-color: currentColor; }

.bg-danger {
  background-color: #e33d22;
  color: #fefefe; }
  .bg-danger a {
    color: currentColor;
    outline-color: currentColor; }
  .bg-danger:hover {
    background-color: #e33d22;
    color: #fefefe; }
    .bg-danger:hover a {
      color: currentColor;
      outline-color: currentColor; }

.bg-info {
  background-color: #339af0;
  color: #fefefe; }
  .bg-info a {
    color: currentColor;
    outline-color: currentColor; }
  .bg-info:hover {
    background-color: #339af0;
    color: #fefefe; }
    .bg-info:hover a {
      color: currentColor;
      outline-color: currentColor; }

.bg-success {
  background-color: #51cf66;
  color: #fefefe; }
  .bg-success a {
    color: currentColor;
    outline-color: currentColor; }
  .bg-success:hover {
    background-color: #51cf66;
    color: #fefefe; }
    .bg-success:hover a {
      color: currentColor;
      outline-color: currentColor; }

.bg-muted {
  background-color: #adb5bd;
  color: #fefefe; }
  .bg-muted a {
    color: currentColor;
    outline-color: currentColor; }
  .bg-muted:hover {
    background-color: #adb5bd;
    color: #fefefe; }
    .bg-muted:hover a {
      color: currentColor;
      outline-color: currentColor; }

.bg-light {
  background-color: #fefefe;
  color: #212529; }
  .bg-light a {
    color: currentColor;
    outline-color: currentColor; }
  .bg-light:hover {
    background-color: #fefefe;
    color: #212529; }
    .bg-light:hover a {
      color: currentColor;
      outline-color: currentColor; }

.bg-dark {
  background-color: #343a40;
  color: #fefefe; }
  .bg-dark a {
    color: currentColor;
    outline-color: currentColor; }
  .bg-dark:hover {
    background-color: #343a40;
    color: #fefefe; }
    .bg-dark:hover a {
      color: currentColor;
      outline-color: currentColor; }

.text-primary {
  color: #e33d22; }

.text-secondary {
  color: #343a40; }

.text-warning {
  color: #ff922b; }

.text-danger {
  color: #e33d22; }

.text-info {
  color: #339af0; }

.text-success {
  color: #51cf66; }

.text-muted {
  color: #adb5bd; }

.text-light {
  color: #fefefe; }

.text-dark {
  color: #343a40; }

.btn-primary {
  background-color: #e33d22;
  outline-color: #e33d22;
  color: #fefefe;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); }
  .btn-primary:visited {
    background-color: #e33d22;
    color: #fefefe; }
  .btn-primary:hover, .btn-primary:active, .btn-primary:visited:hover, .btn-primary:visited:active, .btn-primary:not(.disabled):not(:disabled):hover, .btn-primary:not(.disabled):not(:disabled):active {
    background-color: #e75a43;
    color: white;
    outline-color: #e75a43;
    box-shadow: none; }

.btn-secondary {
  background-color: #343a40;
  outline-color: #343a40;
  color: #fefefe;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); }
  .btn-secondary:visited {
    background-color: #343a40;
    color: #fefefe; }
  .btn-secondary:hover, .btn-secondary:active, .btn-secondary:visited:hover, .btn-secondary:visited:active, .btn-secondary:not(.disabled):not(:disabled):hover, .btn-secondary:not(.disabled):not(:disabled):active {
    background-color: #52575d;
    color: white;
    outline-color: #52575d;
    box-shadow: none; }

.btn-warning {
  background-color: #ff922b;
  outline-color: #ff922b;
  color: #fefefe;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); }
  .btn-warning:visited {
    background-color: #ff922b;
    color: #fefefe; }
  .btn-warning:hover, .btn-warning:active, .btn-warning:visited:hover, .btn-warning:visited:active, .btn-warning:not(.disabled):not(:disabled):hover, .btn-warning:not(.disabled):not(:disabled):active {
    background-color: #ffa24b;
    color: white;
    outline-color: #ffa24b;
    box-shadow: none; }

.btn-danger {
  background-color: #e33d22;
  outline-color: #e33d22;
  color: #fefefe;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); }
  .btn-danger:visited {
    background-color: #e33d22;
    color: #fefefe; }
  .btn-danger:hover, .btn-danger:active, .btn-danger:visited:hover, .btn-danger:visited:active, .btn-danger:not(.disabled):not(:disabled):hover, .btn-danger:not(.disabled):not(:disabled):active {
    background-color: #e75a43;
    color: white;
    outline-color: #e75a43;
    box-shadow: none; }

.btn-info {
  background-color: #339af0;
  outline-color: #339af0;
  color: #fefefe;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); }
  .btn-info:visited {
    background-color: #339af0;
    color: #fefefe; }
  .btn-info:hover, .btn-info:active, .btn-info:visited:hover, .btn-info:visited:active, .btn-info:not(.disabled):not(:disabled):hover, .btn-info:not(.disabled):not(:disabled):active {
    background-color: #51a9f2;
    color: white;
    outline-color: #51a9f2;
    box-shadow: none; }

.btn-success {
  background-color: #51cf66;
  outline-color: #51cf66;
  color: #fefefe;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); }
  .btn-success:visited {
    background-color: #51cf66;
    color: #fefefe; }
  .btn-success:hover, .btn-success:active, .btn-success:visited:hover, .btn-success:visited:active, .btn-success:not(.disabled):not(:disabled):hover, .btn-success:not(.disabled):not(:disabled):active {
    background-color: #6bd67d;
    color: white;
    outline-color: #6bd67d;
    box-shadow: none; }

.btn-muted {
  background-color: #adb5bd;
  outline-color: #adb5bd;
  color: #fefefe;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); }
  .btn-muted:visited {
    background-color: #adb5bd;
    color: #fefefe; }
  .btn-muted:hover, .btn-muted:active, .btn-muted:visited:hover, .btn-muted:visited:active, .btn-muted:not(.disabled):not(:disabled):hover, .btn-muted:not(.disabled):not(:disabled):active {
    background-color: #b9c0c7;
    color: white;
    outline-color: #b9c0c7;
    box-shadow: none; }

.btn-light {
  background-color: #fefefe;
  outline-color: #fefefe;
  color: #212529;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); }
  .btn-light:visited {
    background-color: #fefefe;
    color: #212529; }
  .btn-light:hover, .btn-light:active, .btn-light:visited:hover, .btn-light:visited:active, .btn-light:not(.disabled):not(:disabled):hover, .btn-light:not(.disabled):not(:disabled):active {
    background-color: #ddddde;
    color: #2c3237;
    outline-color: #ddddde;
    box-shadow: none; }

.btn-dark {
  background-color: #343a40;
  outline-color: #343a40;
  color: #fefefe;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); }
  .btn-dark:visited {
    background-color: #343a40;
    color: #fefefe; }
  .btn-dark:hover, .btn-dark:active, .btn-dark:visited:hover, .btn-dark:visited:active, .btn-dark:not(.disabled):not(:disabled):hover, .btn-dark:not(.disabled):not(:disabled):active {
    background-color: #52575d;
    color: white;
    outline-color: #52575d;
    box-shadow: none; }

.head-primary .card-header, .head-primary .menu-header, .head-primary.header-bg th {
  background-color: #e33d22;
  color: #fefefe; }

.head-primary th {
  color: #e33d22; }

.head-secondary .card-header, .head-secondary .menu-header, .head-secondary.header-bg th {
  background-color: #343a40;
  color: #fefefe; }

.head-secondary th {
  color: #343a40; }

.head-warning .card-header, .head-warning .menu-header, .head-warning.header-bg th {
  background-color: #ff922b;
  color: #fefefe; }

.head-warning th {
  color: #ff922b; }

.head-danger .card-header, .head-danger .menu-header, .head-danger.header-bg th {
  background-color: #e33d22;
  color: #fefefe; }

.head-danger th {
  color: #e33d22; }

.head-info .card-header, .head-info .menu-header, .head-info.header-bg th {
  background-color: #339af0;
  color: #fefefe; }

.head-info th {
  color: #339af0; }

.head-success .card-header, .head-success .menu-header, .head-success.header-bg th {
  background-color: #51cf66;
  color: #fefefe; }

.head-success th {
  color: #51cf66; }

.head-muted .card-header, .head-muted .menu-header, .head-muted.header-bg th {
  background-color: #adb5bd;
  color: #fefefe; }

.head-muted th {
  color: #adb5bd; }

.head-light .card-header, .head-light .menu-header, .head-light.header-bg th {
  background-color: #fefefe;
  color: #212529; }

.head-light th {
  color: #fefefe; }

.head-dark .card-header, .head-dark .menu-header, .head-dark.header-bg th {
  background-color: #343a40;
  color: #fefefe; }

.head-dark th {
  color: #343a40; }

.fg-light {
  color: #fefefe; }

.fg-dark {
  color: #212529; }

/* 1.3 - List classes
 * Handle more easily list
**/
.no-pills {
  list-style: none; }

/* 1.3 - Sizing classes
 * Handle sizing and margin
**/
.m-half {
  margin: 0.8rem; }

.mb-half {
  margin-bottom: 0.8rem; }

.mr-half {
  margin-right: 0.8rem; }

.ml-half {
  margin-left: 0.8rem; }

.mt-half {
  margin-top: 0.8rem; }

.m-0 {
  margin: 0rem; }

.mb-0 {
  margin-bottom: 0rem; }

.mr-0 {
  margin-right: 0rem; }

.ml-0 {
  margin-left: 0rem; }

.mt-0 {
  margin-top: 0rem; }

.m-1 {
  margin: 1.6rem; }

.mb-1 {
  margin-bottom: 1.6rem; }

.mr-1 {
  margin-right: 1.6rem; }

.ml-1 {
  margin-left: 1.6rem; }

.mt-1 {
  margin-top: 1.6rem; }

.m-2 {
  margin: 3.2rem; }

.mb-2 {
  margin-bottom: 3.2rem; }

.mr-2 {
  margin-right: 3.2rem; }

.ml-2 {
  margin-left: 3.2rem; }

.mt-2 {
  margin-top: 3.2rem; }

.m-3 {
  margin: 4.8rem; }

.mb-3 {
  margin-bottom: 4.8rem; }

.mr-3 {
  margin-right: 4.8rem; }

.ml-3 {
  margin-left: 4.8rem; }

.mt-3 {
  margin-top: 4.8rem; }

.m-4 {
  margin: 6.4rem; }

.mb-4 {
  margin-bottom: 6.4rem; }

.mr-4 {
  margin-right: 6.4rem; }

.ml-4 {
  margin-left: 6.4rem; }

.mt-4 {
  margin-top: 6.4rem; }

.p-half {
  padding: 0.8rem; }

.pb-half {
  padding-bottom: 0.8rem; }

.pr-half {
  padding-right: 0.8rem; }

.pl-half {
  padding-left: 0.8rem; }

.pt-half {
  padding-top: 0.8rem; }

.p-0 {
  padding: 0rem; }

.pb-0 {
  padding-bottom: 0rem; }

.pr-0 {
  padding-right: 0rem; }

.pl-0 {
  padding-left: 0rem; }

.pt-0 {
  padding-top: 0rem; }

.p-1 {
  padding: 1.6rem; }

.pb-1 {
  padding-bottom: 1.6rem; }

.pr-1 {
  padding-right: 1.6rem; }

.pl-1 {
  padding-left: 1.6rem; }

.pt-1 {
  padding-top: 1.6rem; }

.p-2 {
  padding: 3.2rem; }

.pb-2 {
  padding-bottom: 3.2rem; }

.pr-2 {
  padding-right: 3.2rem; }

.pl-2 {
  padding-left: 3.2rem; }

.pt-2 {
  padding-top: 3.2rem; }

.p-3 {
  padding: 4.8rem; }

.pb-3 {
  padding-bottom: 4.8rem; }

.pr-3 {
  padding-right: 4.8rem; }

.pl-3 {
  padding-left: 4.8rem; }

.pt-3 {
  padding-top: 4.8rem; }

.p-4 {
  padding: 6.4rem; }

.pb-4 {
  padding-bottom: 6.4rem; }

.pr-4 {
  padding-right: 6.4rem; }

.pl-4 {
  padding-left: 6.4rem; }

.pt-4 {
  padding-top: 6.4rem; }

.f-column {
  display: flex;
  flex-direction: column; }
  .f-column.reverse {
    flex-direction: column-reverse; }

.f-row {
  display: flex;
  flex-direction: row; }
  .f-row.reverse {
    flex-direction: row-reverse; }

.f-start {
  justify-content: flex-start; }

.f-end {
  justify-content: flex-end; }

.f-center {
  justify-content: center; }

.f-around {
  justify-content: space-around; }

.f-between {
  justify-content: space-between; }

.d-none {
  display: none !important; }
  @media (min-width: 576px) {
    .d-none-sm {
      display: none !important; } }
  @media (min-width: 768px) {
    .d-none-md {
      display: none !important; } }
  @media (min-width: 992px) {
    .d-none-lg {
      display: none !important; } }
  @media (min-width: 1200px) {
    .d-none-xl {
      display: none !important; } }
  @media (min-width: 1600px) {
    .d-none-xxl {
      display: none !important; } }
.d-block {
  display: block !important; }
  @media (min-width: 576px) {
    .d-block-sm {
      display: block !important; } }
  @media (min-width: 768px) {
    .d-block-md {
      display: block !important; } }
  @media (min-width: 992px) {
    .d-block-lg {
      display: block !important; } }
  @media (min-width: 1200px) {
    .d-block-xl {
      display: block !important; } }
  @media (min-width: 1600px) {
    .d-block-xxl {
      display: block !important; } }
.d-flex {
  display: flex !important; }
  @media (min-width: 576px) {
    .d-flex-sm {
      display: flex !important; } }
  @media (min-width: 768px) {
    .d-flex-md {
      display: flex !important; } }
  @media (min-width: 992px) {
    .d-flex-lg {
      display: flex !important; } }
  @media (min-width: 1200px) {
    .d-flex-xl {
      display: flex !important; } }
  @media (min-width: 1600px) {
    .d-flex-xxl {
      display: flex !important; } }
/* 4 - Custom styling
 * Styles that are custom to this particular theme
**/
/* --- 03. GLOBAL STYLING --- */
/*
 * Les styles "globaux" touchant toute la page.
 *
 */
.no-pills {
  list-style: none; }

.align-center {
  text-align: center; }

.align-left {
  text-align: left; }

.align-right {
  text-align: right; }

/* ------------------ HEADERS ------------------- */
#page-header {
  background: #e33d22 url("img/background.png");
  margin-bottom: 1.5rem;
  font-size: 0.8rem; }
  #page-header .fa {
    font-size: 1rem; }

header h1 {
  border-style: none !important;
  font-weight: 800;
  font-size: 5.4em;
  font-style: oblique;
  padding: 1.5rem;
  line-height: 1rem;
  max-width: 1200px;
  margin: auto;
  text-align: center; }
  header h1 img {
    max-width: 800px;
    height: auto;
    margin-top: 0rem;
    width: 100%; }
  header h1 a, header h1 a:visited, header h1 a:hover {
    background-color: transparent;
    outline-color: white;
    display: block; }

.osd {
  background-color: rgba(0, 0, 0, 0.3); }

.navbar {
  border-left: 0;
  border-right: 0;
  padding: 0.75rem;
  color: #fefefe; }
  .navbar a {
    color: #fefefe; }
  .navbar li {
    margin: 0; }

.categories {
  font-weight: 800;
  font-size: 0.8rem; }

.dropdown-menu {
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0), inset 0px -2px 0px rgba(0, 0, 0, 0); }

/* ------------------ CONTAINERS ------------------- */
.container-big {
  padding-left: 1.6rem;
  padding-right: 1.6rem;
  max-width: 1200px;
  margin: auto; }

.container-blog {
  padding-left: 1.6rem;
  padding-right: 1.6rem;
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  row-gap: 1.6rem;
  column-gap: 1.5rem;
  grid-template-areas: "main" "side"; }
  @media (min-width: 992px) {
    .container-blog {
      grid-template-columns: auto 300px;
      grid-template-areas: "main side"; } }
.fullwidth {
  grid-column: span 2; }

.sidebar {
  grid-area: side;
  font-size: 0.8rem; }

ul.tag-list {
  display: flex;
  padding-bottom: 0;
  overflow: hidden;
  height: auto;
  flex-wrap: wrap; }
  ul.tag-list li {
    list-style: none;
    margin: 3px; }

.container-preview {
  padding-left: 1.6rem;
  padding-right: 1.6rem;
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  row-gap: 1.6rem;
  column-gap: 3rem;
  grid-template-areas: "main" "side"; }
  @media (min-width: 992px) {
    .container-preview {
      grid-template-columns: 360px auto;
      grid-template-areas: "side main"; } }
.container-onecolumn {
  max-width: 1280px;
  margin: auto;
  padding-bottom: 1.6rem; }

.container-personnage {
  padding-left: 1.6rem;
  padding-right: 1.6rem;
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: auto;
  row-gap: 3rem;
  column-gap: 3rem;
  grid-template-areas: "nomp nomp nomp nomp nomp nomp" "info info info info meta meta" "goss goss look look look look" "aime aime aime dete dete dete" "hist hist hist hist hist hist"; }
  .container-personnage .card {
    margin: 0; }
  .container-personnage h1 {
    padding: 0; }

.personnage-nomp {
  grid-area: nomp; }

.personnage-info {
  grid-area: info; }

.personnage-meta {
  grid-area: meta; }

.personnage-goss {
  grid-area: goss; }

.personnage-look {
  grid-area: look; }

.personnage-aime {
  grid-area: aime; }

.personnage-dete {
  grid-area: dete; }

.personnage-hist {
  grid-area: hist; }

/* ------------------ PAGE ------------------- */
#wrapper {
  background-color: #fefefe; }

/* ------------------ FOOTER ------------------- */
body {
  background-color: #343a40; }

footer {
  color: #fefefe;
  padding-bottom: 1.5rem; }
  footer .columns {
    font-size: 0.8rem; }
    footer .columns a {
      color: #fefefe; }

.home-toast {
  max-width: 800px;
  width: 100%;
  margin: auto; }

.preview-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  grid-gap: 0.5333333333rem;
  margin: -0.5333333333rem;
  padding-bottom: 1.6rem; }
  @media (min-width: 768px) {
    .preview-grid {
      grid-template-columns: 1fr 1fr; } }
  @media (min-width: 992px) {
    .preview-grid {
      grid-template-columns: 1fr 1fr 1fr; } }
  @media (min-width: 1200px) {
    .preview-grid {
      grid-template-columns: 1fr 1fr 1fr 1fr; } }
.preview-list .preview {
  display: block; }

@media (min-width: 576px) {
  .preview-list .preview-thumbnail {
    width: min-content; }
    .preview-list .preview-thumbnail img {
      width: 240px;
      margin-right: 0.8rem; }
  .preview-list .preview {
    display: flex;
    align-items: start;
    margin-bottom: 1.6rem; } }

@media (min-width: 1200px) {
  .preview-list .preview-thumbnail img {
    width: 320px; } }

.preview {
  font-size: 0.8rem;
  text-decoration: none;
  padding: 0.5333333333rem;
  border-radius: 8px; }

.preview-thumbnail {
  display: block;
  width: 100%;
  background-color: transparent;
  object-fit: cover;
  padding: 0;
  line-height: 0; }
  .preview-thumbnail img {
    width: 100%;
    object-fit: cover;
    height: auto;
    aspect-ratio: 16/9;
    border-radius: 8px; }

.preview h2, .preview-featured h2 {
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-family: Teko, sans-serif;
  font-weight: 800;
  height: 3rem;
  color: #212529; }
  .preview h2 a, .preview-featured h2 a {
    background-color: transparent !important;
    color: #212529; }

.preview-featured h2 {
  color: #fefefe; }

.preview-excerpt {
  margin-top: 0.8rem;
  font-size: 0.8rem;
  line-height: 1.25rem;
  color: rgba(33, 37, 41, 0.8); }

#featured-articles {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  grid-gap: 1.6rem;
  padding-bottom: 1.6rem; }
  @media (min-width: 992px) {
    #featured-articles {
      grid-template-columns: 1fr 1fr 1fr; } }
.preview-featured {
  font-size: 0.8rem; }
  .preview-featured .preview-link {
    display: block;
    padding: 0;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none; }
    .preview-featured .preview-link .preview-item {
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
      background-size: 100% auto;
      background-position: center center;
      transition: background-size .5s; }
      .preview-featured .preview-link .preview-item:hover {
        background-size: 120% auto; }
  .preview-featured .preview-overlay {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    height: 100%;
    color: white !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 60%);
    padding: 0.2rem; }
    .preview-featured .preview-overlay h2 {
      text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7); }

.article img {
  max-width: 100%;
  height: auto;
  margin: auto; }

.article .thumbnail img {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  object-fit: cover; }

.article-meta .author-area {
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem; }
  .article-meta .author-area img {
    border-radius: 9999px;
    width: 4.8rem;
    height: auto;
    margin: 0;
    margin-right: 0.8rem; }

.article-meta .article-category .badge {
  display: inline-block;
  margin-bottom: 0.4rem; }

#mobile-sidebar {
  position: fixed;
  top: 0;
  left: -100vw;
  width: 100vw;
  height: 100vh;
  transition: left 0.2s;
  padding: 1rem;
  overflow: scroll; }
  #mobile-sidebar.shown {
    left: 0; }
  @media (min-width: 576px) {
    #mobile-sidebar {
      display: none; } }
.menu-button {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background-color: rgba(0, 0, 0, 0.2);
  color: #fefefe;
  padding: 0.75em;
  border: none;
  font-size: 1.2rem;
  display: flex;
  align-content: center;
  justify-content: center;
  aspect-ratio: 1;
  border-radius: 999px;
  opacity: 0.75; }
  .menu-button:hover {
    opacity: 1; }
  @media (min-width: 576px) {
    .menu-button {
      display: none; } }
