@media (max-width:959px) {

  .site-header.mobile-menu-active {
    border:0;
    height:100%;
    position:fixed;
    z-index:10;
  }
  
  .site-header .header-container {
    grid-template-columns:159px 1fr auto 80px;
    grid-template-rows:32px 48px 70px;
  }
    
  .site-header.mobile-menu-active .header-container {
    align-items:start;
    grid-template-rows:32px 48px 70px auto auto 1fr;
    height:100vh;
    overflow-y:auto;
    padding:0;
    position:relative;
  }
  
  .site-header .menu-controls {
    align-items:center;
    background:none;
    border:0;
    cursor:pointer;
    display:flex;
    grid-column:4 / 5;
    grid-row:3 / 4;
    height:100%;
    justify-content:center;
    padding:0;
    right:0;
    width:80px;
    z-index:11;
  }
    
  .menu-controls-icon,
  .menu-controls-icon::before,
  .menu-controls-icon::after {
    background:#fff;
    border-radius:3px;
    display:block;
    height:3px;
    width:40px;
  }

  .menu-controls-icon::before,
  .menu-controls-icon::after {content:'';}
  .menu-controls-icon::before {transform:translateY(-12px);}
  .menu-controls-icon::after {transform:translateY(8px);}
  
  .mobile-menu-active .menu-controls-icon,
  .mobile-menu-active .menu-controls-icon::before,
  .mobile-menu-active .menu-controls-icon::after {
    transition:.35s;
    width:30px;
  } 
  
  .mobile-menu-active .menu-controls-icon {transform:translateY(0) translateX(0) rotate(-45deg);}
  .mobile-menu-active .menu-controls-icon::before {transform:translateY(0) translateX(0) rotate(90deg);}
  .mobile-menu-active .menu-controls-icon::after {transform:translateY(-3px) translateX(0) rotate(0deg);}

  .site-header .branding {
    grid-column:1 / 2;
    grid-row:1 / 4;
    z-index:1;
  }
  
  .site-header.mobile-menu-active nav.main-menu {max-height:1000px;}

  .site-header nav.navigation {
    display:flex;
    grid-column:1 / 5;
    max-height:0;
    overflow:hidden;
    width:100%;
  }

  .site-header nav.main-menu {grid-row:4 / 5;}
  
  nav.main-menu > ul.menu {
    border-bottom:1px solid #fff;
    padding:0;
    width:100%;
  }
  
  nav.main-menu > ul.menu > li.menu-item {border-top:1px solid #fff;}
  
  .site-header nav.buttons-menu {
    align-items:center;
    grid-column:3 / 5;
    grid-row:2 / 3;
    height:100%;
    justify-content:center;
    margin:0 auto;
    max-height:unset;
    overflow:hidden;
    padding:0;
  }
  
  nav.buttons-menu ul.menu {padding-right:20px;}

}


@media (min-width:441px) and (max-width:959px) {
  
  .site-header .header-container {grid-template-rows:40px 70px 40px;}
  .site-header.mobile-menu-active .header-container {grid-template-rows:40px 70px 40px auto auto 1fr;}
  .site-header .menu-controls {grid-row:2 / 3;}
  .site-header nav.buttons-menu {grid-column:3 / 4;}
  nav.buttons-menu ul.menu {padding-right:0;}  
  
}