@import url(https://fonts.googleapis.com/css?family=Montserrat:300,300i,400,400i,500,500i,600,600i,700,700i,800,800i&display=swap);
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans&display=swap);
@import url(https://fonts.googleapis.com/css?family=Fira+Mono:300,400,500,600,700,800&display=swap);
@import url(https://fonts.googleapis.com/css?family=Source+Code+Pro:300,400,500,700&display=swap);

:root {
  /* Fonts */
  --text-font-family: Montserrat;
  --text-font-is-google: 1;
  --text-font-family-fallback: -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, Ubuntu, roboto, noto, segoe ui, arial;
  --text-font-base: sans-serif;
  --header-font-family: "Josefin Sans";
  --header-font-is-google: 1;
  --header-font-family-fallback: Georgia, serif;
  --code-font-family: "Fira Mono";
  --code-font-is-google: 1;
  --base-font-size: 20px;
  --text-font-size: 1rem;
  --code-font-size: 0.9rem;
  --code-inline-font-size: 1em;
  --header-h1-font-size: 2.3rem;
  --header-h2-font-size: 1.75rem;
  --header-h3-font-size: 1.4rem;

  /* Colors */
  --text-color: #000000;
  --header-color: #0855a0;
  --background-color: #FFFFFF;
  --link-color: #0855a0;
  --text-bold-color: black;
  --code-highlight-color: rgba(255,255,0,0.5);
  --inverse-text-color: #000000;
  --inverse-background-color: #00adee;
  --inverse-header-color: #000000;
  --inverse-link-color: #0855a0;
  --title-slide-background-color: #FFFFFF;
  --title-slide-text-color: #FFFFFF;
  --header-background-color: #0855a0;
  --header-background-text-color: #FFFFFF;
  --primary: #0855a0;
  --secondary: #00adee;
  --white: #FFFFFF;
  --black: #000000;
}

html {
  font-size: var(--base-font-size);
}

body {
  font-family: var(--text-font-family), var(--text-font-family-fallback), var(--text-font-base);
  font-weight: 400;
  color: var(--text-color);
}
h1, h2, h3 {
  font-family: var(--header-font-family), var(--header-font-family-fallback);
  font-weight: 600;
  color: var(--header-color);
}
.remark-slide-content {
  background-color: var(--background-color);
  font-size: 1rem;
  padding: 16px 64px 16px 64px;
  width: 100%;
  height: 100%;
}
.remark-slide-content h1 {
  font-size: var(--header-h1-font-size);
}
.remark-slide-content h2 {
  font-size: var(--header-h2-font-size);
}
.remark-slide-content h3 {
  font-size: var(--header-h3-font-size);
}
.remark-code, .remark-inline-code {
  font-family: var(--code-font-family), Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;
}
.remark-code {
  font-size: var(--code-font-size);
}
.remark-inline-code {
  font-size: var(--code-inline-font-size);
  color: rgb(0, 0, 0);
  font-weight: 500;
}
.remark-slide-number {
  color: rgb(0, 0, 0, 0.6);
  opacity: 1;
  font-size: 0.9rem;
}
strong {
  font-weight: bold;
  color: var(--text-bold-color); 
}
a, a > code {
  color: var(--link-color);
  text-decoration: none;
}
.footnote {
  position: absolute;
  bottom: 60px;
  padding-right: 4em;
  font-size: 0.9em;
}
.remark-code-line-highlighted {
  background-color: var(--code-highlight-color);
}
.inverse {
  background-color: var(--inverse-background-color);
  color: var(--inverse-text-color);
}
.inverse h1, .inverse h2, .inverse h3 {
  color: var(--inverse-header-color);
}
.inverse a, .inverse a > code {
  color: var(--inverse-link-color);
}
.title-slide, .title-slide h1, .title-slide h2, .title-slide h3 {
  color: var(--title-slide-text-color);
}
.title-slide {
  background-color: var(--title-slide-background-color);
}
.title-slide .remark-slide-number {
  display: none;
}
/* Two-column layout */
.left-column {
  width: 20%;
  height: 92%;
  float: left;
}
.left-column h2, .left-column h3 {
  color: #0855a0;
}
.left-column h2:last-of-type, .left-column h3:last-child {
  color: #0855a0;
}
.right-column {
  width: 75%;
  float: right;
  padding-top: 0;
}
.pull-left {
  float: left;
  width: 47%;
}

.pull-right {
  float: right;
  width: 47%;
}
.pull-right + * {
  clear: both;
}
img, video, iframe {
  max-width: 100%;
}
blockquote {
  border-left: solid 5px #43418A80;
  padding-left: 1em;
}
.remark-slide table {
  margin: auto;
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
}
.remark-slide table thead th {
  border-bottom: 1px solid #ddd;
}
th, td {
  padding: 5px;
}
.remark-slide table:not(.table-unshaded) thead,
.remark-slide table:not(.table-unshaded) tfoot,
.remark-slide table:not(.table-unshaded) tr:nth-child(even) {
  background: rgba(0, 0, 0, 0.05);
}
table.dataTable tbody {
  background-color: var(--background-color);
  color: var(--text-color);
}
table.dataTable.display tbody tr.odd {
  background-color: var(--background-color);
}
table.dataTable.display tbody tr.even {
  background-color: rgba(0, 0, 0, 0.1);
}
table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter, .dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_processing, .dataTables_wrapper .dataTables_paginate {
  color: var(--text-color);
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  color: var(--text-color) !important;
}

/* Horizontal alignment of code blocks */
.remark-slide-content.left pre,
.remark-slide-content.center pre,
.remark-slide-content.right pre {
  text-align: start;
  width: max-content;
  max-width: 100%;
}
.remark-slide-content.left pre,
.remark-slide-content.right pre {
  min-width: 50%;
  min-width: min(40ch, 100%);
}
.remark-slide-content.center pre {
  min-width: 66%;
  min-width: min(50ch, 100%);
}
.remark-slide-content.left pre {
  margin-left: unset;
  margin-right: auto;
}
.remark-slide-content.center pre {
  margin-left: auto;
  margin-right: auto;
}
.remark-slide-content.right pre {
  margin-left: auto;
  margin-right: unset;
}

/* Slide Header Background for h1 elements */
.remark-slide-content.header_background > h1 {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--header-background-color);
  color: var(--header-background-text-color);
  padding: 2rem 64px 1.5rem 64px;
  margin-top: 0;
  box-sizing: border-box;
}
.remark-slide-content.header_background {
  padding-top: 7rem;
}

@page { margin: 0; }
@media print {
  .remark-slide-scaler {
    width: 100% !important;
    height: 100% !important;
    transform: scale(1) !important;
    top: 0 !important;
    left: 0 !important;
  }
}

.base {
  color: var(--base);
}
.bg-base {
  background-color: var(--base);
}
.white {
  color: var(--white);
}
.bg-white {
  background-color: var(--white);
}
.black {
  color: var(--black);
}
.bg-black {
  background-color: var(--black);
}


.titre-page-titre {
  font-size: 2.1rem;
  color: #FFFFFF;
  font-weight: 600;
}

.sous-titre-page-titre {
  font-size: 1.7rem;
  color: #81A1C1;
  line-height: 1.9;
  font-weight: 500;
}

.sous-sous-titre-page-titre {
  font-size: 1.3rem;
  color: #FFFFFF;
  line-height: 1.1cm;
  font-weight: 400;
}

.mon-style-bleu {
  font-size: 0.9rem;
  color: #88C0D0;
  line-height: 1.1cm;
}

.rouge-italique-gras-geant {
  font-weight: bold;
  font-style: italic;
  font-size: 5em;
  color: red;
}

.blanc {
  color: white;
}

.pull-left-25 {
  float: left;
  width: 25%;
}
.pull-right-75 {
  float: right;
  width: 75%;
}

/* Slide Header Background for h1 elements */
.remark-slide-content.header_background > h1,
.remark-slide-content:not(.normal):not(.inverse):not(.title):not(.middle):not(.bottom) > h1 {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--header-background-color);
  color: var(--header-background-text-color);
  padding: 25px 0px 15px 20px;
  margin-top: 0;
  box-sizing: border-box;
}
.remark-slide-content.header_background,
.remark-slide-content:not(.normal):not(.inverse):not(.title):not(.middle):not(.bottom) {
  padding-top: 6rem;
}

@page { margin: 0; }
@media print {
  .remark-slide-scaler {
    width: 100% !important;
    height: 100% !important;
    transform: scale(1) !important;
    top: 0 !important;
    left: 0 !important;
  }
}

.primary {
  color: var(--primary);
}
.bg-primary {
  background-color: var(--primary);
}
.secondary {
  color: var(--secondary);
}
.bg-secondary {
  background-color: var(--secondary);
}
.white {
  color: var(--white);
}
.bg-white {
  background-color: var(--white);
}
.black {
  color: var(--black);
}
.bg-black {
  background-color: var(--black);
}


.maclasse {
  color: white;
  background-color: #1988f7;
  border: 2px solid #000000;
}

.bleu-gras {
   color: #0855a0;
   font-weight: 700;
}

.bleu-gros {
   color: #0855a0;
   font-weight: 600;
   font-size: 30px;
}

.petit{
  font-size: 21px;
}

/* Blocs */
.bloc {
  display: block;
  color: black;
  border-radius: 15px;
  border-style: solid;
  border-width: 5px;
  padding-top: 1px;
  padding-right: 30px;
  padding-bottom: 5px;
  padding-left: 30px;
  margin-bottom: 10px;
}

.bloc.gris {
  background-color: rgba(220, 220, 220, 0.5);
  border-color: rgb(220, 220, 220);
}

.bloc.bleu {
  background-color: rgba(8, 85, 160, 0.1);
  border-color: rgba(8, 85, 160, 0.45);
}

.bloc.rouge {
  background-color: rgba(160, 8, 85, 0.05);
  border-color: rgba(160, 8, 85, 0.2);
}

/* Blocs avec bannière titrée */
.titre-bloc {
  display: block;
  color: white;
  font-size: 24px;
  font-weight: 600;
  border-width: 5px;
  border-color: rgba(105, 105, 105, 0.4);
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  line-height: 40px;
  padding-left: 20px;
  margin-bottom: 0px;
}

.titre-bloc.gris {
  background-color: rgba(105, 105, 105, 0.6);
}

.titre-bloc.bleu {
  background-color: rgba(8, 85, 160, 0.5);
}

.titre-bloc.rouge {
  background-color: rgba(160, 8, 85, 0.3);
}

.bloc.titre {
  border-top-width: 0px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  margin-top: -25px;
}

.bloc.titre.gris {
  border-color: rgba(105, 105, 105, 0.6);
}

.bloc.titre.bleu {
  border-color: rgba(8, 85, 160, 0.3);
}
