header {
  background-color: #122140;
  color: var(--white);

  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 10px 20px;

  position: fixed;
  top: 0;
  left: 0;
  width: 100%;

  z-index: 11;
}

header>button {
  border: none;
  background-color: transparent;
  color: var(--white);

  font-size: 2rem;

  padding: 0.5;
}

.offcanvas {
  background-color: #f8f9fa;

  & .nav-link {
    color: var(--gray-900);
    font-weight: 500;

    &:hover {
      color: var(--primary);
    }

    & .bi-chevron-down {
      transition: transform 0.2s ease;
    }
  }

  & .nav-link[aria-expanded="true"] .bi-chevron-down {
    transform: rotate(180deg);
    transition: transform 0.2s ease;
  }
}

@media (min-width: 1024px) {
  header {
    padding: 0 2rem;
  }

  .logo {
    min-width: 124px;
  }

  nav {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .header-actions-desktop {
    align-items: stretch;
    margin-left: auto;
  }

  .header-search-box {
    min-width: 230px;
    min-height: 88px;
    padding: 0 22px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.03);
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
  }

  .header-search-input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
    font-size: 15px;
  }

  .header-search-input::placeholder {
    color: rgba(255, 255, 255, 0.85);
  }

  .header-search-button {
    border: 0;
    background: transparent;
    color: #fff;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    flex: 0 0 auto;
  }

  .header-actions-desktop {
    display: flex;
    align-items: stretch;
    margin-left: auto;
  }

  .header-cta,
  .header-socials {
    min-height: 88px;
    display: flex;
    align-items: center;
  }

  .header-cta {
    min-width: 230px;
    justify-content: center;
    padding: 0 28px;
    background: #2a4685;
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    text-align: center;
  }

  .header-socials {
    min-width: 140px;
    justify-content: center;
    gap: 20px;
    padding: 0 20px;
    background: rgba(255, 255, 255, 0.03);
    border-left: 1px solid rgba(255, 255, 255, 0.08);
  }

  .header-socials a {
    color: #fff;
    text-decoration: none;
    font-size: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .header-cta:hover,
  .header-socials a:hover {
    opacity: 0.9;
    color: #fff;
  }

}


@media (min-width: 1200px) {
  nav {
    padding-left: 4.125rem;
    padding-right: 9.75rem;
  }
}

@media (min-width: 1200px) and (max-width: 1536px) {

  .header-socials,
  .header-search-box,
  .header-cta {
    min-height: 75px;

  }

  .header-search-box,
  .header-cta {
    min-width: 190px;
    padding: 0 10px;
    gap: 10px;
  }

  .header-search-button {
    font-size: 1.25rem;
  }

  nav {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}


@media (max-width: 1200px) {
  nav {
    max-width: 600px;
  }
}