/* TOP MENU (MEMBERS) */

nav#header-top-menu {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  width: 100%;
  height: var(--top-menu-height);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  padding: 0 calc((100vw - var(--main-menu-content-width)) / 2);
  background-color: var(--top-menu-background-color);
  color: var(--top-menu-color);
  font: var(--regular-font);
  font-size: var(--top-menu-font-size);
  text-transform: uppercase;
  z-index: 1;
  transition: all 0.3s ease-out;
}

nav#header-top-menu {
/*   display: none; */
}

nav#header-top-menu > ul.menu,
nav#header-top-menu > .member-name {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: -0.75em;
}

nav#header-top-menu > .member-name {
  margin-right: -0.75em;
  cursor: default;
}

nav#header-top-menu > ul.menu > li.menu-item {
  height: 100%;
  position: relative;
}

nav#header-top-menu > ul.menu > li.menu-item-has-children:after {
  content: "";
  width: 200vw;
  height: calc(100vh - var(--top-menu-height));
  position: absolute;
  top: var(--top-menu-height);
  left: -100vw;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-out 0.2s;
}

nav#header-main-menu > ul.menu > li.menu-item-has-children:hover:after {
  opacity: 1;
}

nav#header-top-menu > ul.menu > li.menu-item > a,
nav#header-top-menu > .member-name {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0 .75em;
/*   font-size: var(--main-menu-font-size);
  color: var(--main-menu-color); */
  transition: all 0.3s ease-out;
}

nav#header-top-menu > ul.menu > li.menu-item:hover > a {
  background-color: var(--secondary-color);
}

nav#header-top-menu > ul.menu > li.menu-item > a:hover {
  color: var(--top-menu-hover-color);
}

nav#header-top-menu > ul.menu > li.menu-item > ul.sub-menu {
  width: 100vw;
  display: flex;
  flex-direction: column;
  position: absolute;
  top: var(--top-menu-height);
  left: 0;
  padding: 1.5em .75em;
  background-color: var(--sub-menu-background-color);
  opacity: 0;
  z-index: 1;
  visibility: hidden;
  transition: all 0.3s ease-out 0.2s;
}

nav#header-top-menu > ul.menu > li.menu-item > ul.sub-menu::before {
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: -99.5vw;
  background-color: var(--sub-menu-background-color);
}

nav#header-top-menu > ul.menu > li.menu-item:hover > ul.sub-menu {
  opacity: 1;
  z-index: 2;
  visibility: visible;
}

nav#header-top-menu > ul.menu > li.menu-item > ul.sub-menu > li.menu-item {
  margin: .25em 0;
}

nav#header-top-menu > ul.menu > li.menu-item > ul.sub-menu a {
  color: var(--sub-menu-color);
  transition: color 0.3s ease-out;
}

nav#header-top-menu > ul.menu > li.menu-item > ul.sub-menu a:hover {
  color: var(--top-menu-hover-color);
}

nav#header-top-menu > ul.menu > li.menu-item > ul.sub-menu > li.menu-item > ul.sub-menu > li.menu-item {
  margin: .5em 2em;
}

nav#header-top-menu > ul.menu > li.menu-item > ul.sub-menu > li.menu-item > ul.sub-menu > li.menu-item:last-of-type {
  margin-bottom: 0;
}


/* mobile */

nav#header-top-menu > #header-top-menu-toggle,
nav#header-top-menu i.submenu-toggle-indicator {
  display: none;
}



/* MEDIA QUERIES */

@media (max-width: 1920px) {
  :root {
    --top-menu-font-size: 18px;
  }
}

@media (max-width: 1640px) {
  nav#header-top-menu {
    padding: 0 50px;
  }
}

@media (max-width: 1140px) {
  nav#header-top-menu {
    flex-direction: row-reverse;
    justify-content: flex-start;
    padding: 0;
  }
  nav#header-top-menu > #header-top-menu-toggle {
    width: 62.5px;
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
		margin-right: 35px;
    font-size: 1.3em;
    color: var(--top-menu-color);
    cursor: pointer;
  }
  nav#header-top-menu > #header-top-menu-toggle > .header-top-menu-toggle-icon {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    opacity: 0;
    transform: rotate(0deg);
    transition: all 0.2s ease-out;
  }
  nav#header-top-menu > #header-top-menu-toggle:not(.menu-open) > .header-top-menu-toggle-icon:nth-child(1),
  nav#header-top-menu > #header-top-menu-toggle.menu-open > .header-top-menu-toggle-icon:nth-child(2) {
    opacity: 1;
    transform: rotate(180deg);
  }
  nav#header-top-menu > ul.menu {
    display: none;
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }
  nav#header-top-menu > ul.menu.menu-open {
		width: 100%;
		height: unset;
    display: block;
		position: absolute;
		top: 0;
		left: 0;
		margin-top: var(--top-menu-height);
		background-color: var(--secondary-color);
  }
  nav#header-top-menu > ul.menu > li.menu-item {
		height: unset;
    display: flex;
		flex-direction: column;
  }
  nav#header-top-menu > ul.menu > li.menu-item:last-child.sub-menu-open {
		padding-bottom: 20px;
	}
  nav#header-top-menu > ul.menu > li.menu-item-has-children:hover::after {
		opacity: 0;
	}
  nav#header-top-menu > ul.menu > li.menu-item > a {
    width: 100%;
		height: 50px;
		justify-content: flex-start;
		padding: 0 75px 0 50px;
    white-space: nowrap;
  }
  nav#header-top-menu > ul.menu > li.menu-item-has-children > i.submenu-toggle-indicator {
    width: 62.5px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
		position: absolute;
		right: 35px;
    font-size: 1.5em;
		color: #fff;
    cursor: pointer;
  }
  nav#header-top-menu > ul.menu > li.menu-item-has-children > i.submenu-toggle-indicator:before {
    transform: rotate(0deg);
    transition: transform 0.2s ease-out;
  }
  nav#header-top-menu > ul.menu > li.menu-item-has-children > i.submenu-toggle-indicator:before {
    transform: rotate(0deg);
    transition: transform 0.2s ease-out;
  }
  nav#header-top-menu > ul.menu > li.menu-item-has-children.sub-menu-open > i.submenu-toggle-indicator:before {
    transform: rotate(180deg);
  }
  nav#header-top-menu > ul.menu > li.menu-item > ul.sub-menu {
		width: 100%;
    display: none;
		justify-content: center;
		align-items: center;
		position: static;
    padding: 0 75px 0 50px;
/*     grid-template-columns: 1fr 1fr;
    grid-gap: 1em; */
    opacity: 0;
    transition: opacity 0.3s ease-out;
    background-color: var(--secondary-color);
  }
  nav#header-top-menu > ul.menu > li.menu-item > ul.sub-menu::before {
		display: none;
	}
	nav#header-top-menu > ul.menu > li.menu-item:hover > ul.sub-menu {
		opacity: unset;
	}
  nav#header-top-menu > ul.menu > li.menu-item-has-children.sub-menu-open > ul.sub-menu {
    display: flex;
		margin-top: -15px;
    opacity: 1;
		visibility: visible;
  }
  nav#header-top-menu > ul.menu > li.menu-item-has-children.sub-menu-open > ul.sub-menu > li.menu-item {
		width: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		margin: 0;
		padding-left: 30px;
	}
  nav#header-top-menu > ul.menu > li.menu-item.sub-menu-open > ul.sub-menu > li.menu-item > a {
		height: 30px;
    display: flex;
		align-items: center;
  }
  nav#header-top-menu > ul.menu > li.menu-item-has-children.sub-menu-open > ul.sub-menu > li.menu-item > ul.sub-menu > li.menu-item {
		margin: 0;
    padding-left: 15px;
  }
	nav#header-top-menu > ul.menu > li.menu-item-has-children.sub-menu-open > ul.sub-menu > li.menu-item > ul.sub-menu > li.menu-item > a {
		display: flex;
		align-items: center;
		height: 24px;
	}
  #call-to-action {
    display: none;
    grid-column: 1 / 3;
    grid-row: 3 / 4;
    padding: 1.2em 20px;
  }
  nav#header-top-menu > ul.menu.menu-open + #call-to-action {
    display: block;
  }
}

@media (max-width: 540px) {
	nav#header-top-menu > #header-top-menu-toggle {
		margin-right: 10px;
	}
	nav#header-top-menu > ul.menu > li.menu-item > a,
	nav#header-top-menu > ul.menu > li.menu-item > ul.sub-menu {
		padding-left: 25px;
	}
	nav#header-top-menu > ul.menu > li.menu-item-has-children > i.submenu-toggle-indicator {
		right: 10px;
	}
}