@mixin buttonMenu() {
  .geoscene-button-menu {
    width: $button-width;
    height: $button-height;
  }

  .geoscene-button-menu__content {
    min-width: 200px;
    max-height: 250px;
    overflow: auto;

    .geoscene-button-menu__item-wrapper,
    .geoscene-button-menu__embedded-content-wrapper {
      margin: 0;
      padding: 0;
      list-style: none;
    }
  }

  .geoscene-button-menu__item {
    display: block;
    padding: 0;

    .geoscene-button-menu__item-label {
      display: flex;
      position: relative;
      align-items: center;
      justify-content: flex-start;
      margin: 0;
      cursor: pointer;
      padding: $cap-spacing $side-spacing;
      text-decoration: none;
      color: $font-color;
      font-size: $font-size;
      font-weight: $font-weight;

      &:hover {
        background-color: $background-color--hover;
        color: $interactive-font-color--hover;
      }

      .geoscene-button-menu__item-label-content {
        padding: 0 $side-spacing--half;
        width: auto;
      }
    }

    .geoscene-button-menu__icon {
      color: $button-color;
    }

    .geoscene-button-menu__checkbox {
      position: absolute;
      opacity: 0;

      &:checked {
        ~ .geoscene-button-menu__embedded-content-wrapper {
          display: block;
        }
      }
    }

    .geoscene-button-menu__embedded-content-wrapper {
      display: none;

      .geoscene-button-menu__checkbox {
        &:checked {
          ~ .geoscene-button-menu__item-label {
            .geoscene-button-menu__icon {
              display: block;
            }
          }
        }
      }
    }
  }

  .geoscene-button-menu__item--selectable {
    .geoscene-button-menu__icon {
      display: none;
    }
  }
}

@if $include_ButtonMenu == true {
  @include buttonMenu();
}