/* menu */

body
{
  --menuitem-width: 220px;
  --menuitem-height: 28px;
  --menuitem-background1: #254441;
  --menuitem-background2: #f0f0f0;
  --focused-menuitem-background: #ff8080;
}

nav ul
{
  float: left;
  padding:0;
  margin:0;
  list-style: none;
  position: relative;
  z-index: 8000;
}

nav ul li
{
  margin: 0px;
  display:inline-block;
  float: left;
  background-color: var(--menuitem-background1);
}

nav a
{
  display:block;
  padding:0 10px;
  color:white;
  font-size:14px;
  text-decoration:none;
  cursor: pointer;
  line-height: var(--menuitem-height);
  user-select: none;
  user-drag: none;
  -webkit-user-drag: none;
}

nav a:hover,
nav a:focus
{
  background-color: var(--focused-menuitem-background);
  color: #202020;
  border:none;
  outline: none;
}

nav a div.label
{
}

nav a div.shortcut
{
  text-align: right;
  font-size: 11px;
  position: absolute;
  right: 4px;
  color: gray;
  top: 0;
  height: var(--menuitem-height);
}

nav a:focus div.shortcut,
nav a:hover div.shortcut
{
  color: black;
}

nav ul ul
{
  display: none;
  position: absolute;
  top: var(--menuitem-height);
}

nav ul ul ul
{
  margin-top: -1px;
}

nav ul li.drop > ul
{
  display:inherit;
  animation: fade_in 0.3s;
}

nav ul ul li
{
  width: var(--menuitem-width);
  float:none;
  display:list-item;
  position: relative;
  box-shadow: 0px 8px 6px -6px rgba(50, 50, 50, 0.3);
  background-color: var(--menuitem-background2);
  border-left: 1px solid gray;
  border-right: 1px solid gray;
}

nav ul ul ul li:first-child
{
  border-top: 1px solid gray;
}

nav ul ul li:last-child
{
  border-bottom: 1px solid gray;
}

nav ul ul li a
{
  color: #404040;
}

nav ul ul ul
{
  position: relative;
  top: calc(var(--menuitem-height) * -1);
  left: var(--menuitem-width);
  height: 0;
}

nav ul ul a.menu
{
  background-position: 96% 50%;
  background-repeat: no-repeat;
  background-image: url(images/expand.svg);
}

.menu_button
{
  display: none;
}

@media all and (max-width : 950px)
{
  nav
  {
    margin: 0;
    bottom: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
  }

  nav::-webkit-scrollbar
  {
    width: 0px;
    height: 0px;
  }

  nav ul ul,
  nav ul ul ul li
  {
    float: none;
    position:static;
  }

  nav ul ul ul
  {
    height: inherit;
    top:inherit;
    left:inherit;
  }

  nav ul ul li:last-child
  {
    border-bottom: none;
  }

  nav ul li,
  nav ul ul li,
  nav ul li.drop > ul,
  nav ul ul li.drop > ul
  {
    display: block;
    width: 100%;
    background-color: var(--menuitem-background1);
  }

  nav ul li.drop > ul
  {
    padding:4px 30px;
  }

  nav ul li a,
  nav ul ul li a
  {
    color: white;
    padding: 4px 16px;
  }

  nav ul ul ul li:first-child
  {
    border-top: none;
  }

  nav li > a.menu div.label:after {
    content: ' +';
  }
  nav li.drop > a div.label:after {
    content:  ' -';
  }
  nav li div.shortcut {
    display: none
  }

  nav a:hover,
  nav a:focus
  {
    color: #F08080;
    background: transparent;
  }

  nav > ul
  {
    position: absolute;
    top: var(--menuitem-height);
    right: 0;
    display: block;
    opacity: 0;
    visibility: hidden;
    width: 300px;
    max-width: 100%;
  }

  nav ul li.drop > ul
  {
    display:inherit;
    animation: none;
  }

  nav > ul.menu_hide
  {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s 0.2s, opacity 0.2s linear;
  }

  nav > ul.menu_drop
  {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.2s linear;
  }

  .menu_button
  {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    cursor:pointer;
    color: white;
    z-index:200;
    font-size: 14px;
    user-select: none;
    padding-left: 24px;
    background-size: 16px 16px;
    background-repeat: no-repeat;
    background-position: 4px center;
    padding-right: 8px;
    background-color: #B00000;
    line-height: var(--menuitem-height);
  }

  .menu_button[aria-pressed=true]
  {
    background-image: url(images/menu_hide.svg);
  }

  .menu_button[aria-pressed=false]
  {
    background-image: url(images/menu_show.svg);
  }

}