

.topnav {
  background-color: var(--bg-nav);
  font-family: var(--font-family);
  font-size: var(--font-size-nav);
  max-width: var(--max-width-content);
  margin: 0 auto;
  border-bottom: var(--border-nav-bottom);
}

.topnav::after {
  content: "";
  display: table;
  clear: both;
}

.topnav a {
  float: left;
  display: block;
  color: var(--text-primary);
  text-align: center;
  padding: var(--padding-nav);
  text-decoration: none;
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-nav);
  letter-spacing: var(--letter-spacing-nav);
}

.topnav a.active {
  background-color: var(--active-nav);
  color: #fff;
}

.topnav .icon {
  display: none;
}

.topnav a.mobile-return-arrow {
  display: none;
}

.dropdown {
  float: left;
  overflow: hidden;
}

.dropdown .split-button {
  display: flex;
  align-items: center;
}

.dropdown .split-button .main-link {
  float: none;
}

.dropdown .split-button .dropdown-toggle {
  font-size: var(--font-size-nav);
  border: none;
  outline: none;
  color: var(--text-primary);
  background-color: inherit;
  font-family: inherit;
  margin: 0;
  padding: 0 10px;
  
  cursor: pointer;
  height: 100%;
  display: flex;
  align-items: center;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: var(--bg-content);
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.dropdown-content a {
  float: none;
  color: var(--text-primary);
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

@media (hover: hover) and (pointer: fine) {

  .topnav a:hover,
  .dropdown .split-button:hover .main-link,
  .dropdown .split-button .dropdown-toggle:hover {
    background-color: var(--hover-nav);
    color: var(--text-primary);
  }

  .dropdown-content a:hover {
    background-color: var(--hover-nav);
  }
}

.dropdown-content.show {
  display: block;
}

.dropdown:hover .split-button .main-link.active,
.dropdown.open .split-button .main-link.active,
.dropdown:has(.dropdown-content.show) .split-button .main-link.active {
  background-color: var(--hover-nav);
  color: var(--text-primary);
}

.dropdown-content a.active,
.topnav.responsive .dropdown-content a.active {
  background-color: var(--active-nav);
  color: #fff;
}

.dropdown-content a.active:hover,
.topnav.responsive .dropdown-content a.active:hover {
  background-color: var(--active-nav);
  color: #fff;
}

@media screen and (max-width: 768px) {

  .topnav a:not(.icon):not(.mobile-return-arrow),
  .dropdown .split-button {
    display: none;
  }

  .topnav a.icon {
    float: right;
    display: block;
  }

  .topnav a.mobile-return-arrow {
    float: left;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .topnav.responsive {
    position: relative;
  }

  .topnav.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }

  .topnav.responsive a:not(.icon):not(.mobile-return-arrow) {
    float: none;
    display: block;
    text-align: left;
  }

  .topnav.responsive .dropdown {
    float: none;
  }

  .topnav.responsive .split-button {
    display: flex;
    width: 100%;
  }

  .topnav.responsive .split-button .main-link {
    flex-grow: 1;
    text-align: left;
  }

  .topnav.responsive .split-button .dropdown-toggle {
    padding: 14px 20px;
  }

  .topnav.responsive .dropdown-content {
    position: relative;
    box-shadow: none;
  }

  .topnav.responsive .dropdown-content a {
    padding-left: 32px;
    background-color: var(--bg-nav-sub);
  }

}