/* Basic styling */
* {
  padding: 0;
  margin: 0;
}
body {
	font-family: sans-serif;
	font-size: 15px;
}
nav {
	padding: 0 15px;
	background-color: #FFF;
	position: relative;
	z-index: 1;
}
a {
  color: #000;
  text-decoration: none;
}
.menu,
.submenu {
  list-style-type: none;
}
.logo {
	font-size: 20px;
	padding-right: 10px;
	padding-left: 0;
	padding-top: 7.5px;
	padding-bottom: 7.5px;
}
.item {
  padding: 10px;
}
.item.button {
  padding: 9px 5px;
}
.item:not(.button) a:hover,
.item a:hover::after {
  color: #333;
}
/* Mobile menu */
.menu {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
          align-items: center;
}
.menu li a {
  display: block;
  padding: 15px 5px;
  position: relative;
  z-index: 10000;
}
.menu li.subitem a {
  padding: 15px;
}
.toggle {
  -webkit-box-ordinal-group: 2;
          order: 1;
  font-size: 20px;
}
.item.button {
  -webkit-box-ordinal-group: 3;
          order: 2;
}
.item {
  -webkit-box-ordinal-group: 4;
          order: 3;
  width: 100%;
  text-align: center;
  display: none;
}
.active .item {
  display: block;
}
.button.secondary {
  /* divider between buttons and menu links */
  border-bottom: 0px #444 solid;
}
/* Submenu up from mobile screens */
.submenu {
  display: none;
}
.submenu-active .submenu {
  display: block;
}
.has-submenu i {
  font-size: 12px;
}
.has-submenu > a::after {
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  line-height: 16px;
  font-weight: 900;
  content: "\f078";
  color: black;
  padding-left: 5px;
}
.subitem a {
  padding: 10px 15px;
}
.submenu-active {
  background-color: #fff;
  border-radius: 3px;
}

/* Tablet menu */
@media all and (min-width: 700px) {
  .menu {
    -webkit-box-pack: center;
            justify-content: center;
  }
  .logo {
    -webkit-box-flex: 1;
            flex: 1;
  }
  .item.button {
    width: auto;
    -webkit-box-ordinal-group: 2;
            order: 1;
    display: block;
  }
  .toggle {
    -webkit-box-flex: 1;
            flex: 1;
    text-align: right;
    -webkit-box-ordinal-group: 3;
            order: 2;
  }
  /* Button up from tablet screen */
  .menu li.button a {
    padding: 10px 15px;
    margin: 5px 0;
  }
  .button a {
    background: #ccc;
    border: 1px royalblue solid;
  }
  .button.secondary {
    border: 0;
  }
  .button.secondary a {
    background: transparent;
    border: 1px #0080ff solid;
  }
  .button a:hover {
    text-decoration: none;
  }
  .button:not(.secondary) a:hover {
    background: red;
    border-color: darkblue;
  }
}
/* Desktop menu */
@media all and (min-width: 960px) {
  .menu {
    -webkit-box-align: start;
            align-items: flex-start;
    flex-wrap: nowrap;
    background: none;
  }
  .logo {
    -webkit-box-ordinal-group: 1;
            order: 0;
  }
  .item {
    -webkit-box-ordinal-group: 2;
            order: 1;
    position: relative;
    display: block;
    width: auto;
  }
  .button {
    -webkit-box-ordinal-group: 3;
            order: 2;
  }
  .submenu-active .submenu {
    display: block;
    position: absolute;
    left: 0;
    top: 68px;
    background: #FFF;
  }
  .toggle {
    display: none;
  }
  .submenu-active {
    border-radius: 0;
  }
}
