body.sidebar-active {
  overflow: hidden;
}

.article-sidebar .article-sidebar__nav {
  display: none;
}

.article-sidebar.active {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  top: 0;
  left: 0;
}

.article-sidebar.active ul.sidebar {
  transform: translateX(0);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 10px 20px rgba(0, 0, 0, 0.15);
}

.article-sidebar.active .article-sidebar__nav {
  display: block;
  position: absolute;
  z-index: 100000;
  right: 3rem;
  top: 1rem;
}

.article-sidebar.active .article-sidebar__nav .article-sidebar__button--close {
  padding: 0;
  border: 0;
  width: 1.25rem;
  overflow: visible;
  background-color: transparent;
}

ul.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  overflow: auto;
  background-color: white;
  width: calc(100vw - 2rem);
  padding: 0 1.5rem 5rem;
  transform: translateX(-100%);
  transition: transform 0.25s ease-in-out;
}

@media (min-width: 768px) {
  ul.sidebar {
    height: auto;
    position: relative;
    box-shadow: none;
    width: auto;
    background: none;
    overflow: visible;
    transform: none;
  }
}

ul.sidebar li {
  list-style: none;
}

ul.sidebar li a {
  color: #68737D;
  transition: none;
}

ul.sidebar li a:hover {
  color: #1ea7fd;
}

ul.sidebar .sidebar-section {
  border-top: 1px solid #E9EBED;
  padding: 15px 0;
}

ul.sidebar .sidebar-section:first-child {
  border: none;
}

ul.sidebar .sidebar-category-title {
  margin-bottom: 14px;
  font-size: 0.9rem;
  font-weight: bold;
  color: #C2C8CC;
  text-transform: uppercase;
}

ul.sidebar .sidebar-item {
  color: #68737D;
  cursor: pointer;
  padding: 10px 16px;
  line-height: 20px;
  font-size: 1rem;
  word-wrap: break-word;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

ul.sidebar .sidebar-item ul {
  display: none;
}

ul.sidebar .sidebar-item .sidebar-item-title {
  display: block;
  position: relative;
}

ul.sidebar .sidebar-item .sidebar-item-title::before {
  position: absolute;
  top: -5px;
  left: -25px;
  content: '';
  transition: opacity 0.15s ease-in-out;
  opacity: 0.8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 0h24v24H0z'/%3E%3Cpath fill='%23000' fill-rule='nonzero' d='M7.115 8.295l4.59 4.58 4.59-4.58 1.41 1.41-6 6-6-6z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0;
  width: 24px;
  height: 24px;
  transform: rotate(-90deg);
}

ul.sidebar .sidebar-item.open > ul {
  display: block;
  margin-top: 5px;
}

ul.sidebar .sidebar-item.open > .sidebar-item-title {
  color: #1ea7fd;
  font-weight: bold;
}

ul.sidebar .sidebar-item.open > .sidebar-item-title::before {
  transform: rotate(0);
}

ul.sidebar .sidebar-item.current a {
  font-weight: bold;
  color: #1ea7fd;
}

.article-top-nav {
  margin-bottom: 1rem;
  display: block;
}

@media (min-width: 768px) {
  .article-top-nav {
    display: none;
  }
}

.article-top-nav .article-top-nav__button {
  padding: 0;
  border: 0;
  width: 1.25rem;
  overflow: visible;
  background-color: transparent;
}

.spinner-wrapper {
  display: none;
  justify-content: center;
  min-height: 70vh;
  align-items: center;
}

.spinner-wrapper.loading {
  display: flex;
}

.spinner-wrapper svg.spinner {
  animation: 1s linear infinite svg-animation;
  max-width: 50px;
}

.spinner-wrapper svg.spinner circle {
  animation: 2.4s ease-in-out infinite both circle-animation;
  display: block;
  fill: transparent;
  stroke: #2f3d4c;
  stroke-linecap: round;
  stroke-dasharray: 283;
  stroke-dashoffset: 280;
  stroke-width: 10px;
  transform-origin: 50% 50%;
}

@keyframes svg-animation {
  0% {
    transform: rotateZ(0deg);
  }
  100% {
    transform: rotateZ(360deg);
  }
}

@keyframes circle-animation {
  0%,
  25% {
    stroke-dashoffset: 280;
    transform: rotate(0);
  }
  50%,
  75% {
    stroke-dashoffset: 75;
    transform: rotate(45deg);
  }
  100% {
    stroke-dashoffset: 280;
    transform: rotate(360deg);
  }
}

ul.sidebar .sidebar-category-title,
ul.sidebar .sidebar-item .sidebar-item-title,
ul.sidebar .sidebar-item,
ul.sidebar li a {
  overflow-wrap: break-word;
  word-wrap: break-word;
}