/*
---------------------------------------------------------
VARIABLES
--------------------------------------------------------- */
.lp-app-submenu {
  /* General */
  --lp-submenu__border: 1px solid var(--env-border-color);
  /* Back link */
  --lp-submenu__back-link-background-color: var(--env-ui-color-brand-80);
  --lp-submenu__back-link-font-color: var(--env-ui-color-brand-80-contrast);
  --lp-submenu__back-link-font-size: var(--env-font-size-small);
  --lp-submenu__back-link-font-weight: 400;
  --lp-submenu__back-link-padding: var(--env-spacing-medium);
  /* Link */
  --lp-submenu__link-font-size: var(--env-font-size-small);
  --lp-submenu__link-font-weight: 400;
  --lp-submenu__link-padding: var(--env-spacing-medium);
  --lp-submenu__link-background-color: var(--env-background-color);
  --lp-submenu__link-font-color: var(--env-font-color);
  --lp-submenu__link-indent: var(--env-spacing-medium);
  /* Toggler */
  --lp-submenu__toggler-background-color: var(--env-background-color);
  --lp-submenu__toggler-font-color: var(--env-font-color);
  --lp-submenu__toggler-background-color--hover: var(--env-ui-color-brand);
  --lp-submenu__toggler-font-color--hover: var(--env-ui-color-brand-contrast);
  --lp-submenu__toggler-font-size: var(--env-font-size-medium);
  --lp-submenu__toggler-icon-scale: 0.3;
  /* States */
  --lp-submenu__link-font-weight--is-current: 700;
  /* Level 1 */
  --lp-submenu__link-font-size--level-1: var(--env-font-size-medium);
  --lp-submenu__link-font-weight--level-1: 600;
  --lp-submenu__link-background-color--level-1: var(--env-ui-color-brand);
  --lp-submenu__link-font-color--level-1: var(--env-ui-color-brand-contrast);
  --lp-submenu__toggler-background-color--level-1: var(--env-ui-color-brand);
  --lp-submenu__toggler-font-color--level-1: var(--env-ui-color-brand-contrast);
  --lp-submenu__toggler-background-color--hover-level-1: var(--env-ui-color-brand-80);
  --lp-submenu__toggler-font-color--hover-level-1: var(--env-ui-color-brand-80-contrast);
  --lp-submenu__link-indent--level-1: calc(1 * var(--lp-submenu__link-indent));
  /* Level 2 */
  --lp-submenu__link-indent--level-2: calc(1 * var(--lp-submenu__link-indent));
  --lp-submenu__link-background-color--level-2: var(--env-background-color);
  --lp-submenu__link-font-color--level-2: var(--env-font-color);
  --lp-submenu__toggler-background-color--level-2: var(--env-background-color);
  --lp-submenu__toggler-font-color--level-2: var(--env-font-color);
  /* Level 3 */
  --lp-submenu__link-indent--level-3: calc(1.5 * var(--lp-submenu__link-indent));
  --lp-submenu__link-background-color--level-3: var(--env-ui-color-brand-25);
  --lp-submenu__link-font-color--level-3: var(--env-ui-color-brand-25-contrast);
  --lp-submenu__toggler-background-color--level-3: var(--env-ui-color-brand-25);
  --lp-submenu__toggler-font-color--level-3: var(--env-ui-color-brand-25-contrast);
  /* Level 4 */
  --lp-submenu__link-indent--level-4: calc(2 * var(--lp-submenu__link-indent));
  --lp-submenu__link-background-color--level-4: var(--env-ui-color-brand-20);
  --lp-submenu__link-font-color--level-4: var(--env-ui-color-brand-20-contrast);
  --lp-submenu__toggler-background-color--level-4: var(--env-ui-color-brand-20);
  --lp-submenu__toggler-font-color--level-4: var(--env-ui-color-brand-20-contrast);
  /* Level 5 */
  --lp-submenu__link-indent--level-5: calc(2.5 * var(--lp-submenu__link-indent));
  --lp-submenu__link-background-color--level-5: var(--env-ui-color-brand-15);
  --lp-submenu__link-font-color--level-5: var(--env-ui-color-brand-15-contrast);
  --lp-submenu__toggler-background-color--level-5: var(--env-ui-color-brand-15);
  --lp-submenu__toggler-font-color--level-5: var(--env-ui-color-brand-15-contrast);
  /* Level 6 */
  --lp-submenu__link-indent--level-6: calc(3 * var(--lp-submenu__link-indent));
  --lp-submenu__link-background-color--level-6: var(--env-ui-color-brand-10);
  --lp-submenu__link-font-color--level-6: var(--env-ui-color-brand-10-contrast);
  --lp-submenu__toggler-background-color--level-6: var(--env-ui-color-brand-10);
  --lp-submenu__toggler-font-color--level-6: var(--env-ui-color-brand-10-contrast);
}
/*
---------------------------------------------------------
GENERAL
--------------------------------------------------------- */
.lp-app-submenu *,
.lp-app-submenu :after,
.lp-app-submenu :before {
  transition-property: none;
}
/*
---------------------------------------------------------
MENU
--------------------------------------------------------- */
.lp-app-submenu__menu {
  box-sizing: border-box;
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.lp-app-submenu__menu-item {
  display: flex;
  flex-wrap: wrap;
  width: inherit;
}
/* Hides all links on first level except for the active path. */
.lp-app-submenu__menu-item--level-1:not(.lp-app-submenu__menu-item--is-active) {
  display: none;
}
.lp-app-submenu__menu-item__link {
  align-items: center;
  background-color: var(--lp-submenu__link-background-color);
  border-bottom: var(--lp-submenu__border);
  box-sizing: border-box;
  display: flex;
  flex: 1 1 1px;
  font-size: var(--lp-submenu__link-font-size);
  font-weight: var(--lp-submenu__link-font-weight);
  line-height: 1.5;
  padding: var(--lp-submenu__link-padding);
  text-decoration: none;
}
.lp-app-submenu__menu-item__link--level-1 {
  background-color: var(--lp-submenu__link-background-color--level-1);
  font-size: var(--lp-submenu__link-font-size--level-1);
  font-weight: var(--lp-submenu__link-font-weight--level-1);
  color: var(--lp-submenu__link-font-color--level-1);
  padding-left: var(--lp-submenu__link-indent--level-1);
}
.lp-app-submenu__menu-item__link--level-2 {
  padding-left: var(--lp-submenu__link-indent--level-2);
  background-color: var(--lp-submenu__link-background-color--level-2);
  color: var(--lp-submenu__link-font-color--level-2);
}
.lp-app-submenu__menu-item__link--level-3 {
  padding-left: var(--lp-submenu__link-indent--level-3);
  background-color: var(--lp-submenu__link-background-color--level-3);
  color: var(--lp-submenu__link-font-color--level-3);
}
.lp-app-submenu__menu-item__link--level-4 {
  padding-left: var(--lp-submenu__link-indent--level-4);
  background-color: var(--lp-submenu__link-background-color--level-4);
  color: var(--lp-submenu__link-font-color--level-4);
}
.lp-app-submenu__menu-item__link--level-5 {
  padding-left: var(--lp-submenu__link-indent--level-5);
  background-color: var(--lp-submenu__link-background-color--level-5);
  color: var(--lp-submenu__link-font-color--level-5);
}
.lp-app-submenu__menu-item__link--level-6 {
  padding-left: var(--lp-submenu__link-indent--level-6);
  background-color: var(--lp-submenu__link-background-color--level-6);
  color: var(--lp-submenu__link-font-color--level-6);
}
.lp-app-submenu__menu-item__link--is-current {
  font-weight: var(--lp-submenu__link-font-weight--is-current);
}
.lp-app-submenu__menu-item__link:hover {
  text-decoration: underline;
}
.lp-app-submenu--use-submenu-toggles .lp-app-submenu__menu-item--has-children > .lp-app-submenu__menu-item__link {
  padding-right: var(--env-spacing-x-small);
}
/*
---------------------------------------------------------
BACK LINK
--------------------------------------------------------- */
.lp-app-submenu__back-link {
  background-color: var(--lp-submenu__back-link-background-color);
  color: var(--lp-submenu__back-link-font-color);
  display: block;
  padding: var(--lp-submenu__back-link-padding);
  font-size: var(--lp-submenu__back-link-font-size);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0 0.5em;
}
.lp-app-submenu__back-link:hover {
  text-decoration: underline;
}
.lp-app-submenu__icon {
  flex-shrink: 0;
}
.lp-app-submenu__back-text span {
  font-weight: var(--lp-submenu__back-link-font-weight);
}
/*
---------------------------------------------------------
ICONS
--------------------------------------------------------- */
.lp-app-submenu__icon {
  fill: currentColor;
  height: 1em;
  overflow: hidden;
  vertical-align: -0.05em;
  width: 1em;
  margin: 0;
}
.lp-app-submenu__toggler-icon {
  font-size: var(--lp-submenu__toggler-font-size);
  left: 50%;
  position: absolute;
  top: 50%;
  transition: all 0.3s ease;
  transform: translate(-50%, -50%);
}
.lp-app-submenu__icon--children-icon {
  margin-left: 10px;
}
.lp-app-submenu__menu-item--has-children > .lp-app-submenu__menu-item__link .lp-app-submenu__icon--closed,
.lp-app-submenu__menu-item--has-children.lp-app-submenu__menu-item--is-active > .lp-app-submenu__menu-item__link .lp-app-submenu__icon--open {
  display: inline-block;
}
.lp-app-submenu__menu-item--has-children > .lp-app-submenu__menu-item__link .lp-app-submenu__icon--open,
.lp-app-submenu__menu-item--has-children.lp-app-submenu__menu-item--is-active > .lp-app-submenu__menu-item__link .lp-app-submenu__icon--closed {
  display: none;
}
.lp-app-submenu--use-submenu-toggles .lp-app-submenu__icon--children-icon {
  display: none !important;
}
/*
---------------------------------------------------------
TOGGLER BUTTON
--------------------------------------------------------- */
.lp-app-submenu__menu-item__toggler {
  background-color: var(--lp-submenu__toggler-background-color);
  border: var(--lp-submenu__border);
  border-right-width: 0;
  border-top-width: 0;
  box-sizing: border-box;
  color: var(--lp-submenu__toggler-font-color);
  margin: 0;
  /* nollar för safari */
  min-width: 48px;
  padding: 0;
  position: relative;
}
.lp-app-submenu__menu-item__toggler--level-1 {
  background-color: var(--lp-submenu__toggler-background-color--level-1);
  color: var(--lp-submenu__toggler-font-color--level-1);
}
.lp-app-submenu__menu-item__toggler--level-2 {
  background-color: var(--lp-submenu__toggler-background-color--level-2);
  color: var(--lp-submenu__toggler-font-color--level-2);
}
.lp-app-submenu__menu-item__toggler--level-3 {
  background-color: var(--lp-submenu__toggler-background-color--level-3);
  color: var(--lp-submenu__toggler-font-color--level-3);
}
.lp-app-submenu__menu-item__toggler--level-4 {
  background-color: var(--lp-submenu__toggler-background-color--level-4);
  color: var(--lp-submenu__toggler-font-color--level-4);
}
.lp-app-submenu__menu-item__toggler--level-5 {
  background-color: var(--lp-submenu__toggler-background-color--level-5);
  color: var(--lp-submenu__toggler-font-color--level-5);
}
.lp-app-submenu__menu-item__toggler--level-6 {
  background-color: var(--lp-submenu__toggler-background-color--level-6);
  color: var(--lp-submenu__toggler-font-color--level-6);
}
.lp-app-submenu__menu-item__toggler:hover {
  background-color: var(--lp-submenu__toggler-background-color--hover);
  color: var(--lp-submenu__toggler-font-color--hover);
}
.lp-app-submenu__menu-item__toggler--level-1:hover {
  background-color: var(--lp-submenu__toggler-background-color--hover-level-1);
  color: var(--lp-submenu__toggler-font-color--hover-level-1);
}
.lp-app-submenu__menu-item__toggler--is-loading .lp-app-submenu__toggler-icon {
  display: none;
}
.lp-app-submenu__menu-item__toggler[aria-expanded='false'] .lp-app-submenu__toggler-icon--open {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg);
}
.lp-app-submenu__menu-item__toggler[aria-expanded='true'] .lp-app-submenu__toggler-icon--open {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(180deg);
}
.lp-app-submenu__menu-item__toggler[aria-expanded='false'] .lp-app-submenu__toggler-icon--close {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}
.lp-app-submenu__menu-item__toggler[aria-expanded='true'] .lp-app-submenu__toggler-icon--close {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(180deg);
}
/* Default icons */
.lp-app-submenu--default-toggler-icons .lp-app-submenu__menu-item__toggler {
  transform: translate3d(0, 0, 0);
}
.lp-app-submenu--default-toggler-icons .lp-app-submenu__menu-item__toggler:after,
.lp-app-submenu--default-toggler-icons .lp-app-submenu__menu-item__toggler:before {
  background-color: currentColor;
  content: '';
  display: block;
  font-size: var(--lp-submenu__toggler-font-size);
  height: 4em;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, 50%) scale(var(--lp-submenu__toggler-icon-scale)) rotate(0);
  transform-origin: center center;
  transition: transform 0.33s ease, height 0.33s ease;
  width: 6px;
}
.lp-app-submenu--default-toggler-icons .lp-app-submenu__menu-item__toggler:before {
  transform: translate(-50%, 50%) rotate(90deg) scale(var(--lp-submenu__toggler-icon-scale));
}
.lp-app-submenu--default-toggler-icons .lp-app-submenu__menu-item__toggler[aria-expanded='true']:after {
  transform: translate(-50%, 50%) rotate(-270deg) scale(var(--lp-submenu__toggler-icon-scale));
}
.lp-app-submenu--default-toggler-icons .lp-app-submenu__menu-item__toggler[aria-expanded='true']:before {
  transform: translate(-50%, 50%) rotate(270deg) scale(var(--lp-submenu__toggler-icon-scale));
}
/* Hides submenu toggles on first level if option has been chosen in configuration. */
.lp-app-submenu--hide-submenu-toggles-on-first-level .lp-app-submenu__menu-item__toggler--level-1 {
  display: none;
}
/*
---------------------------------------------------------
ACCESSIBILITY
--------------------------------------------------------- */
.lp-app-submenu__visually-hidden:not(:focus):not(:active) {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  white-space: nowrap;
  width: 1px;
}
@media (prefers-reduced-motion: reduce) {
  .lp-app-submenu *,
  .lp-app-submenu :after,
  .lp-app-submenu :before {
    transition-duration: 1ms;
  }
}
/*
---------------------------------------------------------
SPINNER
--------------------------------------------------------- */
.lp-app-submenu__spinner {
  height: 16px;
  width: 16px;
}
.lp-app-submenu__spinner rect {
  animation: lp-stretchdelay 1s infinite ease-in-out;
  transform-origin: center;
}
.lp-app-submenu__spinner rect:nth-child(1) {
  animation-delay: -0.2s;
}
.lp-app-submenu__spinner rect:nth-child(2) {
  animation-delay: -0.1s;
}
@keyframes lp-stretchdelay {
  0%,
  40%,
  100% {
    transform: scaleY(0.57);
  }
  20% {
    transform: scaleY(1);
  }
}
/*
---------------------------------------------------------
INTEGRATIONS
--------------------------------------------------------- */
/* Styling for the submenu when it has been placed within an overlay. */
.lp-overlay__container .lp-app-submenu {
  border-top: var(--lp-submenu__border);
}
.lp-overlay__container .lp-app-submenu__menu-item--level-1 {
  display: flex;
}

