
  nav.menu {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: stretch;
    
    position: sticky;
    top: 0em;
    z-index: 1000;
    
    grid-column: 1/ -1;
  }
  
  nav.menu::before {
    box-shadow: 0em 0.1em 0.2em 0.05em rgba(0, 0, 0, 0.1);
    background-color: #f5f8f9;
  }

  nav.menu a,
  nav.menu button {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
  }
  
  nav.menu a {
    text-decoration: none;
  }
  
  nav.menu button {
    background-color: transparent;
  }
  
  nav.menu button {
    color: #333333;
    padding: 1rem;
  }
  

  nav.menu button svg line {
    stroke: #333333;
    stroke-width: 2.3;
  }

  nav.menu button + * {
    display: none;
  }

  nav.menu .expanded > button + * {
    font-size: 0.9rem;
    
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: stretch;
    
    list-style-type: none;
    
    padding: 0em;
    margin: 0em;
  }

  nav.menu > .expanded > button + * {
    position: absolute;
    top: 100%;
    
    background-color: #f5f8f9;
    z-index: 100;
    
    box-shadow: 0em 0.1em 0.2em 0.05em rgba(0, 0, 0, 0.1);
  }

  nav.menu > .expanded > button + * button + * a {
    padding-left: 2em;
  }
  
  nav.menu .expanded > button + * button,
  nav.menu .expanded > button + * a {
    padding-left: 1em;
    padding-right: 1em;
  }

  nav.menu button + * button,
  nav.menu button + * a {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    
    padding: calc(1em / 2) 1em;
  }
  
  nav.menu button + * button span {
    padding-right: 0.5em;
  }

  nav.menu a.logo {
    max-width: 8em;
    margin-right: auto;
  }

  #mainMenu > button {
    height: 100%;
  }
  
  #mainMenu > button svg {
    width: 1.5em;
    height: 1.25em;
  }
  
  #mainMenu li {
    min-width: 15em;
  }
  
  #mainMenu li > a.active,
  #mainMenu li > button.active {
    color: #fb6262;
    background-color: #efefef;
  }
  
  #languageSwitch ul {
    right: 0;
    width: 6em;
  }

  @media screen and (min-width: 960px) {
    
    nav.menu#stickyStripe a.logo {
      
      order: -1;
      
      max-width: 10em;
      padding: 0em 1em;                   /* this becomes the first element */
    }
    
    nav.menu .responsive > button {
      display: none;
    }
    
    nav.menu .responsive > button + * {
      position: relative;
      
      display: flex;
      flex-flow: row nowrap;
      justify-content: flex-start;
      align-items: stretch;
      
      height: 100%;
      
      padding: 0em;
      background-color: transparent;
      
      overflow: visible;
    }
    
    nav.menu .responsive > button + * a, 
    nav.menu .responsive > button + * button {
      min-height: 100%;
      min-width: auto;
    }
    
    nav.menu .expanded > button + * {
      position: absolute;
      top: 100%;
      
      z-index: 100;
      box-shadow: 0em 0.1em 0.2em 0.05em rgba(0, 0, 0, 0.1);
      background-color: #f5f8f9;
    }
    
    nav.menu .expanded > button + * a {
      padding: calc(1em / 2) 1em;
    }
    
    nav.menu .responsive .hide {
      display: none;
    }
    
    nav.menu button span {
      display: inherit;
      margin: 0em 0.25em 0em 0.5em;
    }
    
    #mainMenu li {
      min-width: auto;
    }
    
    #mainMenu li:hover > a {
      color: #333333;
      background-color: #f5f8f9;
    }
  }
