/* Base */
@import url('https://fonts.googleapis.com/css?family=Montserrat:400,600,700&display=swap');
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&display=swap");

*{
  margin: 0;
  padding: 0;
  list-style: none;
  text-decoration: none;
  box-sizing: border-box;
  font-family: 'Montserrat', sans-serif;
}

:root{
  /* ===== Colors ===== */
  /* --body-color: #FFEDED;
  --sidebar-color: #FFF;
  --primary-color: #9D0000;
  --primary-color-light: #F6F5FF;
  --toggle-color: #DDD;
  --text-color: #707070; */
  --body-color: #403939;
  --sidebar-color: #000;
  --primary-color: #9D0000;
  --primary-color-light: #505054;
  --toggle-color: #606060;
  --text-color: #F2F2F2;

  /* ====== Transition ====== */
  --tran-03: all 0.2s ease;
  --tran-03: all 0.3s ease;
  --tran-04: all 0.3s ease;
  --tran-05: all 0.3s ease;

  --bs-blue: #375a7f;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #e83e8c;
  --bs-red: #e74c3c;
  --bs-orange: #fd7e14;
  --bs-yellow: #f39c12;
  --bs-green: #00bc8c;
  --bs-teal: #20c997;
  --bs-cyan: #3498db;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #888;
  --bs-gray-dark: #303030;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #ebebeb;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #888;
  --bs-gray-700: #444;
  --bs-gray-800: #303030;
  --bs-gray-900: #222;
  --bs-primary: #375a7f;
  --bs-secondary: #444;
  --bs-success: #00bc8c;
  --bs-info: #3498db;
  --bs-warning: #f39c12;
  --bs-danger: #e74c3c;
  --bs-light: #adb5bd;
  --bs-dark: #303030;
  --bs-primary-rgb: 55, 90, 127;
  --bs-secondary-rgb: 68, 68, 68;
  --bs-success-rgb: 0, 188, 140;
  --bs-info-rgb: 52, 152, 219;
  --bs-warning-rgb: 243, 156, 18;
  --bs-danger-rgb: 231, 76, 60;
  --bs-light-rgb: 173, 181, 189;
  --bs-dark-rgb: 48, 48, 48;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-body-color-rgb: 255, 255, 255;
  --bs-body-bg-rgb: 34, 34, 34;
  --bs-font-sans-serif: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #fff;
  --bs-body-bg: #222;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-2xl: 2rem;
  --bs-border-radius-pill: 50rem;
  --bs-link-color: #00bc8c;
  --bs-link-hover-color: #009670;
  --bs-code-color: #e83e8c;
  --bs-highlight-bg: #fdebd0;
}


body{
  min-height: 100vh;
  background-color: var(--body-color);
  transition: var(--tran-05);
}

/* Creer une flex box */
.flex-box {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}

@media (max-width: 800px) {
    .flex-box {
        display: flex;
        flex-direction: column;
    }
}

/* Scroll par */
::-webkit-scrollbar {
    width: 5px;
  }
::-webkit-scrollbar-thumb {
  background: black;
  border-radius: 3px;
}

/* Nav */

::selection{
  background-color: var(--primary-color);
  color: #fff;
}

/* ===== Sidebar ===== */
.sidebar{
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 250px;
  padding: 10px 14px;
  background: var(--sidebar-color);
  transition: var(--tran-05);
  z-index: 100;  
}
.sidebar.close{
  width: 88px;
}

/* ===== Reusable code - Here ===== */
.sidebar li{
  height: 50px;
  list-style: none;
  display: flex;
  align-items: center;
  margin-top: 10px;
}

.sidebar header .image,
.sidebar .icon{
  min-width: 60px;
  border-radius: 6px;
}

.sidebar .icon{
  min-width: 60px;
  border-radius: 6px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.sidebar .text,
.sidebar .icon{
  color: var(--text-color);
  transition: var(--tran-03);
}

.sidebar .text{
  font-size: 17px;
  font-weight: 500;
  white-space: nowrap;
  opacity: 1;
}
.sidebar.close .text{
  opacity: 0;
}
/* =========================== */

.sidebar header{
  position: relative;
}

.sidebar header .image-text{
  display: flex;
  align-items: center;
}
.sidebar header .logo-text{
  display: flex;
  flex-direction: column;
}
header .image-text .name {
  margin-top: 2px;
  font-size: 18px;
  font-weight: 600;
}

header .image-text .profession{
  font-size: 16px;
  margin-top: -2px;
  display: block;
}

.sidebar header .image{
  display: flex;
  align-items: center;
  justify-content: center;
}

.sidebar header .image img{
  width: 40px;
  border-radius: 6px;
}

.sidebar header .toggle{
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%) rotate(180deg);
  height: 25px;
  width: 25px;
  background-color: var(--primary-color);
  color: var(--sidebar-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  cursor: pointer;
  transition: var(--tran-05);
}

body.dark .sidebar header .toggle{
  color: var(--text-color);
}

.sidebar.close .toggle{
  transform: translateY(-50%) rotate(0deg);
}

.sidebar .menu{
  margin-top: 40px;
}

.sidebar li.search-box{
  border-radius: 6px;
  background-color: var(--primary-color-light);
  cursor: pointer;
  transition: var(--tran-05);
}

.sidebar li.search-box input{
  height: 100%;
  width: 100%;
  outline: none;
  border: none;
  background-color: var(--primary-color-light);
  color: var(--text-color);
  border-radius: 6px;
  font-size: 17px;
  font-weight: 500;
  transition: var(--tran-05);
}
.sidebar li a{
  list-style: none;
  height: 100%;
  background-color: transparent;
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
  border-radius: 6px;
  text-decoration: none;
  transition: var(--tran-03);
}

.sidebar li a:hover{
  background-color: var(--primary-color);
}
.sidebar li a:hover .icon,
.sidebar li a:hover .text{
  color: var(--sidebar-color);
}
body.dark .sidebar li a:hover .icon,
body.dark .sidebar li a:hover .text{
  color: var(--text-color);
}

.sidebar .menu-bar{
  height: calc(100% - 55px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow-y: scroll;
}
.menu-bar::-webkit-scrollbar{
  display: none;
}
.sidebar .menu-bar .mode{
  border-radius: 6px;
  background-color: var(--primary-color-light);
  position: relative;
  transition: var(--tran-05);
}

.menu-bar .mode .sun-moon{
  height: 50px;
  width: 60px;
}

.mode .sun-moon i{
  position: absolute;
}
.mode .sun-moon i.sun{
  opacity: 0;
}
body.dark .mode .sun-moon i.sun{
  opacity: 1;
}
body.dark .mode .sun-moon i.moon{
  opacity: 0;
}

.menu-bar .bottom-content .toggle-switch{
  position: absolute;
  right: 0;
  height: 100%;
  min-width: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  cursor: pointer;
}
.toggle-switch .switch{
  position: relative;
  height: 22px;
  width: 40px;
  border-radius: 25px;
  background-color: var(--toggle-color);
  transition: var(--tran-05);
}

.switch::before{
  content: '';
  position: absolute;
  height: 15px;
  width: 15px;
  border-radius: 50%;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  background-color: var(--sidebar-color);
  transition: var(--tran-04);
}

body.dark .switch::before{
  left: 20px;
}

.home{
  position: absolute;
  top: 0;
  top: 0;
  left: 250px;
  height: 100vh;
  width: calc(100% - 250px);
  background-color: var(--body-color);
  transition: var(--tran-05);
}
.home .text{
  font-size: 30px;
  font-weight: 500;
  color: var(--text-color);
  padding: 12px 60px;
}

.sidebar.close ~ .home{
  left: 78px;
  height: 100vh;
  width: calc(100% - 78px);
}
body.dark .home .text{
  color: var(--text-color);
}

.box {
  padding: 12px 60px;
}

.box * {
  font-size: 20px;
  font-weight: 500;
  color: var(--text-color);
}

/* from boostwatch darkly */

.table {
  --bs-table-color: var(--bs-body-color);
  --bs-table-bg: transparent;
  --bs-table-border-color: #444;
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-body-color);
  --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
  --bs-table-active-color: var(--bs-body-color);
  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
  --bs-table-hover-color: var(--bs-body-color);
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  color: var(--bs-table-color);
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  background-color: var(--bs-table-bg);
  border-bottom-width: 1px;
  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: 2px solid currentcolor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: 1px 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 1px;
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: var(--bs-table-striped-bg);
  color: var(--bs-table-striped-color);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-accent-bg: var(--bs-table-striped-bg);
  color: var(--bs-table-striped-color);
}

.table-active {
  --bs-table-accent-bg: var(--bs-table-active-bg);
  color: var(--bs-table-active-color);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-accent-bg: var(--bs-table-hover-bg);
  color: var(--bs-table-hover-color);
}

.table-primary {
  --bs-table-color: #fff;
  --bs-table-bg: #375a7f;
  --bs-table-border-color: #4b6b8c;
  --bs-table-striped-bg: #416285;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #4b6b8c;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #466689;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #fff;
  --bs-table-bg: #444444;
  --bs-table-border-color: #575757;
  --bs-table-striped-bg: #4d4d4d;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #575757;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #525252;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #fff;
  --bs-table-bg: #00bc8c;
  --bs-table-border-color: #1ac398;
  --bs-table-striped-bg: #0dbf92;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #1ac398;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #13c195;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-info {
  --bs-table-color: #fff;
  --bs-table-bg: #3498db;
  --bs-table-border-color: #48a2df;
  --bs-table-striped-bg: #3e9ddd;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #48a2df;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #43a0de;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-warning {
  --bs-table-color: #fff;
  --bs-table-bg: #f39c12;
  --bs-table-border-color: #f4a62a;
  --bs-table-striped-bg: #f4a11e;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #f4a62a;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #f4a324;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-danger {
  --bs-table-color: #fff;
  --bs-table-bg: #e74c3c;
  --bs-table-border-color: #e95e50;
  --bs-table-striped-bg: #e85546;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #e95e50;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #e9594b;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-light {
  --bs-table-color: #fff;
  --bs-table-bg: #adb5bd;
  --bs-table-border-color: #b5bcc4;
  --bs-table-striped-bg: #b1b9c0;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #b5bcc4;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #b3bbc2;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #303030;
  --bs-table-border-color: #454545;
  --bs-table-striped-bg: #3a3a3a;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #454545;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #404040;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--body-color);
  z-index: 999999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.loader__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.loader__content__spinner {
  width: 50px;
  height: 50px;
  border: 5px solid #f3f3f3;
  border-top: 5px solid #9D0000;
  border-radius: 50%;
  animation: spin 2s linear infinite;
}

.loader__content__text {
  margin-top: 20px;
  font-size: 20px;
  font-weight: 500;
  color: var(--text-color);
}

@keyframes spin {
  0% {
      transform: rotate(0deg);
  }
  100% {
      transform: rotate(360deg);
  }
}

code {
  font-family: monospace;
  font-size: 1rem;
  color: #fff;
  background-color: #000;
  padding: 0.25rem;
  border-radius: 0.25rem;

  white-space: pre-wrap;

  display: block;
  overflow: auto;

  scrollbar-width: thin;
  scrollbar-color: #fff #000;

  padding: 1rem;

  border: 1px solid #000;
  border-radius: 0.25rem;

  background-color: #000;
}

code::before {
  content: '>_';
  display: inline-block;
  margin-right: 0.5rem;
  color: #fff;
}

code::after {
  content: '_';
  display: inline-block;
  margin-left: 0.5rem;
  color: #fff;
  font-weight: bold;
  animation: blink 1s infinite;
}

@keyframes blink {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

code.error {
  color: #fff;
  background-color: #9D0000;

  border-color: #9D0000;
}