
/* HANSEN shared navigation, logo and footer */
:root{
  --brand:#183b5b;
  --brand-2:#2b7a78;
  --brand-3:#e09f3e;
  --bg:#f6f1ea;
  --ink:#1f2937;
  --muted:#6b7280;
  --border:rgba(24,59,91,.10);
  --ring:rgba(43,122,120,.18);
}

.container-max{
  max-width:1280px;
}

.navbar-blur,
.hansen-site-nav{
  background:linear-gradient(90deg, rgba(24,59,91,.97), rgba(43,122,120,.94));
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 24px rgba(24,59,91,.10);
}

.hansen-site-nav .container-fluid{
  flex-wrap:nowrap;
}

.hansen-brand-logo{
  height:42px;
  width:42px;
  display:inline-block;
  object-fit:contain;
  border-radius:999px;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.16));
}

.hansen-site-nav .navbar-brand{
  white-space:nowrap;
  flex:0 0 auto;
  font-size:1.05rem !important;
  letter-spacing:.3px;
}

.hansen-site-nav .navbar-collapse{
  min-width:0;
}

.hansen-site-nav .navbar-nav{
  align-items:center;
}

.hansen-site-nav .nav-link{
  color:rgba(255,255,255,.92) !important;
  opacity:1 !important;
  font-family:inherit !important;
  font-size:1rem !important;
  font-weight:500 !important;
  line-height:1.15;
  white-space:nowrap;
  padding-left:.38rem !important;
  padding-right:.38rem !important;
}

.hansen-site-nav .nav-link:hover,
.hansen-site-nav .nav-link:focus{
  color:#fff !important;
}

.hansen-site-nav .btn-outline-brand{
  --bs-btn-color:#fff;
  --bs-btn-border-color:rgba(255,255,255,.38);
  --bs-btn-hover-bg:rgba(255,255,255,.14);
  --bs-btn-hover-border-color:rgba(255,255,255,.50);
  --bs-btn-active-bg:rgba(255,255,255,.18);
  --bs-btn-active-border-color:rgba(255,255,255,.50);
  font-weight:700;
  white-space:nowrap;
  padding:.42rem .78rem;
}

@media (min-width:992px){
  .hansen-site-nav .navbar-collapse{
    display:flex !important;
    flex-wrap:nowrap !important;
  }

  .hansen-site-nav .navbar-nav{
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
  }

  .hansen-site-nav .navbar-actions{
    flex:0 0 auto;
    margin-left:.75rem;
  }
}

@media (min-width:992px) and (max-width:1200px){
  .hansen-site-nav .nav-link{
    font-size:.96rem !important;
    padding-left:.30rem !important;
    padding-right:.30rem !important;
  }

  .hansen-site-nav .navbar-brand{
    font-size:1.05rem !important;
  }

  .hansen-site-nav .btn-outline-brand{
    padding:.38rem .62rem;
    font-size:.94rem;
  }
}

@media (max-width:991.98px){
  .hansen-site-nav .container-fluid{
    flex-wrap:wrap;
  }

  .hansen-site-nav .navbar-nav{
    align-items:flex-start;
    padding-top:.75rem;
  }

  .hansen-site-nav .nav-link{
    font-size:1rem !important;
    padding:.45rem 0 !important;
  }

  .hansen-site-nav .navbar-actions{
    padding-top:.75rem;
  }
}

.site-footer{
  margin-top:3rem;
  background:linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,248,241,.88));
  border-top:1px solid rgba(24,59,91,.08);
}

.site-footer .hansen-footer-title{
  color:var(--brand);
  font-weight:800;
  letter-spacing:.02em;
}

.site-footer .hansen-footer-text{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.45;
}

.site-footer .hansen-footer-contact-card{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(24,59,91,.08);
  border-radius:1rem;
  padding:1rem;
}

.site-footer .hansen-footer-contact-card a,
.site-footer a{
  color:var(--brand-2);
}

.site-footer .hansen-footer-contact-card a:hover,
.site-footer a:hover{
  color:var(--brand);
}

.site-footer .hansen-footer-logo-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.85rem;
  align-items:stretch;
}

.site-footer .hansen-footer-logo-link{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.7rem .9rem;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(24,59,91,.08);
  border-radius:1rem;
  text-decoration:none;
}

.site-footer .hansen-footer-logo{
  max-height:58px !important;
  max-width:100% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 4px 10px rgba(24,59,91,.08));
}

.site-footer .hansen-footer-ukri-logo{
  max-height:64px !important;
}

.site-footer .hansen-footer-ok-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin-top:.75rem;
}

.site-footer .hansen-footer-ok-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--muted);
  opacity:.85;
  text-decoration:none;
}

.site-footer .hansen-footer-ok-logo{
  height:12px !important;
  width:auto !important;
  opacity:.82;
}

.site-footer .hansen-footer-ok-text{
  font-size:.72rem;
  line-height:1;
}

@media (max-width:991.98px){
  .site-footer .hansen-footer-logo-strip{
    grid-template-columns:1fr;
  }

  .site-footer .hansen-footer-logo-link{
    justify-content:flex-start;
  }

  .site-footer .hansen-footer-ok-row{
    justify-content:flex-start;
  }
}


/* HANSEN nav text-only brand refinement */
.hansen-site-nav .navbar-brand{
  gap:0 !important;
  font-family:inherit !important;
  font-size:1.08rem !important;
  font-weight:700 !important;
}

.hansen-site-nav .navbar-brand img[src*="hansen-logo.svg"],
.hansen-site-nav .navbar-brand .hansen-brand-logo{
  display:none !important;
}


/* restore-previous-footer-v1 */
.site-footer{
  margin-top:3rem !important;
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,248,241,.84)) !important;
  border-top:1px solid rgba(24,59,91,.08) !important;
}

.site-footer .hansen-footer-main-row{
  row-gap:1.5rem !important;
}

.site-footer .hansen-footer-logo-strip{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:1.75rem !important;
  justify-content:flex-end !important;
  align-items:center !important;
}

.site-footer .hansen-footer-logo-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:auto !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  text-decoration:none !important;
}

.site-footer .hansen-footer-logo{
  width:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 4px 10px rgba(24,59,91,.08)) !important;
}

.site-footer .hansen-footer-cambridge-logo{
  height:54px !important;
  max-height:54px !important;
  max-width:230px !important;
}

.site-footer .hansen-footer-ukri-logo{
  height:125px !important;
  max-height:125px !important;
  max-width:460px !important;
}

.site-footer .hansen-footer-hope-logo{
  height:82px !important;
  max-height:82px !important;
  max-width:280px !important;
}

.site-footer .hansen-footer-contact-card{
  display:none !important;
}

.site-footer .hansen-footer-ok-row{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  margin-top:.75rem !important;
}

.site-footer .hansen-footer-ok-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:.45rem !important;
  color:var(--muted, #6b7280) !important;
  opacity:.85 !important;
  text-decoration:none !important;
}

.site-footer .hansen-footer-ok-logo{
  height:12px !important;
  width:auto !important;
  opacity:.82 !important;
}

.site-footer .hansen-footer-ok-text{
  font-size:.72rem !important;
  line-height:1 !important;
}

.site-footer a{
  color:var(--brand-2, #2b7a78) !important;
}

.site-footer a:hover{
  color:var(--brand, #183b5b) !important;
}

@media (max-width:991.98px){
  .site-footer .hansen-footer-logo-strip,
  .site-footer .hansen-footer-ok-row{
    justify-content:flex-start !important;
  }
}

@media (max-width:575.98px){
  .site-footer .hansen-footer-logo-strip{
    gap:1.1rem !important;
  }

  .site-footer .hansen-footer-cambridge-logo{
    height:46px !important;
    max-height:46px !important;
  }

  .site-footer .hansen-footer-ukri-logo{
    height:92px !important;
    max-height:92px !important;
    max-width:360px !important;
  }

  .site-footer .hansen-footer-hope-logo{
    height:68px !important;
    max-height:68px !important;
  }
}


/* hansen-nav-bigger-footer-logos-one-row-v1 */

/* Bigger HANSEN text in the top navigation */
.hansen-site-nav .navbar-brand,
.navbar.hansen-site-nav .navbar-brand,
.navbar-blur .navbar-brand {
  font-size: 1.38rem !important;
  font-weight: 800 !important;
  letter-spacing: .45px !important;
  line-height: 1 !important;
  gap: 0 !important;
}

/* Keep only text HANSEN in nav: no symbol/logo beside it */
.hansen-site-nav .navbar-brand img,
.hansen-site-nav .navbar-brand .hansen-brand-logo,
.navbar-blur .navbar-brand img[src*="hansen-logo.svg"],
.navbar-blur .navbar-brand .hansen-brand-logo {
  display: none !important;
}

/* Keep the top nav readable while staying in one line */
.hansen-site-nav .nav-link,
.navbar-blur .nav-link {
  font-size: .98rem !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

/* Footer: force the three institutional logos into one row */
.site-footer .hansen-footer-logo-strip {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 1rem !important;
  width: 100% !important;
}

.site-footer .hansen-footer-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  min-height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.site-footer .hansen-footer-logo,
.site-footer img.footer-logo {
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 4px 10px rgba(24,59,91,.08)) !important;
}

.site-footer .hansen-footer-cambridge-logo {
  height: 52px !important;
  max-height: 52px !important;
  max-width: 180px !important;
}

.site-footer .hansen-footer-ukri-logo,
.site-footer img[src*="ukri-stfc-logo.png"] {
  height: 74px !important;
  max-height: 74px !important;
  max-width: 250px !important;
}

.site-footer .hansen-footer-hope-logo {
  height: 66px !important;
  max-height: 66px !important;
  max-width: 190px !important;
}

@media (max-width: 991.98px) {
  .site-footer .hansen-footer-logo-strip {
    justify-content: flex-start !important;
    gap: .8rem !important;
  }

  .site-footer .hansen-footer-cambridge-logo {
    height: 42px !important;
    max-height: 42px !important;
    max-width: 135px !important;
  }

  .site-footer .hansen-footer-ukri-logo,
  .site-footer img[src*="ukri-stfc-logo.png"] {
    height: 58px !important;
    max-height: 58px !important;
    max-width: 190px !important;
  }

  .site-footer .hansen-footer-hope-logo {
    height: 52px !important;
    max-height: 52px !important;
    max-width: 145px !important;
  }
}

@media (max-width: 575.98px) {
  .site-footer .hansen-footer-logo-strip {
    gap: .45rem !important;
  }

  .site-footer .hansen-footer-cambridge-logo {
    height: 34px !important;
    max-height: 34px !important;
    max-width: 105px !important;
  }

  .site-footer .hansen-footer-ukri-logo,
  .site-footer img[src*="ukri-stfc-logo.png"] {
    height: 44px !important;
    max-height: 44px !important;
    max-width: 145px !important;
  }

  .site-footer .hansen-footer-hope-logo {
    height: 42px !important;
    max-height: 42px !important;
    max-width: 112px !important;
  }
}


/* slightly-increase-cambridge-logo-v1 */
.site-footer .hansen-footer-cambridge-logo,
.site-footer img[src*="cam.png"] {
  height: 62px !important;
  max-height: 62px !important;
  max-width: 215px !important;
  width: auto !important;
  object-fit: contain !important;
}

@media (max-width: 991.98px) {
  .site-footer .hansen-footer-cambridge-logo,
  .site-footer img[src*="cam.png"] {
    height: 50px !important;
    max-height: 50px !important;
    max-width: 165px !important;
  }
}

@media (max-width: 575.98px) {
  .site-footer .hansen-footer-cambridge-logo,
  .site-footer img[src*="cam.png"] {
    height: 40px !important;
    max-height: 40px !important;
    max-width: 130px !important;
  }
}


/* hansen-terms-modal-css-v1 */
.site-footer .hansen-terms-modal-link {
  color: var(--brand-2, #2b7a78) !important;
  font-size: .875rem !important;
}

.site-footer .hansen-terms-modal-link:hover,
.site-footer .hansen-terms-modal-link:focus {
  color: var(--brand, #183b5b) !important;
}

.hansen-terms-modal-body {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,241,.98));
  color: var(--ink, #1f2937);
  font-size: .96rem;
  line-height: 1.55;
}

.hansen-terms-modal-body p,
.hansen-terms-modal-body li {
  text-align: left !important;
}

.hansen-terms-modal-body h3 {
  color: var(--brand, #183b5b);
  font-weight: 800;
}

.hansen-terms-modal-body a {
  color: var(--brand-2, #2b7a78);
  font-weight: 700;
}

.hansen-terms-modal-body a:hover {
  color: var(--brand, #183b5b);
}

.hansen-terms-table {
  border-collapse: separate;
  border-spacing: 0 .45rem;
}

.hansen-terms-table thead th {
  background: #fff7e8;
  color: var(--brand, #183b5b);
  border-bottom: 0;
  font-size: .86rem;
}

.hansen-terms-table tbody td {
  background: #fff;
  border-top: 1px solid rgba(24,59,91,.07);
  border-bottom: 1px solid rgba(24,59,91,.07);
  vertical-align: top;
  font-size: .88rem;
}

.hansen-terms-table tbody td:first-child {
  border-left: 1px solid rgba(24,59,91,.07);
  border-top-left-radius: .75rem;
  border-bottom-left-radius: .75rem;
  font-weight: 700;
  color: var(--brand, #183b5b);
}

.hansen-terms-table tbody td:last-child {
  border-right: 1px solid rgba(24,59,91,.07);
  border-top-right-radius: .75rem;
  border-bottom-right-radius: .75rem;
}


/* fix-contact-footer-clean-layout-v1 */
.site-footer{
  margin-top:3rem !important;
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,248,241,.84)) !important;
  border-top:1px solid rgba(24,59,91,.08) !important;
}

.site-footer .hansen-footer-main-row{
  row-gap:1.5rem !important;
}

.site-footer .hansen-footer-logo-strip{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:1rem !important;
  justify-content:flex-end !important;
  align-items:center !important;
  width:100% !important;
}

.site-footer .hansen-footer-logo-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 1 auto !important;
  min-width:0 !important;
  min-height:auto !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  text-decoration:none !important;
}

.site-footer .hansen-footer-logo,
.site-footer img.footer-logo{
  width:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 4px 10px rgba(24,59,91,.08)) !important;
}

.site-footer .hansen-footer-cambridge-logo,
.site-footer img[src*="cam.png"]{
  height:62px !important;
  max-height:62px !important;
  max-width:215px !important;
}

.site-footer .hansen-footer-ukri-logo,
.site-footer img[src*="ukri-stfc-logo.png"]{
  height:74px !important;
  max-height:74px !important;
  max-width:250px !important;
}

.site-footer .hansen-footer-hope-logo,
.site-footer img[src*="ALM-nbc.png"]{
  height:66px !important;
  max-height:66px !important;
  max-width:190px !important;
}

.site-footer .hansen-footer-ok-row{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  margin-top:.75rem !important;
}

.site-footer .hansen-footer-ok-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:.45rem !important;
  color:var(--muted, #6b7280) !important;
  opacity:.85 !important;
  text-decoration:none !important;
}

.site-footer .hansen-footer-ok-logo{
  height:12px !important;
  width:auto !important;
  opacity:.82 !important;
}

.site-footer .hansen-footer-ok-text{
  font-size:.72rem !important;
  line-height:1 !important;
}

.site-footer a{
  color:var(--brand-2, #2b7a78) !important;
}

.site-footer a:hover{
  color:var(--brand, #183b5b) !important;
}

@media (max-width:991.98px){
  .site-footer .hansen-footer-logo-strip,
  .site-footer .hansen-footer-ok-row{
    justify-content:flex-start !important;
  }

  .site-footer .hansen-footer-cambridge-logo,
  .site-footer img[src*="cam.png"]{
    height:50px !important;
    max-height:50px !important;
    max-width:165px !important;
  }

  .site-footer .hansen-footer-ukri-logo,
  .site-footer img[src*="ukri-stfc-logo.png"]{
    height:58px !important;
    max-height:58px !important;
    max-width:190px !important;
  }

  .site-footer .hansen-footer-hope-logo,
  .site-footer img[src*="ALM-nbc.png"]{
    height:52px !important;
    max-height:52px !important;
    max-width:145px !important;
  }
}

@media (max-width:575.98px){
  .site-footer .hansen-footer-logo-strip{
    gap:.45rem !important;
  }

  .site-footer .hansen-footer-cambridge-logo,
  .site-footer img[src*="cam.png"]{
    height:40px !important;
    max-height:40px !important;
    max-width:130px !important;
  }

  .site-footer .hansen-footer-ukri-logo,
  .site-footer img[src*="ukri-stfc-logo.png"]{
    height:44px !important;
    max-height:44px !important;
    max-width:145px !important;
  }

  .site-footer .hansen-footer-hope-logo,
  .site-footer img[src*="ALM-nbc.png"]{
    height:42px !important;
    max-height:42px !important;
    max-width:112px !important;
  }
}


/* start-query-not-bold-v1 */
.hansen-site-nav .navbar-actions .btn,
.hansen-site-nav .navbar-actions .btn-outline-brand,
.navbar-blur .navbar-actions .btn,
.navbar-blur .navbar-actions .btn-outline-brand,
.hansen-site-nav a[href="/home#query"].btn,
.navbar-blur a[href="/home#query"].btn {
  font-weight: 400 !important;
}


/* start-query-larger-not-bold-v1 */
.hansen-site-nav .navbar-actions .btn,
.hansen-site-nav .navbar-actions .btn-outline-brand,
.navbar-blur .navbar-actions .btn,
.navbar-blur .navbar-actions .btn-outline-brand,
.hansen-site-nav a[href="/home#query"].btn,
.navbar-blur a[href="/home#query"].btn {
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  padding: .45rem .82rem !important;
}


/* query-examples-inline-top-right-v1 */
#query .query-card {
  position: relative !important;
}

#query .hansen-query-examples-card {
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-align: right !important;
}

#query .hansen-query-example-chips {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .28rem !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
  scrollbar-width: thin;
}

#query .hansen-query-examples-label {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  color: var(--brand, #183b5b) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  margin-right: .08rem !important;
  white-space: nowrap !important;
}

#query .hansen-query-example-chip {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-height: 1.25rem !important;
  padding: .12rem .34rem !important;
  border-radius: .45rem !important;
  background: rgba(255, 247, 232, .76) !important;
  border: 1px solid rgba(24, 59, 91, .10) !important;
  color: var(--brand, #183b5b) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

#query .hansen-query-example-chip:hover {
  background: #fff !important;
  border-color: rgba(43,122,120,.24) !important;
  color: var(--brand-2, #2b7a78) !important;
}

#query .hansen-query-example-chip-muted {
  color: #475569 !important;
  font-weight: 650 !important;
}

@media (min-width: 992px) {
  #query .hansen-query-header-row {
    position: relative !important;
    min-height: 3.2rem !important;
  }

  #query .hansen-query-examples-col {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-width: 58% !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    padding-top: 0 !important;
    z-index: 3 !important;
  }
}

@media (max-width: 991.98px) {
  #query .hansen-query-examples-col {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: flex-start !important;
  }

  #query .hansen-query-examples-card {
    text-align: left !important;
  }

  #query .hansen-query-example-chips {
    justify-content: flex-start !important;
  }
}
