

.c-hamburger {
  position: relative;
  float: right;
  padding: 16px 13px;
  height: 50px;
  width: 50px;
  text-align: center;
  border-left: 1px solid #CCC;
  transition: all .4s ease;
  transform: translate3d(0, 0, 0);

  // We remove the `outline` here, but later compensate by attaching `:hover`
  // styles to `:focus`.
  &:focus {
    outline: 0;
  }
  
  &:focus,
  &:active {
    background-color: rgba(palette(gray, lighter), 0.4);
  }
  
  @include breakpoint(768px){
    display: none;
  }
}
  
  .c-hamburger__icons {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transition: all .4s ease;
    
    .c-page-header:target &,
    .is-active & {
      transform: rotate(360deg) scale(1.1);
      transition: all .4s ease;
    }
  }

  // Bars
  .c-hamburger__icon {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 2px;
    border-radius: 1px;
    background-color: palette(blue);
    transition: all .4s ease;
    position: absolute;
    left: 50%;
    top: 50%;
    transform-origin: top left;
    transform: translateX(-50%) translateY(-50%);
    
    
    &:first-child {
      transform: translateX(-50%) translateY(calc(8px + -50%));
    }
    
    &:last-child {
      transform: translateX(-50%) translateY(calc(-8px + -50%));
    }
    
    .c-page-header:target &,
    .is-active & {
      transition: all .4s ease;
      transform: rotate(360deg) scale(0, 0) translateX(0) translateY(0);
      transform: rotate(360deg) scale(0, 0) translate3d(0, 0, 0);
    }
    
    &:first-child {
      .c-page-header:target &,
      .is-active & {
        transform: rotate(315deg) translateY(-50%) translateX(-50%);
        transform: rotate(315deg) translate3d(-50%, -50%, 0);
      }
    }
    
    &:last-child {
      .c-page-header:target &,
      .is-active & {
        transform: rotate(-315deg) translateY(-50%) translateX(-50%);
        transform: rotate(-315deg) translate3d(-50%, -50%, 0);
      }
    }
  }
  
  
  
  .c-hamburger--open {
    opacity: 1;
    z-index: 11;
    
    .c-page-header:target &,
    &.is-active {
      pointer-events: none;
    }
  }
  
  .c-hamburger--close {
    z-index: 10;
    pointer-events: auto;
    transform: translateX(100%);
    transform: translate3d(100%, 0, 0);
    margin-left: -100%;
  }