:root {
  --navigation-padding: 0.5em;
}

nav {
  z-index: 10;  
  background:white;   
  opacity: 0.95;
  // position: fixed;
  transition: 0.25s ease-in;
    -webkit-transition: 0.25s ease-in;
    -moz-transition: 0.25s ease-in;
    -o-transition: 0.25s ease-in;
  height: 3rem;

  &>.panel {
    padding: 0 1.0rem;
    width: 100vw;
    display: flex;
    justify-content: space-between;
    
    @include for-desktop-up {
        display: grid;    
        grid-template-columns: 1fr 1fr 8fr 1fr 1fr;
        grid-template-areas:
        ". logo menu hamburger .";

        &>.hamburger-wrapper {
          display: none !important;
        }
    }

    &>.menu {  
      display:none;
    
      @include for-desktop-up {
        display:flex;
        grid-area: menu;
        justify-content: flex-start;
        align-items: stretch;
    
        &>.nav-link {
          align-self: center;
          padding: .75rem 1rem;
          transition: 0.25s ease-in;
          -webkit-transition: 0.25s ease-in;
          -moz-transition: 0.25s ease-in;
          -o-transition: 0.25s ease-in;
        }
      }
    }
    &>.logo {    
      grid-area: logo; 
      align-self: center;
      display: flex;    
      cursor: pointer;
      padding: .5rem 0;
      
      &>img{
        height: 2rem;
        width: 2rem;
      }
    }
  
    &>.hamburger-wrapper {
      grid-area: hamburger;    
      align-self: center;
      display: flex;
      padding: .5rem 0;
  
      &>.hamburger {
        width: 2rem;
        height: 2rem;
        position: relative;

        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        -o-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
        cursor: pointer;
      
        span {
          display: block;
          position: absolute;
          height: 2px;
          width: 100%;
          background: black;
          border-radius: 9px;
          opacity: 1;
          right: 0;
          -webkit-transform: rotate(0deg);
          -moz-transform: rotate(0deg);
          -o-transform: rotate(0deg);
          transform: rotate(0deg);
          -webkit-transition: .25s ease-in-out;
          -moz-transition: .25s ease-in-out;
          -o-transition: .25s ease-in-out;
          transition: .25s ease-in-out;
      
          &:nth-child(1) {
            top: calc(2rem * 0.25);
          }
      
          &:nth-child(2), &:nth-child(3) {
            top: calc(2rem * 0.5);
          }
      
          &:nth-child(4) {
            top: calc(2rem * 0.75);
          }
        } 
      
        &.open span {
          background: red;
          
          &:nth-child(1), &:nth-child(4) {      
            width: 0%;      
          }
      
          &:nth-child(2) {
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            -o-transform: rotate(45deg);
            transform: rotate(45deg);
          }
      
          &:nth-child(3) {
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            -o-transform: rotate(-45deg);
            transform: rotate(-45deg);
          }
        }
      }    
    }
  }

  &.open {
    height: 100vh;
    position: fixed;

    &>section.menu {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 100%;
      width: 100%;
    }
  }

  &>section.menu {
    display: none;

    & .nav-link {
      width: 300px;
    }
  }

  & .nav-link {
    padding: .5em;   
    text-align: center; 
    text-decoration: none !important;
    text-decoration-line:none !important;
    color: black;
  
    &:hover{
        background: rgba(0,0,0,0.05);
    }
  }

  &.shadow {
    box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.5);
  }
}



























