/* Base */
.global-navigation ul {
  list-style-type: none;
}

.global-navigation a:hover {
  text-decoration: none;
}

.global-navigation button {
  background: none;
  cursor: pointer;
}

/* Curtain */
.feds-curtain {
  position: fixed;
  display: none;
  inset: 0;
  background: rgb(0 0 0 / .5);
  -webkit-backdrop-filter: blur(1em);
  backdrop-filter: blur(1em);
  z-index: 1;
}

.feds-curtain--open {
  display: flex;
}

/* General */
header.global-navigation {
  position: sticky;
  top: 0;
  z-index: 10;
  background-color: var(--feds-background-nav);
  box-sizing: content-box;
  overflow-x: clip;
}

.feds-topnav-wrapper {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  height: var(--feds-height-nav);
  background-color: var(--feds-background-nav);
}

.feds-topnav {
  display: flex;
  width: 100%;
  max-width: var(--feds-maxWidth-nav);
  height: inherit;
  justify-content: space-between;
}

.feds-nav-wrapper {
  position: absolute;
  top: 100%;
  left: 0;
  right: 20px; /* hamburger menu gutter */
  display: none;
  flex-direction: column;
  height: calc(100vh - 100% - 1px);
  border-top: 1px solid var(--feds-borderColor);
  background-color: var(--feds-background-nav);
}

[dir = "rtl"] .feds-nav-wrapper {
  left: 20px;
  right: 0;
}

.feds-nav-wrapper--expanded {
  display: flex;
}

.feds-nav {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

/* Promo */
.global-navigation .aside.promobar {
  z-index: 1;
}

/* Product Entry CTA */
.feds-product-entry-cta{
  align-items: center;
}

/* Hamburger toggle */
.feds-toggle {
  width: 60px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  color: var(--feds-color-hamburger);
  cursor: pointer;
  font-size: 20px;
  font-weight: 300;
}

.feds-toggle:before {
  content: "\2630";
}

.feds-toggle[aria-expanded = "true"]:before {
  content: "\2715";
}

/* Brand and Logo blocks */
.feds-brand-container {
  display: flex;
  flex-shrink: 0;
}

.feds-brand,
.feds-logo {
  align-items: center;
  outline-offset: 2px;
  padding: 0 var(--feds-gutter);
  column-gap: 10px;
}

.feds-brand {
  display: flex;
}

.feds-logo {
  display: none;
}

.feds-brand-image,
.feds-logo-image {
  width: 25px;
  flex-shrink: 0;
}

.feds-brand-image.brand-image-only {
  height: 36px;
  width: auto;
}

.feds-brand-image picture, .feds-brand-image img, .feds-brand-image svg,
.feds-logo-image picture, .feds-logo-image img, .feds-logo-image svg {
  width: 100%;
  display: block;
}

.feds-brand-image.brand-image-only picture, .feds-brand-image.brand-image-only img, .feds-brand-image.brand-image-only svg {
  width: auto;
  height: 100%;
}

.feds-brand-label,
.feds-logo-label {
  flex-shrink: 0;
  font-weight: 700;
  font-size: 18px;
  color: var(--feds-color-adobeBrand);
}

/* Popup */
.feds-popup {
  display: none;
  background-color: var(--feds-background-popup);
}

.feds-popup p {
  margin: 0;
}

.feds-popup ul {
  margin: 0;
  padding: 0;
}

/* Nav Links */
.feds-navItem {
  position: relative;
  display: flex;
  align-items: stretch;
  flex-direction: column;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--feds-color-link);
  white-space: nowrap;
}

.feds-topnav--overflowing .feds-navItem {
  font-size: 13px;
}

.feds-navItem--centered {
  padding: 12px;
}

.feds-navItem:not(:last-child) > .feds-navLink {
  border-bottom: 1px solid var(--feds-borderColor-link);
}

/* Item with active dropdown */
.feds-dropdown--active {
  position: relative;
}

.feds-dropdown--active::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: var(--feds-color-link);
  content: "";
  z-index: 1;
}

[dir = "rtl"] .feds-dropdown--active::before {
  right: 0;
  left: initial;
}

.feds-popup .feds-navLink:hover,
.feds-popup .feds-navLink:focus {
  background-color: var(--feds-background-link--hover);
}

.feds-cta-wrapper {
  display: flex;
}

.feds-cta {
  display: flex;
  flex-shrink: 0;
  height: 32px;
  min-width: 72px;
  padding: 0 14px;
  border-width: 2px;
  border-style: solid;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 700;
  line-height: 0;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  overflow: visible;
  white-space: nowrap;
  transition-property: color, border-color, background-color;
  transition-duration: 130ms;
  transition-timing-function: ease-out;
  cursor: pointer;
}

.feds-topnav--overflowing .feds-cta {
  height: 30px;
  padding: 0 10px;
  font-size: 14px;
}

.feds-cta--primary {
  background-color: rgb(59, 99, 251);
  border-color: rgb(59, 99, 251);
  color: rgb(255, 255, 255);
}

.feds-cta--primary:hover,
.feds-cta--primary:focus {
  background-color: rgb(39, 77, 234);
  border-color: rgb(39, 77, 234);
  color: rgb(255, 255, 255);
}

.feds-cta--secondary {
  background-color: rgb(255, 255, 255);
  border-color: rgb(75, 75, 75);
  color: rgb(75, 75, 75);
}

.feds-cta--secondary:hover,
.feds-cta--secondary:focus {
  background-color: rgb(75, 75, 75);
  color: rgb(255, 255, 255);
}

/* Search */
.feds-search {
  order: -1;
}

.feds-search-trigger {
  display: none;
}

.feds-search-close {
  display: none;
  font-size: 20px;
  line-height: 1;
  color: var(--feds-color-link);
}

.feds-search-close:hover {
  color: var(--feds-color-link--hover);
}

.feds-search-close:before {
  content: '\2715';
}

/* Breadcrumbs */
.feds-breadcrumbs-wrapper {
  display: flex;
  order: -1;
  border-bottom: 1px solid var(--feds-borderColor);
}

.feds-breadcrumbs {
  padding: 6px 12px;
  font-size: 12px;
  overflow-y: auto;
}

.feds-breadcrumbs ul {
  padding: 0;
  margin: 0;
  display: flex;
}

.feds-breadcrumbs li {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.feds-breadcrumbs li:last-child:not(:first-child) {
  padding-right: 12px;
}

[dir = "rtl"] .feds-breadcrumbs li:last-child:not(:first-child) {
  padding-right: 0;
  padding-left: 12px;
}

/* Hide all breadcrumbs except the first and last two */
.feds-breadcrumbs li:nth-last-child(n+3):not(:first-child) {
  display: none;
}

/* If first breadcrumb is not third to last, add ellipsis after it */
.feds-breadcrumbs li:first-child:not(:nth-last-child(-n+3)):after {
  content: '/\3000…';
  padding: 0 0 0 12px;
}

[dir = "rtl"] .feds-breadcrumbs li:first-child:not(:nth-last-child(-n+3)):after {
  padding: 0 12px 0 0;
}

.feds-breadcrumbs a,
.feds-breadcrumbs [aria-current] {
  line-height: var(--feds-height-breadcrumbs);
  text-transform: capitalize;
}

.feds-breadcrumbs a {
  display: block;
  color: var(--feds-color-link-breadcrumbs);
}

.feds-breadcrumbs [aria-current] {
  color: var(--feds-color-breadcrumbs--current);
}

.feds-breadcrumbs li:not(:first-of-type)::before {
  padding: 0 12px;
  content: '/';
}

.feds-utilities {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 var(--feds-gutter);
  z-index: 1; /* Useful for UNav dropdowns */
}

.feds-utilities .unav-comp-app-switcher-popover, /* App Switcher */
.feds-utilities .spectrum-Dialog-content, /* Notifications */
.feds-utilities .unav-comp-external-profile, /* Profile */
.feds-utilities .unav-comp-help-popover, /* Help */
.feds-utilities .unc-overlay-container { /* Tooltips */
  transform: translate3d(0,0,0); /* Fix Safari issues w/ position: sticky */
}

/* Profile styles - to be removed after IMS takes over the profile */
.feds-profile {
  display: flex;
  align-items: center;
  font-size: 14px;
  position: relative;
  justify-content: end;
}

/* Profile styles */
.feds-profile-img {
  max-height: 30px;
  max-width: 30px;
  display: block;
}

.feds-profile-button {
  padding: 5px var(--feds-gutter);
  border-radius: var(--feds-radius-utilityIcon);
  border: none;
}

.feds-signIn {
  padding: 11px var(--feds-gutter);
  border-radius: var(--feds-radius-utilityIcon);
  color: var(--feds-color-signIn);
  white-space: nowrap;
  border: none;
  font: inherit;
  text-align: start;
  width: 100%;
}

.feds-signIn:hover {
  color: var(--link-hover-color);
}

.feds-signIn-dropdown {
  position: absolute;
  display: none;
  right: 0;
  top: 100%;
  background-color: var(--feds-background-popup);
  overflow: hidden;
  box-shadow: 0 3px 3px 0 rgb(0 0 0 / 20%);
  line-height: 1.4;
  white-space: nowrap;
  z-index: 1;
  transform: translate3d(0,0,0); /* Fix Safari issues w/ position: sticky */
}

.feds-signIn[aria-expanded = "true"] + .feds-signIn-dropdown {
  display: block;
}

[dir = "rtl"] .feds-signIn-dropdown {
  right: initial;
  left: 0;
}

.feds-signIn-dropdown ul {
  margin: 0;
  padding: 12px 0;
}

.feds-signIn-dropdown li > a,
.feds-signIn-dropdown .feds-signIn {
  display: block;
  color: var(--feds-color-link);
  padding: 6px 32px;
}

.feds-signIn-dropdown li > a:hover,
.feds-signIn-dropdown .feds-signIn:hover {
  color: var(--feds-color-link--hover);
  background-color: var(--feds-background-link--hover);
}

.feds-utilities .unav-comp-profile .secondary-button{
  line-height: inherit;
}

#feds-googleLogin {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1;
  transform: translate3d(0,0,0); /* Fix Safari issues w/ position: sticky */
}

[dir = "rtl"] #feds-googleLogin {
  left: 0;
  right: auto;
}

@media (max-width: 900px) {
  .feds-product-entry-cta {
    display: none;
  }
}

/* Desktop styles */
@media (min-width: 900px) {
  /* General */
  .global-navigation.has-breadcrumbs {
    padding-bottom: var(--feds-height-breadcrumbs);
  }

  .feds-topnav-wrapper {
    border-bottom: 1px solid var(--feds-borderColor);
    box-sizing: content-box;
  }

  .feds-toggle {
    display: none;
  }

  .feds-nav-wrapper {
    position: static;
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    height: unset;
    border-bottom: unset;
    border-top: unset;
    justify-content: space-between;
    background-color: transparent;
  }

  .feds-nav {
    flex-direction: row;
    overflow-y: visible;
    padding-bottom: 0 !important; /* Remove JS-set one */
  }

  /* Promo */
  .global-navigation .aside.promobar {
    display: flex;
    min-height: var(--global-height-navPromo);
  }

  .feds-promo .feds-promo-content {
    padding: 24px 32px;
  }

  /* Brand block */
  .feds-brand-image + .feds-brand-label {
    display: flex;
  }

  .feds-topnav--overflowing .feds-brand-label:nth-child(2) {
    display: none;
  }

  /* Item with active dropdown */
  .feds-dropdown--active::before {
    content: none;
  }

  /* Popup */
  .feds-popup {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    box-shadow: 0 3px 3px 0 rgb(0 0 0 / 20%);
    transform: translate3d(0,0,0); /* Fix Safari issues w/ position: sticky */
    padding: 12px 0;
  }

  [dir = "rtl"] .feds-popup {
    left: auto;
    right: 0;
  }

  .feds-menu-container {
    min-width: 100%;
    padding: 0 12px 40px;
  }

  /* Nav Links */
  .feds-navItem {
    flex-direction: initial;
  }

  .feds-navItem--mobile-only {
    display: none;
  }

  .feds-navItem--megaMenu {
    position: static;
  }

  .feds-navItem--megaMenu .feds-popup {
    right: 0;
    padding: 40px 0 0;
    max-height: calc(100vh - 100%);
    overflow: auto;
    box-sizing: border-box;
  }

  .global-navigation.has-promo .feds-navItem--megaMenu .feds-popup {
    max-height: calc(100vh - 100% - var(--global-height-navPromo));
  }

  [dir = "rtl"] .feds-navItem--megaMenu .feds-popup {
    left: 0;
  }

  .feds-navItem--centered {
    padding: 0 12px;
    align-items: center;
  }

  .feds-topnav--overflowing .feds-navItem--centered {
    padding: 0 8px;
  }

  .feds-navItem--section:only-of-type {
    border-left: 1px solid var(--feds-borderColor);
    border-right: 1px solid var(--feds-borderColor);
  }

  .feds-navItem--section > .feds-navLink {
    padding: 0 20px;
  }

  .feds-navItem--section.feds-navItem--active > .feds-navLink:before {
    margin: 0 20px;
  }

  .feds-topnav--overflowing .feds-navItem--section > .feds-navLink {
    padding: 0 12px;
  }

  .feds-topnav--overflowing .feds-navItem--section.feds-navItem--active > .feds-navLink:before {
    margin: 0 12px;
  }

  .feds-navItem:not(:last-child) > .feds-navLink {
    border-bottom: none;
  }

  /* Search */
  .feds-search {
    display: flex;
    align-items: center;
    order: 1;
  }

  .feds-search-trigger {
    display: flex;
    padding: var(--feds-gutter);
    border: none;
    border-radius: var(--feds-radius-utilityIcon);
    outline-offset: 2px;
  }

  .feds-search-trigger svg {
    width: 20px;
    height: 20px;
    display: block;
  }

  .feds-search-trigger[aria-expanded="true"] svg {
    display: none;
  }

  .feds-search-trigger[aria-expanded="true"] .feds-search-close {
    display: flex;
  }

  .feds-search-trigger svg path {
    fill: var(--feds-color-link);
  }

  .feds-search-trigger:hover svg path {
    fill: var(--feds-color-link--hover);
  }

  /* Breadcrumbs */
  .feds-breadcrumbs-wrapper {
    position: absolute;
    top: calc(100% + 1px); /* Accounting for nav bottom border */
    left: 0;
    right: 0;
    justify-content: center;
    border-bottom: unset;
    border-bottom: 1px solid var(--feds-borderColor);
    background: var(--feds-background-nav);
    transform: translate3d(0,0,0); /* Fix Safari issues w/ position: sticky */
  }

  .feds-breadcrumbs {
    padding: 0 var(--feds-gutter);
    width: 100%;
    max-width: var(--feds-maxWidth-nav);
    box-sizing: border-box;
  }

  .feds-breadcrumbs li:nth-last-child(n+3):not(:first-child) {
    display: flex;
  }

  .feds-breadcrumbs li:first-child:not(:nth-last-child(-n+3)):after {
    content: none;
  }

  .feds-breadcrumbs a:hover {
    text-decoration: underline;
  }
}

/* Small desktop styles */
@media (min-width: 900px) and (max-width: 1199px) {
  .feds-brand-image + .feds-brand-label {
    display: none;
  }
}

/* Desktop styles */
@media (min-width: 1200px) {
  .feds-logo {
    display: flex;
  }

  .feds-topnav--overflowing .feds-logo {
    display: none;
  }

  .feds-menu-container {
    min-width: var(--feds-minWidth-menu);
  }

  .feds-navItem--megaMenu .feds-popup {
    align-items: center;
  }
}
