/* Shared public-site readability, top banner, navigation, and site search. */
:root {
  --review-navy: #071f48;
  --review-navy-deep: #041633;
  --review-teal: #008c99;
  --review-gold: #efb52f;
  --review-line: #d8e1ec;
}

h1, h2, h3,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.h1, .h2, .h3 { letter-spacing: -.015em; }

.navbar-top { padding: .7rem 0; }
.navbar-top__row { align-items: center; flex-wrap: nowrap; min-height: 104px; }
.navbar-top__brand { flex: 0 0 38%; }
.navbar-top__brand .navbar-brand { display: inline-flex; padding: 0; width: 100%; }
.navbar-top .collaboration-logo {
  height: 90px;
  max-width: 370px;
  object-fit: cover;
  object-position: left center;
  width: 100%;
}
.navbar-top__partners { flex: 1 1 auto; }
.navbar-top__partners > .col { display: flex; justify-content: center; padding-inline: .4rem; }
.navbar-top__partners a {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0;
  padding: .3rem;
  width: 100%;
}
.navbar-top__partners .partner-logo { max-width: 185px; object-fit: contain; width: auto; }
.navbar-top__partners .partner-logo--siriraj { height: 70px; }
.navbar-top__partners .partner-logo--nursing { height: 74px; }
.navbar-top__partners .partner-logo--jhu { height: 108px; }

.site-search-trigger {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--review-navy);
  display: inline-flex;
  flex: 0 0 44px;
  font-size: 1.55rem;
  height: 44px;
  justify-content: center;
  padding: 0;
  transition: background-color .2s ease, color .2s ease;
  width: 44px;
}
.site-search-trigger:hover,
.site-search-trigger:focus-visible { background: #eef5f7; color: var(--review-teal); outline: none; }
.site-search-trigger:focus-visible { box-shadow: 0 0 0 3px rgba(0, 140, 153, .2); }
.site-search-trigger--desktop { margin-left: .25rem; }
.site-search-divider { background: var(--review-line); display: block; height: 24px; margin: 0 .35rem 0 .2rem; width: 1px; }
.mobile-member-actions { border-top: 1px solid var(--review-line); margin-top: .35rem; padding-top: .35rem; }

.site-search-panel { border: 0; max-width: 100%; width: 500px !important; }
.site-search-panel__header {
  align-items: flex-start;
  background: linear-gradient(135deg, var(--review-navy-deep), #0b3267);
  color: #fff;
  min-height: 142px;
  padding: 2rem 2rem 1.7rem;
}
.site-search-panel__eyebrow {
  color: var(--review-gold);
  display: block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  margin-bottom: .55rem;
}
.site-search-panel__header .offcanvas-title { color: #fff; font-size: 1.8rem; }
.site-search-panel__body { padding: 1.7rem 2rem 2rem; }
.site-search-panel__intro { color: #5b6b83; line-height: 1.65; margin-bottom: 1.25rem; }
.site-search-drawer__input {
  align-items: center;
  border: 1px solid #afbdcf;
  display: flex;
  min-height: 58px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.site-search-drawer__input:focus-within { border-color: var(--review-teal); box-shadow: 0 0 0 3px rgba(0, 140, 153, .13); }
.site-search-drawer__input > .bx-search { color: var(--review-teal); flex: 0 0 auto; font-size: 1.45rem; margin-left: 1rem; }
.site-search-drawer__input input {
  background: transparent;
  border: 0;
  color: var(--review-navy);
  flex: 1 1 auto;
  font-size: 1rem;
  min-width: 0;
  outline: 0;
  padding: .9rem .75rem;
}
.site-search-drawer__input button {
  align-items: center;
  background: transparent;
  border: 0;
  color: #65758b;
  display: inline-flex;
  flex: 0 0 46px;
  font-size: 1.45rem;
  height: 46px;
  justify-content: center;
  margin-right: .35rem;
}
.site-search-drawer__status { color: #6b7890; font-size: .84rem; min-height: 2.8rem; padding: 1rem 0 .65rem; }
.site-search-drawer__results { display: grid; gap: .7rem; }
.site-search-result {
  align-items: center;
  border: 1px solid #e0e7ef;
  color: inherit;
  display: grid;
  gap: .9rem;
  grid-template-columns: 72px minmax(0, 1fr) 24px;
  padding: .72rem;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.site-search-result:hover,
.site-search-result:focus-visible {
  border-color: rgba(0, 140, 153, .55);
  box-shadow: 0 8px 24px rgba(7, 31, 72, .09);
  color: inherit;
  outline: 0;
  transform: translateY(-1px);
}
.site-search-result__media {
  align-items: center;
  background: #edf4f7;
  display: flex;
  height: 72px;
  justify-content: center;
  overflow: hidden;
  width: 72px;
}
.site-search-result__media img { height: 100%; object-fit: cover; width: 100%; }
.site-search-result__media .bx { color: var(--review-teal); font-size: 1.7rem; }
.site-search-result__type {
  color: var(--review-teal);
  display: block;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .11em;
  margin-bottom: .22rem;
  text-transform: uppercase;
}
.site-search-result h3 {
  color: var(--review-navy);
  display: -webkit-box;
  font-size: .98rem;
  line-height: 1.35;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.site-search-result p {
  color: #66768e;
  display: -webkit-box;
  font-size: .78rem;
  line-height: 1.4;
  margin: .25rem 0 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.site-search-result > .bx { color: var(--review-navy); font-size: 1.25rem; }
.site-search-view-all {
  align-items: center;
  border-bottom: 1px solid var(--review-line);
  color: var(--review-navy);
  display: inline-flex;
  font-size: .9rem;
  font-weight: 750;
  gap: .35rem;
  margin-top: 1.25rem;
  padding-bottom: .25rem;
  text-decoration: none;
}
.site-search-view-all:hover { border-color: var(--review-teal); color: var(--review-teal); }

@media (max-width: 991.98px) {
  .navbar-top { background-image: none !important; padding: .4rem 0; }
  .navbar-top .container { max-width: none; padding-inline: 1rem; }
  .navbar-top__row { margin: 0; min-height: 64px; }
  .navbar-top__brand { flex: 1 1 auto; padding: 0; }
  .navbar-top .collaboration-logo { height: 58px; max-width: 250px; width: 100%; }
  .navbar-top__partners { flex: 0 0 auto; gap: .2rem; padding: 0; }
  .navbar-top__partners > .col { padding: 0; width: auto; }
  .navbar-top__partners a { padding: .15rem .22rem; }
  .navbar-top__partners .partner-logo { max-width: 78px; }
  .navbar-top__partners .partner-logo--siriraj { height: 30px; }
  .navbar-top__partners .partner-logo--nursing { height: 31px; }
  .navbar-top__partners .partner-logo--jhu { height: 48px; }
  #navbarNav .offcanvas-body { display: flex; flex-direction: column; }
  #navbarNav .navbar-nav { width: 100%; }
  #navbarNav .nav-link { font-size: 1rem; padding: .85rem .25rem; }
  header .navbar > .container { flex-wrap: nowrap; }
}

@media (max-width: 575.98px) {
  .navbar-top .container { padding-inline: .85rem; }
  .navbar-top__brand { flex: 1 1 100%; }
  .navbar-top .collaboration-logo { height: 60px; max-width: 270px; }
  .navbar-top__partners { display: none !important; }
  header .navbar > .container { padding-inline: .9rem; }
  header #logo-nd { display: none !important; }
  .site-search-panel { width: 100% !important; }
  .site-search-panel__header { min-height: 124px; padding: 1.5rem 1.25rem 1.25rem; }
  .site-search-panel__header .offcanvas-title { font-size: 1.55rem; }
  .site-search-panel__body { padding: 1.25rem; }
  .site-search-result { grid-template-columns: 62px minmax(0, 1fr) 20px; gap: .7rem; }
  .site-search-result__media { height: 62px; width: 62px; }
}
