.sidenav__list {
  display: block;
  list-style: none;
}

[dir] .sidenav__list {
  margin: 0;
  padding: 0;
}

.sidenav__list .sidenav__list {
  padding-bottom: 20px;
}

[dir=ltr] .sidenav__list--sections {
  padding-left: 20px;
}

[dir=rtl] .sidenav__list--sections {
  padding-right: 20px;
}

.sidenav__item {
  display: block;
}

[dir] .sidenav__item {
  margin: 0;
  padding: 0;
}

.sidenav__item a {
  display: block;
  position: relative;
}

[dir] .sidenav__item a {
  padding-top: 8px;
  padding-bottom: 8px;
}

[dir=ltr] .sidenav__item a {
  padding-right: 40px;
}

[dir=rtl] .sidenav__item a {
  padding-left: 40px;
}

.sidenav__item__category {
  color: var(--sidebar-text-color);
  font-size: var(--text-font-size-large);
  font-weight: 700;
}

.sidenav__item__category:hover {
  color: var(--sidebar-text-color);
  opacity: .5;
}

.sidenav__item__section {
  color: var(--sidebar-text-color);
}

[dir=ltr] .sidenav__item__section {
  margin-left: -16px;
  padding-left: 16px;
}

[dir=rtl] .sidenav__item__section {
  margin-right: -16px;
  padding-right: 16px;
}

.sidenav__item__section:hover {
  color: var(--sidebar-text-color);
  opacity: .5;
}

.sidenav__item__article {
  font-size: var(--heading-6-font-size);
  color: var(--sidebar-text-color);
}

[dir] .sidenav__item__article {
  padding: 8px 8px 8px 16px;
  opacity: .75;
}

.sidenav__item__article:hover {
  color: var(--sidebar-text-color);
  opacity: .5;
}

.sidenav__item__article.is-active::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - 8px);
  height: 100%;
  border-radius: var(--border-radius-base);
  background-color: var(--primary-color);
  z-index: -1;
}

.sidenav__item__category svg,
.sidenav__item__section svg {
  color: var(--sidebar-text-color);
  display: block;
  position: absolute;
  top: 50%;
  transition: all 400ms cubic-bezier(0.17, 0.67, 0.54, 1);
}

[dir=ltr] .sidenav__item__category svg,
[dir=ltr] .sidenav__item__section svg {
  right: 20px;
  transform: translate(50%, -50%) rotate(90deg);
}

[dir=rtl] .sidenav__item__category svg,
[dir=rtl] .sidenav__item__section svg {
  left: 20px;
  transform: translate(-50%, -50%) rotate(90deg);
}

[dir=ltr] .sidenav__item__category.is-active svg,
[dir=ltr] .sidenav__item__section.is-active svg {
  transform: translate(50%, -50%) rotate(-90deg);
  color: var(--sidebar-text-color);
}

[dir=rtl] .sidenav__item__category.is-active svg,
[dir=rtl] .sidenav__item__section.is-active svg {
  transform: translate(-50%, -50%) rotate(-90deg);
  color: var(--sidebar-text-color);
}

[dir=ltr] .sidenav__loading > .sidenav__item__category svg,
[dir=ltr] .sidenav__loading > .sidenav__item__section svg {
  -webkit-animation: loading-ltr 1s linear infinite;
  animation: loading-ltr 1s linear infinite;
}

[dir=rtl] .sidenav__loading > .sidenav__item__category svg,
[dir=rtl] .sidenav__loading > .sidenav__item__section svg {
  -webkit-animation: loading-rtl 1s linear infinite;
  animation: loading-rtl 1s linear infinite;
}

[dir] .sidenav__more {
  text-align: center;
}

[dir=ltr] .sidenav__more {
  padding-right: 40px;
}

[dir=rtl] .sidenav__more {
  padding-left: 40px;
}

[dir=ltr] .sidenav__more--loading i {
  -webkit-animation: loading-more-ltr 1s linear infinite;
  animation: loading-more-ltr 1s linear infinite;
}

[dir=rtl] .sidenav__more--loading i {
  -webkit-animation: loading-more-rtl 1s linear infinite;
  animation: loading-more-rtl 1s linear infinite;
}

@-webkit-keyframes loading-ltr {
  from {
    transform: translate(50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(50%, -50%) rotate(360deg);
  }
}

@-webkit-keyframes loading-rtl {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}

@keyframes loading-ltr {
  from {
    transform: translate(50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(50%, -50%) rotate(360deg);
  }
}

@keyframes loading-rtl {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}

@-webkit-keyframes loading-more-ltr {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes loading-more-rtl {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(-360deg);
  }
}

@keyframes loading-more-ltr {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes loading-more-rtl {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(-360deg);
  }
}
