:host {
  display: block;
}

:host(.menu--main-group) {
  align-items: center;
  display: flex;
  flex-flow: row;
  margin-left: 28px;
  @include breakpoint($narrow) {
    margin-left: 32px;
  }
  @include breakpoint($wide) {
    margin-left: 40px;
  }
}

.menu--main-group__toggle {
  @include font-size(14px, 16px);
  @include font-weight($semibold);
  align-items: center;
  background: var(--grayscale-black);
  border: 0 none;
  color: var(--grayscale-white);
  display: flex;
  flex-flow: row;
  font-family: var(--main-font-family);
  letter-spacing: -0.44px;
  margin: 0 -4px;
  padding: 0;
  position: relative;

  &:focus {
    outline: none;
  }
  &:hover {
    cursor: pointer;
    span {
      color: var(--grayscale-medium);
    }
    svg {
      fill: var(--grayscale-medium);
    }
  }

  .toggle__caret {
    svg {
      @include breakpoint($wide) {
        height: 15.27px;
        width: 3px;
      }
      @include breakpoint($extrawide) {
        height: 14px;
        width: 3px;
      }
    }
  }

  span {
    @include breakpoint($wide) {
      margin-left: 17px;
    }
  }

  &.is-open {
    &:after {
      border-bottom: 3px solid white;
      bottom: -10px;
      content: ' ';
      position: absolute;
      width: 100%;
    }

    .toggle__close {
      @include breakpoint($wide) {
        height: 12px;
        width: 12px;
      }
    }

    span {
      @include breakpoint($wide) {
        margin-left: 10px;
      }
    }
  }
}

.menu--main-group__dropdown {
  display: none;
  visibility: hidden;

  &.is-open {
    background-color: var(--grayscale-black);
    border-radius: 0 0 5px 5px;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    color: var(--grayscale-white);
    display: flex;
    left: 0;
    margin: 0;
    padding: 6px 0 20px;
    position: absolute;
    top: 0;
    visibility: visible;
    width: 100%;
    z-index: 100;

    .list {
      display: flex;
      flex-flow: column;
      justify-items: center;
      position: relative;
    }

    .panel-toggle {
      background-color: transparent;
      border: none;
      position: absolute;
      right: 0;
      top: 0;

      @include breakpoint($wide) {
        padding: 26px 32px;
      }

      &__label {
        @include font-size(16px, 20px);
        @include font-weight($bold);
        color: var(--grayscale-white);
        display: flex;
        font-family: var(--main-font-family);
        letter-spacing: -0.5px;
        text-transform: uppercase;

        &__title {
          padding-right: 12px;
        }

        &:hover {
          cursor: pointer;
          span {
            color: var(--grayscale-medium);
          }
          svg {
            fill: var(--grayscale-medium);
          }
        }
      }
    }

    .menu-main-link {
      @include font-size(16px, 20px);
      align-items: center;
      display: flex;
      flex-direction: row;
      margin-bottom: 20px;
      text-decoration: none;

      &:hover {
        span {
          color: var(--grayscale-medium);
        }
        svg {
          fill: var(--grayscale-medium);
        }
      }
    }
    .menu--main-group__label {
      color: var(--grayscale-white);
      margin-left: 12px;
    }
  }
}

:host(.menu--main-group--mobile) {
  align-items: center;
  display: flex;
  flex-flow: row;
  margin-left: 28px;

  @include breakpoint($narrow) {
    margin-left: 32px;
  }
  @include breakpoint($wide) {
    margin-left: 40px;
  }
}

.menu--main-group__mobile-toggle {
  border: none;
  background: transparent;
  padding: 15px 28px 15px 15px;
}