
div#flyout_menu
{
  display: none;
  position: relative;
  width: 40px;
  margin-right: 1em;
  padding: 4px;
  -ms-user-select: none;
	-webkit-user-select: none;
  -moz-user-select: none;
  overflow: hidden;
  z-index: 10;
}

div#flyout_menu img
{
	display: block;
  align-self: flex-end;
  width: 100%;
  margin: 0 auto;
	cursor: pointer;
}

div#flyout_menu nav#menu1
{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: absolute;
  margin-top: .2em;
  top: 100%;
  right: 0;
  visibility: hidden;
  opacity: 0;
  max-width: 0;
  width: auto;

  transition: max-width 0.5s linear 0s, opacity 0.5s linear 0s, visibility 0s linear 0s;
  -webkit-transition: max-width 0.5s linear 0s, opacity 0.5s linear 0s, visibility 0s linear 0s;
  -moz-transition: max-width 0.5s linear 0s, opacity 0.5s linear 0s, visibility 0s linear 0s;
  -o-transition: max-width 0.5s linear 0s, opacity 0.5s linear 0s, visibility 0s linear 0s;

  z-index: 110;
  border: 2px none black;
}

div#flyout_menu a,
div#flyout_menu nav nav
{
  color: #fffff0;
  background: #476161;
  padding:12px 20px 12px 20px;
  white-space: nowrap;
  margin:1px;
	cursor: pointer;
  font-size: 1em;
  letter-spacing: 1px;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  border: 1px dotted gray;
}

div#flyout_menu a
{
  display:block;
  text-decoration: none;
}

div#flyout_menu nav nav
{
  display: block;
  position: relative;
  z-index: 120;
}
div#flyout_menu nav div
{
	display: flex;
  position: absolute;
  flex-direction: column;
  padding: 0;
  visibility: hidden;
  opacity: 0.0;
	margin: 0;
  text-align: left;

  top: 20%;
  right: 102%;

  border: 1px dotted gray;
  border-top-style: none;

  background-color: transparent;

  -webkit-transition: all 0.4s ease-in-out 0.0s;
  -moz-transition: all 0.4s ease-in-out 0.0s;
  -ms-transition: all 0.4s ease-in-out 0.0s;
  -o-transition: all 0.4s ease-in-out 0.0s;
  transition: all 0.4s ease-in-out 0.0s;
}

div#flyout_menu div.hover_flag
{
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
}

div#flyout_menu nav nav:hover div.hover_flag
{
  background: #0174B8;
}

div#flyout_menu nav nav:hover > div      /* make flyout visible */
{
  visibility: visible;
  opacity: 1.0;
  z-index: 3;  /* without this ipad, iphone menu is broken but ok on all others */
}

div#flyout_menu a:hover
{
  background: #35495c;
}

@media screen and ( max-width: 799px )
{
  div#flyout_menu { display: flex; }
  
  a#top_login { display: none; }
}

@media screen and (max-width: 700px) and (min-width: 599px)
{
  div#flyout_menu { width: 37px; }
}

@media screen and (max-width: 600px) and (min-width: 499px)
{
  div#flyout_menu { width: 34px; }
}

@media screen and (max-width: 500px) and (min-width: 399px)
{
  div#flyout_menu { width: 31px; }
}

@media screen and (max-width: 400px) and (min-width: 299px)
{
  div#flyout_menu { width: 28px; }
}

@media screen and (max-width: 300px)
{
  div#flyout_menu { width: 25px; }
}
