.menu-trigger {
  cursor:pointer;
}

/* toggle menu icon */
.menu-trigger #menu-icon,
.menu-trigger #menu-icon::before,
.menu-trigger #menu-icon::after {
  height: 3px;
  position: absolute;
  border-radius: 1px;
  transition: 0.15s ease all; /* should match time in js file */
  /* box-shadow: 0 0 1px 0.5px rgb(101 121 137 / 15%); */
}
.menu-trigger #menu-icon {
  background-color: #fff !important;
}
.menu-trigger #menu-icon::before,
.menu-trigger #menu-icon::after {
  content: "";
  left: 0;
}
.menu-trigger #menu-icon::before {
  margin-top: -33%;
  width: 100%;
  background-color: #fff;
}
.menu-trigger #menu-icon::after {
  margin-top: 33%;
  width: 78%;
  background-color: #fff;
}
.menu-trigger.menu-trigger-open #menu-icon::before,
.menu-trigger.menu-trigger-open #menu-icon::after {
  margin-top: 0px;
  background-color: #fff;
}
.menu-trigger.menu-trigger-open #menu-icon {
  box-shadow: none;
  height: 0px;
  background-color: transparent;
}
.menu-trigger.close-icon #menu-icon::before {
  transform: rotate(45deg);
  width: 100%;
}
.menu-trigger.close-icon #menu-icon::after {
  transform: rotate(-45deg);
  width: 100%;
}

/* menu open */
#menu-wrap.menu-open {
  transform: translateX(-100%) !important;
  opacity: 1;
}
#menu-wrap.menu-open #toggle-menu-inner {
  box-shadow: -6px 0px 12px rgba(0, 0, 0, 0.1);
}

/* menu backdrop (added by JS) */
.menu-backdrop {
  pointer-events: none;
  display: flex;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 19;
  background-color: rgb(0 0 0 / 0%);
  transition: 0.2s ease background-color;
}
.menu-backdrop.live {
  pointer-events: all;
  background-color: rgb(0 0 0 / 15%);
}
.no-scroll {
  overflow: hidden;
}

/* additional styling that will need design specific changes and
 * is easier to edit when included in oxygen additional stylesheets
 * (assumes specific html structure)

***** menu mobile transition *****
*** desktop style menu ***
@media(min-width: 991px) {
  #menu-inner,
  #menu-wrap {
    transition: none;
  }
  #menu-wrap.menu-open {
    transform: none !important;
  }
  #menu-wrap .sub-menu {
    padding: 12px 0;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 1px 2px rgb(0 0 0 / 15%);
  }
}
*** mobile style menu ***
@media(max-width: 991px) {
  #toggle-menu-trigger {
    display: flex;
  }
  #menu-wrap {
    background-color: color(3);
    width: 300px;
    max-width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 100%;
  }
  #menu-inner {
    padding: 30px 20px;
    margin-top: 90px;
    width: 100%;
    height: 100%;
    flex-direction: column;
  }
  #header.stuck #menu-inner {
    margin-top: 78px;
  }
  #header-menu {
    width: 100%;
  }
  #header-menu .oxy-nav-menu-list {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  #header-menu .menu-item a {
    padding: 10px 20px;
    margin: 2px -20px;
    width: calc(100% + 40px);
  }
}
*/

/* basic styling refernce (typically set these up in oxygen)
*** id set on primary toggle menu trigger in header ***
#toggle-menu-trigger {
  width: 40px;
  height: 40px;
  display: none; (assuming desktop style first, set to flex at transition breakpoint)
  align-items: center;
  justify-content: center;
  z-index: 1;
  position: relative;
  cursor: pointer;
}
*** id set on toggle menu icon (typically use oxygen text element with text 'menu') ***
#menu-icon {
  width: 26px;
  font-size: 0px;
  color: transparent;
}
*** id set on inner menu wrapper element
#menu-inner {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
}