: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;
    font-family: var(--main-font-family);
    left: 0;
    margin: 0;
    padding: 6px 0 20px;
    position: absolute;
    top: 0;
    visibility: visible;
    width: 100%;
    z-index: 511;

    .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;
      font-family: var(--main-font-family);
      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;
  position: relative;

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

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

  @include breakpoint($narrow) {
    padding: 15px 28px 15px 15px;
  }

  &:hover {
    cursor: pointer;
  }
}

.menu--main-group__dropdown__top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 23px;
}

.menu--main-group__dropdown__close {
  border: none;
  background-color: transparent;
  padding: 0;
  margin: 0;

  &:hover {
    cursor: pointer;
  }
}

.menu--main-group__logo-container .hy-site-logo__label.group {
  max-width: 250px;
}

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

  .menu-main-link {
    @include font-size(15px, 20px);

    background-color: var(--grayscale-dark-text);
    color: var(--grayscale-white);
    font-family: var(--main-font-family);
    letter-spacing: -0.5px;
    margin-bottom: 8px;
    padding: 14px 20px;
    text-decoration: none;
    width: 100%;

    &:hover {
      text-decoration: underline;
    }
  }
}

.menu--main-group__dropdown__donate {
  display: flex;
  flex-direction: row;
  justify-content: center;
  background-color: var(--grayscale-dark-text);
  position: fixed;
  bottom: 0;
  margin-left: -20px;
  width: 100%;

  .hy-link__donate.group {
    @include font-size(16px, 16px);
    @include font-weight($semibold);

    display: flex;
    color: var(--grayscale-white);
    font-family: var(--main-font-family);
    margin: 20px auto 16px auto;
    text-decoration: none;

    .hy-link__donate__label {
      margin-left: 6px;
    }
  }
}

.menu--main-group__dropdown--mobile {
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  background-color: var(--grayscale-black);
  bottom: 0px;
  display: flex;
  flex-direction: column;
  justify-items: space-between;
  max-width: 400px;
  overflow: hidden;
  padding: 0px;
  place-items: stretch;
  position: fixed;
  right: 0px;
  top: 0px;
  transform: translateX(100%);
  transition: all 0.3s ease 0s;
  visibility: hidden;
  width: 0px;

  &.is-open {
    padding: 50px 20px 20px;
    transform: translateX(0px);
    transition: transform 0.3s cubic-bezier(0, 0, 0.3, 1);
    visibility: visible;
    width: 90%;
    z-index: 101;

    &::after {
      opacity: 1;
      visibility: visible;
    }
  }
}