.sidebar {
  background: var(--elsel-white);
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  padding: 1rem;
}

.sidebar > .menu {
  transition: background 0.3s;
}

.sidebar > .menu,
.sidebar > .menu-link {
  background: var(--elsel-white);
}

.sidebar > .menu-link:not(:last-child),
.sidebar > .menu:not(:last-child) {
  border-bottom: 1px dotted #d7d7d7;
}

.sidebar > .menu-link {
  padding: 1.5rem 1rem;
}

.sidebar > .menu-link > a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--elsel-black);
  font-size: var(--font-16);
  font-weight: 700;
}

.sidebar > .menu-link > a.active {
  color: var(--elsel-blue);
}

.sidebar > .menu-link > a.active::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  min-width: 10px;
  min-height: 10px;
  border-radius: 100%;
  background: var(--elsel-blue);
}

.sidebar > .menu.active {
  background: var(--elsel-blue);
  border-bottom: none;
}

.sidebar > .menu > .menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  gap: 1rem;
  padding: 1.5rem 1rem;
}

.sidebar > .menu > .menu-head > p {
  font-size: var(--font-16);
  font-weight: 700;
  color: var(--elsel-black);
  transition: 0.3s;
}

.sidebar > .menu.active > .menu-head > p {
  color: var(--elsel-white);
}

.sidebar > .menu > .menu-head > .icon > svg {
  transition: all 0.3s;
  overflow: visible;
  rotate: 180deg;
  width: 12px;
  height: 8px;
}

.sidebar > .menu > .menu-body {
  display: none;
}

.sidebar > .menu.active > .menu-body {
  display: block;
}

.sidebar > .menu.active > .menu-head > .icon > svg {
  rotate: 360deg;
}

.sidebar > .menu.active > .menu-head > .icon > svg > path {
  fill: var(--elsel-white);
}

.sidebar > .menu.active > .menu-body {
  animation: height 0.5s;
  animation-duration: 0.5s;
  animation-timing-function: ease;
  -webkit-animation: height;
  -webkit-animation-duration: 0.5s;
  -webkit-animation-timing-function: ease;
  -moz-animation: height;
  -moz-animation-duration: 0.5s;
  -moz-animation-timing-function: ease;
}

.sidebar > .menu > .menu-body > .menu-list {
  display: flex;
  flex-direction: column;
  align-items: start;
  margin: 0;
  padding: 0 1rem 1rem 1rem;
}

.sidebar > .menu > .menu-body > .menu-list > li::marker {
  color: var(--elsel-blue);
}

.sidebar > .menu > .menu-body > .menu-list > li {
  width: 100%;
}

.sidebar > .menu > .menu-body > .menu-list > li > a {
  display: block;
  width: 100%;
  padding: 1rem;
  background: var(--elsel-blue-6);
  color: var(--elsel-black);
  font-size: var(--font-16);
  font-weight: 400;
  transition: all 0.3s;
}

.sidebar > .menu > .menu-body > .menu-list > li:not(:last-child) > a {
  border-bottom: 1px solid var(--elsel-white);
}

.sidebar > .menu > .menu-body > .menu-list > li > a:hover {
  color: var(--elsel-blue);
}

.sidebar > .menu > .menu-body > .menu-list > li > a.active {
  color: var(--elsel-blue);
  font-weight: 700;
}

.sidebar .submenu {
  width: 100%;
}

.sidebar .submenu > .sub-body {
  display: none;
}

.sidebar .submenu.active > .sub-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  animation: height 0.5s;
  animation-duration: 0.5s;
  animation-timing-function: ease;
  -webkit-animation: height;
  -webkit-animation-duration: 0.5s;
  -webkit-animation-timing-function: ease;
  -moz-animation: height;
  -moz-animation-duration: 0.5s;
  -moz-animation-timing-function: ease;
}

.sidebar .submenu > .sub-head {
  padding: 1rem;
  background: var(--elsel-blue-6);
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  width: 100%;
}

.sidebar .submenu > .sub-head > p {
  color: var(--elsel-black);
  font-size: var(--font-16);
  font-weight: 700;
  transition: all 0.3s;
}

.sidebar .submenu > .sub-body {
  transition: all 0.4s;
}

.sidebar .submenu > .sub-body > .submenu-list {
  display: flex;
  flex-direction: column;
  align-items: start;
  margin: 0;
}

.sidebar .submenu > .sub-body > .submenu-list > li::marker {
  color: var(--elsel-blue);
}

.sidebar .submenu > .sub-body > .submenu-list > li {
  width: 100%;
}

.sidebar .submenu > .sub-body > .submenu-list > li > a {
  display: block;
  width: 100%;
  padding: 1rem;
  background: var(--elsel-blue-5);
  color: var(--elsel-black);
  font-size: var(--font-16);
  font-weight: 400;
  transition: all 0.1s;
  text-decoration: none;
}

.sidebar .submenu > .sub-body > .submenu-list > li > a.active {
  color: var(--elsel-blue);
  font-weight: 700;
}

.sidebar .submenu > .sub-head > .icon > svg {
  transition: all 0.3s;
  overflow: visible;
  rotate: 180deg;
  width: 12px;
  height: 8px;
}

.sidebar .submenu.active > .sub-head > .icon > svg {
  rotate: 360deg;
}

@keyframes height {
  from {
    transform: translate3d(10%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes down {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(10%);
  }
}
