/* Menu handling */

.menu {
  display: flex;
  flex-direction: column;

  ul,
  li {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  a,
  a:visited {
    @include shape-style($lineheight_half);
    display: flex;
    line-height: $lineheight_rel;
    padding: $lineheight_rel / 4;
    margin: 0;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;

    word-wrap: none;
    text-overflow: ellipsis;
    overflow: hidden;

    @include shape-style($lineheight_half);
    //@include button-hover();
    @include prefer-no-borders();
    .badge {
      margin: 0;
    }
  }

  &.fg-light,
  .fg-light & {
    a {
      color: $color-font-light;
      outline-color: $color-font-light;

      &:hover,
      &:active,
      &.submenu:focus {
        background-color: transparentize($color-font-light, 0.7);
      }
    }

    input {
      outline-color: $color-font-light;
    }
  }

  &.fg-dark,
  .fg-dark & {
    a {
      color: $color-font;
      outline-color: $color-font;

      &:hover,
      &:active,
      &.submenu:focus {
        background-color: transparentize($color-font, 0.85);
      }
    }

    input {
      outline-color: $color-font;
    }
  }
}

.submenu .fa-caret-down {
  position: relative;
  top: 2px;
  font-size:0.8em;
}

.toolbar {
  flex-direction: row;
  padding: $lineheight_rel/4;

  ul {
    display: flex;
    flex-direction: row;

    flex-grow: 1;
  }

  li {
    text-align: center;
    position: relative;

    a,
    span,
    em,
    strong,
    &.toolbar-element {
      display: block;
      padding: $lineheight_rel/3;
      padding-left: $lineheight_rel/2;
      padding-right: $lineheight_rel/2;
    }

    ul {
      visibility: hidden;
      opacity: 0;
      position: absolute;
      transition: all 0.5s ease;
      margin-top: 0rem;
      left: 0;
      display: none;
      padding:0.33rem;
    }

    &:hover ul,
    ul:hover,
    &:focus-within ul {
      visibility: visible;
      opacity: 1;
      display: flex;
      flex-direction: column;
      border-radius: $card-radius;
      box-shadow:0px 1px 1px rgba(0,0,0,0.2);
      width: max-content;
      li {
        text-align:left;
      }
    }
  }
}

.menu-divider,
.menu ul h1,
ul.menu h1,
.menu h2,
ul.menu h2 {
  position: relative;
  left: -$lineheight_rel / 4;
  font-weight: $fontweight_hyper;
  padding-top: $lineheight_rel / 4;
  padding-bottom: $lineheight_rel / 4;
  font-size:1em;
  line-height:$lineheight_rel;
}

.menu-label {
  @include shape-style($button_small);
  @include button-hover();
  padding-left: $button_small;
  padding-right: $button_small;
}