.ifb-toc-wrapper {
  background-color: var(--ifb-toc-bg-color);
  border-top: 8px solid var(--ifb-gris-moyen);
  padding: 18px;
  border-radius: 0 12px 12px 0;
}

.ifb-toc-wrapper ul {
  list-style: none !important;
  padding: 0 !important;
}

.ifb-toc-wrapper ul.ifb-toc {
  margin: 18px 0 0 !important;
}
.ifb-toc-wrapper ul > li > ul {
  margin: 0 0 0 18px !important;
}
.ifb-toc-wrapper li, 
.ifb-toc-wrapper li a {
  font-weight: 300 !important;
  margin-bottom: 0 !important;
  font-size: 17px;
}
.ifb-toc-wrapper li:hover > a,
.ifb-toc-wrapper li > a:hover {
  font-weight: 500 !important;
  color: var(--ifb-text-color) !important;
  opacity: 1 !important;
}
.ifb-toc-wrapper li a.active {
  color: var(--ifb-text-color);
  font-weight: 500 !important;
}

.ifb-toc-title {
  font-weight: 600;
  font-size: 20px;
  cursor: pointer;
}

.ifb-toc-content {
  overflow: hidden;
  max-height: none;
  transition: max-height 0.3s ease-in-out;
}

.col-widgets-sidebar .uncol:not(.is_stucked) .ifb-toc-wrapper {
  position: relative;
  top: 54px;
}
.single-post .uncol:not(.is_stucked) .ifb-toc-wrapper {
  top: unset;
}

.widget .ifb-toc-wrapper li {
  margin-bottom: 8px !important;
  line-height: 1.3em !important;
}
.widget .ifb-toc-wrapper ul>li>ul {
  margin-top: 8px !important;
  margin-bottom: 18px !important;
}

/* TOC fixed only desktop */
@media (min-width: 992px) {
  .ifb-toc-fixed {
    position: absolute;
    top: 0px;
    right: 0px;
    max-height: 80vh;
    max-width: 220px;
    /* overflow-y: auto; */
    z-index: 11000;
  }

  /* position default on load */
  .ifb-toc-fixed.side-right {
    top: 40px;
    right: calc(-220px - 50px);
  }

  /* position fixed on scroll */
  .ifb-toc-fixed.is-fixed {
    position: fixed;
    top: 0px;
  }
  .vc_tta-tabs-container.is-fixed {
    position: fixed;
    min-width: calc(1152px + 72px) !important;
  }

  .ifb-toc-fixed li {
    margin-bottom: 8px !important;
    line-height: 1.3em !important;
  }
  .ifb-toc-fixed ul>li>ul {
    margin-top: 8px !important;
    margin-bottom: 18px !important;
  }
}

/* TOC mobile */
@media (max-width: 991px) {
  .ifb-toc-fixed {
    position: relative;
    max-height: none;
    overflow: visible;
  }
}