.block-menu {
  position: absolute;
  transition: width 0.5s;
  top: calc(var(--header-height, 5rem) + var(--drupal-displace-offset-top, 0px));
  right: 0;
  z-index: 1;
  background-color: #fff;
  width: 0;
  overflow: hidden;
  white-space: nowrap;
}

.block-menu.expanded {
  width: var(--doc-width, 100vw);
}

#menu-icon {
  border: 0;
  background-color: transparent;
}

#menu-icon.active .closed,
#menu-icon .opened {
  display: none;
}

#menu-icon .closed,
#menu-icon.active .opened {
  display: block;
}

.menu--main > .menu {
  display: flex;
  gap: 1rem;
  position: relative;
  z-index: 1;
  padding: 2rem;
  flex-direction: column;
}

.menu--main .menu-item--expanded {
  list-style: none;
}

.menu-item--expanded span {
  cursor: pointer;
}

.menu--main .menu-item {
  padding-top: 0;
}

.menu--main ul.menu {
  margin: 0;
}

.menu--main > .menu > li > span + .menu {
  background-color: #fff;
  width: max-content;
  margin-left: 0;
}

.menu--main > .menu li {
  position: relative;
}

.menu--main .menu-item--expanded a {
  padding: 0.875rem 1.25rem;
  display: block;
  color: var(--text-color);
  font-weight: normal;
  text-decoration: none;
}

.menu--main .menu .menu a {
  padding: 0.62rem 1.25rem;
}

.menu--main > .menu > li > span + .menu {
  transition: max-height 0.5s ease-out;
  max-height: 0;
  overflow: hidden;
}

.menu--main > .menu > li > span.active + .menu {
  max-height: 500px;
}

.menu--main ul.menu .menu a:hover {
  background-color: var(--primary-color);
  color: #fff;
}

@media screen and (width > 1023px) {
  #menu-icon {
    display: none;
  }

  .block-menu {
    position: static;
    width: auto;
  }

  .menu--main > .menu {
    padding: 0;
    flex-direction: row;
  }

  .menu--main > .menu > li > span + .menu {
    position: absolute;
    top: 34px;
    left: 0;
    box-shadow: 1px 3px 8px 0px rgba(0, 0, 0, 0.1);
  }

  .menu--main .menu-item--expanded a {
    padding: 0.875rem 1.25rem;
    display: block;
    color: var(--text-color);
    font-weight: normal;
    text-decoration: none;
  }
}
