@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:wght@400;500;600;700&display=swap');

:root {
  --text: #101326;
  --primary: #23357d;
  --primary-dark: #171a37;
  --dark: #101326;
  /* --primary-light: #eff8fd; */
  --light: #f7f9fb;
  --secondary: #be993c;
  --informative: #69727d;
  --nav-link: #bbbdcf;
  /* --secondary-light: #f3f3f3;
  --background: #f7f7f7;
  --nav: #fefefe;
  --card: #fff;
  --tertiary: #ec0b43;
  --tertiary-light: #ffe3e9; */
}



html {
  transition: all 0.5;
}

body {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  color: var(--text)
    /* background-color: var(--background); */
}

a {
  text-decoration: unset;
}

.pointer {
  cursor: pointer;
}

#wrapper {
  display: flex;
}

#header {

  padding: 1rem 0;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--light); 
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

h1 {
  color: var(--secondary);
}

h4 {
  color: var(--secondary);
}

h6 {
  font-size: 1.2rem !important;
}

.lh-12{
 line-height: 1.2;
}

p,
td,
tr {
  color: var(--text);
}



tr,
td,
th {
  border: none !important;
  border-bottom: 1px solid var(--primary-light) !important;
}

thead {
  background: var(--secondary-light);
}

thead th {
  color: var(--secondary);
}

.main {
  width: 100%;
  padding-left: 1.5rem;
}

.content {
  margin-left: 15%;

}

a {
  color: var(--primary);
}

a:hover {
  text-decoration: none;
}


.border-radius-10{
  border-radius: 10px;
}

/* IMG  */
.invert {
  filter: invert(100%);
}

/* END IMG  */
/* TEXT  */

.text-primary {
  color: var(--primary) !important;
}

.text-primary-dark {
  color: var(--primary-dark);
}

.text-secondary {
  color: var(--secondary) !important;
}

.text-tertiary {
  color: var(--tertiary) !important;
}

.text-green {
  color: rgb(71, 226, 104);
}

.fw-500 {
  font-weight: 500;
}

.fw-700 {
  font-weight: 700;
}

/* END TEXT  */
.separator-dot {
  width: 5px;
  height: 5px;
  border-radius: 50px;
  background-color: grey;
  margin: 0 12px 0 12px;
}

.separator-primary {
  width: 10px;
  height: 10px;
  border-radius: 50px;
  background-color: var(--primary);
  margin: 0 12px 0 12px;
}

.separator-tertiary {
  width: 10px;
  height: 10px;
  border-radius: 50px;
  background-color: var(--tertiary);
  margin: 0 12px 0 12px;
}

/* CARDS */

.card {

  background: rgba(255, 255, 255, 1);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.1);
  backdrop-filter: blur(6.5px);
  -webkit-backdrop-filter: blur(6.5px);
  border-radius: 15spx;
  border: 1px solid rgba(255, 255, 255, 0.18);
}


.card-header {
  background-color: transparent;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--light);
  padding: 0;
  padding-bottom : 20px;
  margin-bottom: 10px;
}

/* END CARDS */

/* background */

.bg-primary {
  background-color: var(--primary) !important;
}

.bg-primary-dark {
  background-color: var(--primary-dark) !important;
}

.bg-dark {
  background-color: var(--dark) !important;
}

.bg-light {
  background-color: var(--light) !important;
}

.bg-secondary {
  background-color: var(--secondary) !important;
}

.bg-tertiary {
  background-color: var(--tertiary) !important;
}

.bg-tertiary-light {
  background-color: var(--tertiary-light) !important;
}

.bg-secondary-light {
  background-color: var(--secondary-light);
}

.text-informative {
  color: var(--informative);
}

/* .card {
  box-shadow: -2px 2px 10px -3px rgba(195, 185, 251, 0.5);
  border: 0 solid rgba(0, 0, 0, 0.125);
  background-color: var(--card);
} */

.dark .card {
  box-shadow: none;
}

.card-title {
  font-size: 20px;
  margin-bottom: 0;
}


/* headings */

.p-heading-xs {
  font-size: 18px;
  font-weight: 700;
  color: var(--primary);
}

.heading {
  font-size: 20px;
  font-weight: 700;
  color: var(--primary);
}

.heading-xl {
  font-size: 28px;
  font-weight: 700;
  color: var(--primary);
}


.heading-xxl {
  font-size: 36px;
  font-weight: 700;
  color: var(--nav-link);
}


hr {
  border-top: 1px solid #ddd;
}

/* ----- BACKEND MARQUEs ASSOC -------- */
#assign:focus-visible {
  /* border-radius: 25px 25px 0 0; */
}

#entries-assign {
  display: none;
  padding: 0;
}

#assign>div:hover>#entries-assign {
  display: block;
}

#entries-assign div {
  cursor: pointer;
  margin: 10px 0 0 15px;
}

#entries-assign div p:hover {
  color: var(--primary);
}

.pointer {
  cursor: pointer;
}

/* header NAV  */

.item {
  margin-right: 20px;
  text-align: center;
}

.item:last-child {
  margin-right: 0px !important;
}

/* .item a,
.item p {
  color: #000;
  font-size: 12px;
} */

/* NAV + SIDEBAR */

#navSidebar {
  /* overflow-y: scroll; */
  position: fixed;
  overflow-x: hidden;
  top: 0;
  bottom: 0;
  z-index: 1000;
  border-right: 1px solid var(--nav);
  background-color: var(--dark); 
  width: 18%;
  min-height: 100%;
  box-shadow: 0 5px 25px 0.3px #999;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

.nav-sidebar-container {
  padding: 30px;
}

.nav-row {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}

.nav-sidebar ul {
  list-style: none;
  padding: 0;
}

.nav-sidebar ul li{
  margin-bottom: 10px;
}

.nav-sidebar a,
.nav-mobile a {
  color: var(--nav-link);
  transition: margin-left 0.3s;
  font-weight: 400;
  font-size: 18px;
  
}

.nav-sidebar a:hover {
  margin-left: 3px;
}

.navbar-brand {
  display: initial;
}

.title-nav {
  text-transform: uppercase;
  margin-bottom: 12px;
  margin-top: 40px;
  color: var(--secondary);
  font-weight: 500; 
  font-size: 16px;
  letter-spacing: 1px;
}

.logo-mobile {
  display: none;
}

/* .nav-mobile {
  display: none;
  width: 50%;
  bottom: 0;
  background: #fff;
  z-index: 1000;
  transform: translateX(-400px);
} */

/* ----- END NAV SIDE BAR -------- */

/*------ NAV MOBILE --------*/

/* .inner-nav-mobile {
  display: flex;
  text-align: center;
  margin: 0;
  align-items: end;
  overflow-x: scroll;
  justify-content: space-around;
}

.nav-mobile-item {
  padding-left: 1rem;
  padding-right: 1rem;
} */

/* ------- END NAV MOBILE ------- */

/* -------------- Dropdown  -------------- */

.collapse-container {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.collapse-button {
  width: 100%;
  padding: 10px;
  background-color: #f1f1f1;
  border: none;
  text-align: left;
  cursor: pointer;
  font-size: 16px;
}

.collapse-button .arrow {
  display: inline-block;
  transition: transform 0.3s;
}

.collapse-content {
  display: none;
}

.collapse-content p {
  margin: 0;
}

.collapse-container.active .collapse-content {
  display: block;
}

.collapse-container.active .collapse-button .arrow {
  transform: rotate(90deg);
  /* rotation de la flèche */
}

/* --------- FORM --------- */

/* FORMS */

input[type="text"],
textarea,
input[type="password"] {
  /* border: 1px solid var(--informative); 
  padding: 10px 20px; */
  transition: box-shadow 0.3s;
}

input[type="text"]:focus,
textarea:focus,
input[type="password"]:focus {
  /* box-shadow: none; */
  box-shadow: 0px 3px 20px var(--light);
  border: 1px solid var(--light);
}

input[type="submit"] {
  border: none;
  box-shadow: 0px 10px 20px rgba(86, 146, 228, 0.1);
  border-radius: 5px;
}

label {
  color: var(--primary);
  display: block;
  margin-bottom: 5px !important;
}

textarea {
  height: 120px;
  resize: none;
  border: 1px solid #00002a;
}

select.custom-select {
  color: #000;
  border: 2px solid #ff1e00;
  width: auto;
}


select.custom-select:focus {
  border-bottom: 1px solid #000051;
  box-shadow: none;
}

input[type="email"]:focus,
input[type="password"]:focus,
input[type="text"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
textarea:focus {
  border-color: none;
}

.btn-link {
  margin-bottom: -15px;
  margin-top: 20px;
}

.btn-link a {
  color: #0fff00;
  border-radius: 100px;
  border: 3px solid #1a237e;
  padding: 8px 15px;
  background: #fff;
}

.btn-sm {
  padding: 2px 4px;
}

.search-input select,
.search-input input[type="date"] {
  border: 2px solid #fff;
  background-color: #fff;
  border-radius: 25px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

select option {
  font-family: inherit !important;
}

.tag {
  font-size: 12px;
  padding: 3px 5px 0;
  border-radius: 3px;
  font-weight: 500;
}

/* --------- ENDFORM --------- */

.btn{
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.btn-primary {
  background-color: var(--primary) !important;
  color: white;
  border: none;
  transition: all 0.5s;
}

.btn-primary img{
  filter: invert(100%);

}

.btn-primary:hover {
  background-color: var(--light) !important;
  color: var(--primary);
  border: none;
}

.btn-secondary {
  background-color: var(--secondary) !important;
  color: white;
  border: none;
  transition: all 0.5s;
}

.btn-secondary:hover {
  background-color: var(--primary) !important;
  border: none;
}

.btn-informative {
  background-color: var(--informative) !important;
  color: white;
  border: none;
  transition: all 0.5s;
}

.btn-informative:hover {
  background-color: var(--informative) !important;
  color: white;
  border: none;
}

.trashbtn:hover {
  filter: brightness(0) saturate(100%) invert(24%) sepia(96%) saturate(6543%) hue-rotate(338deg) brightness(92%) contrast(102%);
}

.trashbtn.position-absolute {
  transform: translate(-50%, -50%);
  top: 50%;
  right: 10px;
}

.btn-secondary img {
  filter: invert(100%);
}

/* Badges */

.badge {
  font-weight: 500;
  border-radius: 0.45rem;
}

.badge-blue-price {
  background-color: var(--primary);
  color: white;
}

.badge-green-price {
  background-color: rgb(123, 223, 144);
  color: white;
}

.badge-emissions {
  font-size: 14px;
  font-weight: 700;
  border-radius: 0.45rem;
  padding: 6px 8px 6px 8px;
}

.badge-success {
  background-color: var(--light);
  color: var(--primary-dark);
}

.badge-green {
  background-color: rgb(188, 255, 188);
  color: rgb(73, 170, 73);
}

.badge-danger {
  background-color: #ffd5df;
  /* color: rgb(182, 80, 80); */
  color: var(--tertiary);
}

.badge-orange {
  background-color: rgb(255, 241, 215);
  color: rgb(212, 149, 66);
}

.badge-yellow {
  background-color: rgb(249, 250, 167);
  color: rgb(194, 184, 40);
}

.badge-danger img {
  filter: brightness(0) saturate(100%) invert(24%) sepia(96%) saturate(6543%) hue-rotate(338deg) brightness(92%) contrast(102%);
}

.badge-green img {
  filter: brightness(0) saturate(100%) invert(61%) sepia(67%) saturate(416%) hue-rotate(71deg) brightness(81%) contrast(91%);
}

.badge-orange img {
  filter: brightness(0) saturate(100%) invert(55%) sepia(55%) saturate(480%) hue-rotate(354deg) brightness(101%) contrast(92%);
}

.badge-yellow img {
  filter: brightness(0) saturate(100%) invert(58%) sepia(96%) saturate(352%) hue-rotate(18deg) brightness(103%) contrast(86%);
}

.badge-primary-light {
  background-color: var(--primary-light) !important;
  color: var(--primary);
}

.badge-secondary-light {
  background-color: var(--secondary-light) !important;
  color: var(--secondary);
}

.badge-tertiary-light {
  background-color: var(--tertiary-light) !important;
  color: var(--tertiary);
}

/* END badge */

/* ALERTS */

/* .alert-success {
  background-color: #e8f9fd;
  color: var(--primary);
} */

.alert-danger {
  background-color: #ffccbc;
  color: #ff3d00;
}

/* ---- Collazpse section STYLE ----- */

.section-hidden {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s;
}

.show-signaler {
  max-height: 100px !important;
  overflow: initial !important;
}

.button-signaler {
  background: none;
  border: none;
}

/* ----  END  Signaler section STYLE ----*/

@keyframes bouncingText {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1);
  }
}

.bouncing-text {
  font-size: 20px !important;
  animation: bouncingText 0.5s infinite;
  display: inline-block;
  margin-left: 10px;
}

.rounded {
  border-radius: 100% !important;
}

/*------------NAV---------*/
.nav-sidebar li.active {
  margin-top: 12px;
  margin-bottom: 12px;
}

.nav-sidebar li.active a {
  font-weight: 500;
  color: var(--light);
}

.nav-sidebar li img {
  filter: brightness(0) saturate(100%) invert(87%) sepia(12%) saturate(279%) hue-rotate(197deg) brightness(87%) contrast(89%);}

.nav-sidebar li.active img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(51%) saturate(2%) hue-rotate(11deg) brightness(110%) contrast(101%);
}

/*------------END---------*/



/*------------RESPONSIVE---------*/

/* VUE tablettes + mobiles */

@media screen and (max-width: 991px) {
  /* NAV BURGER */

  /* On vire le menu latérial sur petits écrans */
  #navSidebar {
    /* display: none; */
    width: 50%;
    position: absolute;
    left: 0;
    top : 0;
    bottom : 0;
    transform: translateX(-600px);
    transition: transform 0.2s;
    box-shadow: 0 5px 25px 0.3px #000;

  }

  .active{
    transform: translateX(0) !important;
    display: block !important;
  }

  #header{
    background-color: var(--dark);
    color : white !important;
    box-shadow: 0 3px 20px 5px #888;
    border-bottom: none;
  }

  #header p{
    color : white !important;

  }

  #header .sidebar-expand{
    filter: invert(100%);
    width : 25px;
  }
  


  /* Le contenu de la page prend donc maintenant toute la largeur vu que la sidebar a disparu */

  .main {
    padding-left: 0;
    width: 100%;
  }

  /* On fait appraitre le menu en bas de l'écran  */
  /* .nav-mobile {
    display: block;
  } */

  /* END NAV BURGER */

  h1 {
    font-size: 24px;
  }

  .logo-mobile {
    display: block;
  }

  .content {
    margin-left: 0;
  }

}

/* END VUE tablettes + mobiles */

/*----- EXTRA SMALL ---*/

@media screen and (max-width: 575px) {
  .nav-mobile a {
    font-size: 10px;
  }

  #header .sidebar-expand{
    filter: invert(100%);
    width : 20px;
  }

  .logo-mobile{
    width : 120px;
  }
  
  #navSidebar{
    width: 75%;
  }

  .heading{
    font-size : 16px; 
  }


  .heading-xl{
    font-size : 22px; 
  }

}

/*-----  SMALL ---*/

@media screen and (min-width: 576px) and (max-width: 767px) {
  .card-header>input {
    display: none;
  }

}

/*------- MEDIUM --------*/

@media screen and (min-width: 768px) and (max-width: 991px) {
  .card-header>input {
    display: none;
  }


}

/*------- Large --------*/

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .content {
    margin-left: 20%;
  }

}

/* Large and +  */

@media screen and (min-width: 992px) {
  .navbar {
    display: none;
  }

}

/*------- XLarge --------*/

@media screen and (min-width: 1200px) and (max-width: 1599px) {
  .content {
    margin-left: 20%;
  }
}

/* Large+++ and +  */

@media screen and (min-width: 1600px) {
  #navSidebar {
    width: 15%;
  }
}