HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/shop.komma.nl/resources/sass/6-Organisms/_organisms.overlayMenu.scss
// Component settings: Overlay menu
// ------------------------------------------

$o-overlay-menu: (
  'color':            white,
  'bgcolor':          palette(neutral, 900),
  'shader-color':     rgba(0, 0, 0, 0.6),
  'move-speed':       400ms,
  'opacity-speed':    400ms,
);

// ------------------------------------------


.o-overlay-menu {
  @include z(z-overlay-menu);
  display: flex;
  flex-direction: column;
  opacity: 0;
  position: fixed;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background-color: map-get($o-overlay-menu, 'bgcolor');

  // When it disappears out of view
  pointer-events: none;
  transform: translateX(-200px);
  transition-property: transform, opacity;
  transition-duration: map-get($o-overlay-menu, 'move-speed'), map-get($o-overlay-menu, 'opacity-speed');
  transition-timing-function: ease-in-out;

  // When it comes into view
  .is-overlay-menu-active & {
    pointer-events: all;
    opacity: 1;
    transform: none;
  }

  .ie & {
    z-index: -1;

    .is-overlay-menu-active &{
      @include z(z-overlay-menu);
    }
  }

  // Shader
  &::before {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    right: -120vw;
    width: 120vw;
    height: 100%;
    background: map-get($o-overlay-menu, 'shader-color');
    pointer-events: none;
    opacity: 0;
    transition-property: opacity;
    transition-duration: map-get($o-overlay-menu, 'opacity-speed');
    transition-delay: map-get($o-overlay-menu, 'move-speed');
    transition-timing-function: linear;

    .is-overlay-menu-active & {
      opacity: 1;
      transition-delay: 0s;
    }
  }

  // Hide overlay menu on larger viewports
  //@include mq(1000) {
  //  display: none;
  //}
}

.o-overlay-menu__bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  @include contain;
  padding-top: space(4);
  padding-bottom: space(4);
}

.o-overlay-menu__img {
  height: space(6);
}

.o-overlay-menu__toggle {
  transform: rotate(-0.5turn);
  transition: transform 600ms ease-out;
  transition-delay: 200ms;

  .is-overlay-menu-active & {
    transform: none;
  }
}

.o-overlay-menu__nav {
  @include contain;
  margin-top: space(3);
}

.o-overlay-menu__list {
  margin-left: 0;
  list-style: none;
}

.o-overlay-menu__link {
  @include font-size(l);
  display: block;
  color: map-get($o-overlay-menu, 'color');
  text-decoration: none;
  opacity: 0.7;
  transition: opacity 200ms linear;

  &:hover {
    opacity: 1;
  }

  &:focus {
    outline-offset: 2px;
    outline-color: map-get($o-overlay-menu, 'color');
  }

  &.is-active {
    opacity: 1;
    position: relative;
    font-weight: 600;
  }
}