.navigation {
  width: var(--side-nav-width);
  font-size: var(--font-body);
  margin-left: var(--spacing-main-padding);

  @media (max-width: $breakpoint-small) {
    display: none;
    margin-left: 0;
  }
}

.navigation + .ads-wrapper {
  margin-top: var(--spacing-large);
}

.navigation__secondary {
  margin-top: var(--spacing-large);
}

.navigation-links {
  @extend .ul--no-style;
  flex-direction: column;
  align-items: flex-start;
  list-style: none;
}

.navigation-links--small {
  @extend .navigation-links;
  font-size: var(--font-small);
}

.navigation-links__inline {
  margin-left: calc(var(--spacing-medium) + var(--spacing-small));
}

.navigation-link__wrapper {
  margin: var(--spacing-miniscule) 0;
}

.navigation-link {
  display: block;
  position: relative;
  text-align: left;
  transition: color 0.2s;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--color-navigation-link);
  margin-top: var(--spacing-small);

  .icon {
    stroke: var(--color-link-icon);
  }

  &:hover,
  &.navigation-link--active {
    color: var(--color-link-active);
    .icon {
      stroke: var(--color-link-active);
    }
  }

  &:focus {
    box-shadow: none;
  }
}

.navigation-link--pulse {
  border-radius: var(--border-radius);
  overflow: visible;

  .icon {
    border-radius: 50%;
    animation: shadow-pulse 2.5s infinite;
  }
}

@keyframes shadow-pulse {
  0% {
    background-color: rgba(37, 119, 97, 0.2);
    box-shadow: 0 0 0 0px rgba(37, 119, 97, 0.2);
  }
  100% {
    background-color: rgba(37, 119, 97, 0);
    box-shadow: 0 0 0 35px rgba(37, 119, 97, 0);
  }
}
