﻿.header-wrapper {
  display: flex;
  background-color: var(--navy);
  padding: var(--spacing-2) var(--spacing-4);
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
}
.logo img {
  display: block;
  width: 100%;
  height: 100%;
}

.social {
  display: flex;
  gap: var(--spacing-2);
  padding: 0 var(--spacing-2);
}

.social a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--background);
  font: var(--body-m-reg);
  text-decoration: none;
  -webkit-transition: 0.4s ease-in;
  -moz-transition: 0.2s ease-in;
  -o-transition: 0.2s ease-in;
  transition: 0.2s ease-in;

  &:hover {
    color: var(--light-blue-5);
  }
}

.menu-social.footer-social.social {
  padding: var(--spacing-3) var(--spacing-2);
}

.nav-footer {
  font: var(--body-xxs-reg);
  color: var(--background);
  position: relative;
  padding: 0 var(--spacing-2) var(--spacing-2) var(--spacing-2);
}

/***** Start of primary nav ******/
#menu-button {
  display: none;
}
nav.mobile {
  display: none;
}

nav.primary {
  display: flex;
  position: relative;
  padding: 0;
  margin: 0;
  width: auto;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
}
nav.primary ul {
  margin: 0;
  padding: 0;
}

/* Top level links */
nav.primary ul li {
  display: inline-block;
  margin: 0;
  list-style-type: none;
  width: auto;
}
nav.primary ul li a {
  color: var(--background);
  font: var(--body-m-reg);
  display: block;
  margin: 0;
  padding: 0 var(--spacing-2);
  text-align: center;
  -webkit-transition: 0.4s ease-in;
  -moz-transition: 0.2s ease-in;
  -o-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}
nav.primary ul li a:hover {
  color: var(--light-blue-5);
}

/*------------------- Appearance of the sub-level links ------------------- */
nav.primary ul li li a {
  font: var(--body-m-bold);
  color: var(--navy);
  text-align: left;
  border-right: none;
  border-left: none;
}

/* Appearance of the sub-level links on hover */
nav.primary ul li li a:hover {
  color: var(--blue);
  background-color: var(--white-active);
}

/* This controls the Primary nav dropdowns for sublinks. Should not have to edit this too muuch */
nav.primary .nav-second-level {
  display: none;
  position: absolute;
  top: 250%;
  background-color: var(--light-blue-5);
}
nav.primary > ul > li {
  position: relative;
}
nav.primary > ul > li:hover::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 3rem;
}

nav.primary .nav-third-level {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  background-color: var(--dark-navy-2);
}

nav.primary .nav-second-level .nav-third-level li a {
  color: var(--background);
}

nav.primary .nav-second-level .nav-third-level li a:hover {
  color: var(--blue);
  background-color: var(--white-active);
}

nav.primary .nav-second-level > li:hover > .nav-third-level,
nav.primary .nav-second-level > li:focus-within > .nav-third-level {
  display: block;
  z-index: 101;
}

nav.primary ul li:hover > .nav-second-level,
nav.primary ul li:focus-within > .nav-second-level {
  display: block;
  z-index: 100;
}
nav.primary ul ul li {
  float: none;
  width: 270px;
  position: relative;
  margin: 0;
  display: block;
}

/******** End of primary Nav ***************/

/*==============================
	Mobile Nav Styles			
================================*/
@media screen and (max-width: 1700px) {
  nav.primary {
    display: none;
  }
  #menu-button {
    width: 100%;
    font: var(--body-l-bold);
    display: inline-block;
    position: relative;
    z-index: 400; /* needs to be lower than nav.mobile, adjust as needed */
    text-align: right;
  }
  #menu-button a {
    color: var(--background);
    text-decoration: none;
    padding: 0 0 0 var(--spacing-2);
  }

  #menu-button a:hover {
    color: var(--light-blue-5);
    cursor: pointer;
  }

  nav.mobile {
    display: block;
    position: fixed;
    top: 0;
    left: -250px;
    width: 250px;
    height: 100%;
    background: var(--navy);
    z-index: 500; /* needs to be higher than #menu-button, adjust as needed */
    overflow: auto;
  }

  nav.mobile .menu-header {
    display: flex;
    position: relative;
    align-items: center;
    font: var(--heading-h3);
    color: var(--background);
    padding: var(--spacing-4) var(--spacing-2);
    min-height: 3rem;
  }

  nav.mobile a {
    color: var(--background);
  }

  /* MENU CLOSE 'X' BUTTON */
  nav.mobile .menu-toggle {
    position: absolute;
    font: var(--body-m-bold);
    color: var(--background);
    width: 30px;
    height: 30px;
    text-decoration: none;
    right: 5%;
  }
  nav.mobile .menu-toggle:hover {
    /* Menu close button on hover */
    color: var(--light-blue-5) !important;
    cursor: pointer;
  }

  /* MENU LIST STYLE */
  nav.mobile ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  nav.mobile ul li {
    font: var(--body-m-bold);
    position: relative;
  }

  nav.mobile hr {
    border: none;
    border-top: 1px solid var(--background);
    margin: 0;
  }

  /*===================== FIRST LEVEL ===================== */
  nav.mobile ul li a {
    position: relative;
    display: block;
    padding: var(--spacing-2);
    text-decoration: none;
    text-align: left;
    transition: var(--transition);
  }

  nav.mobile ul li .click {
    position: relative;
    display: block;
    width: 100%;
    padding: var(--spacing-2);
    text-decoration: none;
    text-align: left;
    transition: var(--transition);
    cursor: pointer;
  }

  nav.mobile ul li a:hover {
    color: var(--light-blue-5);
  }

  /* ===================== SECOND LEVEL ====================== */
  /* nav.mobile ul li li:last-child {
    border: none;
  } */

  nav.mobile .dropdown-list {
    display: none;
    margin: 0;
    padding: 0;
  }

  /*===================== Third level dropdown categories ===================== */
  nav.mobile .dropdown-category {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  nav.mobile .dropdown-category .category-toggle {
    display: block;
    font: var(--body-s-bold);
    font-style: italic;
    color: var(--navy);
    padding: var(--spacing-1) 0 var(--spacing-1) var(--spacing-2);
    background-color: var(--light-blue-5);
    cursor: pointer;
    text-decoration: none;
    transition: var(--transition);
  }

  nav.mobile .category-toggle:hover {
    background-color: var(--white-active);
  }

  nav.mobile .category-items {
    display: none;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  nav.mobile .category-items a {
    display: block;
    position: relative;
    background: var(--dark-navy-2);
    color: var(--background);
    text-decoration: none;
    font: var(--body-s-reg);
    padding: var(--spacing-1) 0 var(--spacing-1) var(--spacing-5);
  }

  nav.mobile .category-items a:hover {
    background-color: var(--white-active);
    color: var(--blue);
  }
}

/* ============================================== */

@media screen and (max-width: 1020px) {
  #menu-button {
    width: 100%;
  }
}

@media only screen and (max-width: 550px) {
  .menu-social {
    display: flex;
  }
}

@media screen and (max-width: 430px) {
  #menu-button {
    width: 100%;
  }

  .header-wrapper {
    padding: var(--spacing-4) var(--spacing-5);
  }
}
