@charset "utf-8";

/* Hide breadcrumbs on pages that manage their own header chrome */
body:has(#calendar-admin-root, .newsroom, .member-profile.presentation) .breadcrumbs {
  display: none !important;
}

/* Required so absolute-positioned breadcrumbs offset correctly */
body {
  position: relative;
}

/* Top offset adjusts based on which nav layers are open */
body:has(.nav--wrapper.open):has(.nav--secondary) .breadcrumbs {
  top: 122px;
}

body:has(:not(.nav--wrapper.open), .nav--secondary) .breadcrumbs {
  top: 72px;
}

body:has(.nav--wrapper.open) .breadcrumbs {
  top: 48px;
}

.breadcrumbs {
  align-items: center;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--float-close);
  color: var(--blue-8);
  flex-wrap: wrap;
  font-size: 1.5rem;
  font-weight: 500;
  justify-content: center;
  left: 0;
  margin: 0;
  min-height: 40px;
  overflow-x: clip;
  position: absolute;
  right: 0;
  text-transform: uppercase;
  top: 48px;
  width: 100%;


  &,
  & * {
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
  }

  & .links-wrapper {
    align-items: center;
    flex-direction: row;
    max-width: var(--max-web);
    padding: 0 2.5rem;
    row-gap: .5rem;
    width: 100%;
  }

  & .breadcrumbs-start {
    align-items: center;
    flex-direction: row;
    flex-shrink: 0;
  }

  & .breadcrumbs-end {
    align-items: center;
    flex: 1;
    flex-direction: row;
    min-width: 0;
  }

  & :is(a, .current) {
    align-items: center;
    column-gap: .5rem;
    font-size: 13px;
    font-weight: 600;
    height: inherit;
    letter-spacing: 0.5px;
    margin: 0;
    padding: 0.5rem;
    text-transform: capitalize;
    white-space: nowrap;
    width: max-content;
  }

  & a {
    &:focus {
      outline: 1px dotted #333;
    }

    &:hover {
      color: var(--blue-4);
      text-decoration: underline;
      text-decoration-style: dotted;
    }
  }

  & svg {
    color: var(--blue-9);
    flex-shrink: 0;
    height: 18px;
    margin: 0;
    padding: 0;
    stroke-width: 1.5;
    width: 18px;
  }
}

.condensed-breadcrumbs {
  position: relative;
}

.condensed-breadcrumbs-list {
  align-items: center;
  display: flex;
}

.condensed-breadcrumbs-trigger {
  display: none;
}

@media screen and (max-width: 480px) {
  .breadcrumbs .breadcrumbs-end {
    align-items: center;
    align-self: stretch;
    overflow-x: auto;
    overflow-y: hidden;
  }
}

@media screen and (max-width: 600px) {
  #home-label {
    display: none;
  }

  .breadcrumbs .links-wrapper {
    padding: 0 1rem;
    flex-wrap: nowrap;
  }

  .condensed-breadcrumbs-list {
    align-items: flex-start;
    background: white;
    border: 1px solid #bbb;
    display: none;
    flex-direction: column;
    padding: .5rem;
    position: absolute;
    top: 100%;

    & svg {
      display: none;
    }

    /* Tooltip arrow — ::after is the white fill, ::before is the #bbb border layer behind it */
    &::after {
      background: white;
      bottom: 100%;
      clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
      content: "";
      height: .5rem;
      left: .25rem;
      position: absolute;
      width: 1.25rem;
    }

    &::before {
      background-color: #bbb;
      bottom: calc(100% + 1px);
      clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
      content: "";
      height: .5rem;
      left: .25rem;
      position: absolute;
      width: 1.25rem;
    }
  }

  .condensed-breadcrumbs-trigger {
    align-items: center;
    display: flex;
    height: 44px;
    justify-content: center;
    width: 44px;
  }

  .condensed-breadcrumbs[data-open] .condensed-breadcrumbs-list {
    display: flex;
  }

  .condensed-breadcrumbs[data-open] .condensed-breadcrumbs-trigger {
    background: var(--blue-2);
  }
}
