/* Bootstrap provides the grid and dropdown behavior; these rules retain the exported design. */
@font-face { font-family: museo-sans; src: url("museo-sans.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: social-icons; src: url("social-icons.woff") format("woff"); font-display: block; }
@font-face { font-family: solid-icons; src: url("solid-icons.woff2") format("woff2"); font-display: block; }
:root { --navy: #0a1831; --red: #a31d36; --footer-red: #962b39; }
html { scroll-behavior: smooth; }
body { margin: 0; font: 300 18px/1.72 museo-sans, Arial, Helvetica, sans-serif; letter-spacing: .27px; color: #505656; background: #fff; }
a { color: var(--red); text-decoration: underline dotted; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: #791026; }
a:focus-visible, button:focus-visible { outline: 2px solid #a31d36; outline-offset: 4px; }
.skip-link { position: absolute; top: -100px; left: 12px; z-index: 1100; background: white; padding: 8px 16px; }
.skip-link:focus { top: 8px; }
.university-nav { height: 48px; padding: 0 30px; font-size: 12px; line-height: 20.64px; letter-spacing: .18px; }
.university-nav .nav { gap: 20px; }
.university-nav a { color: var(--navy); text-decoration: none; }
.university-nav .nav-link { padding: 0; }
.site-header { height: 120px; padding: 0 30px; background: var(--navy); color: white; position: relative; }
.menu-toggle { display: none; width: 60px; height: 44px; padding: 12px 20px; border: 0; border-radius: 0; background: white; color: #141617; font: 20px/20px solid-icons; }
@media (min-width: 1025px) { .center-menu.collapse { display: block; } }
.site-brand { color: white; text-decoration: none; flex-shrink: 0; }
.site-brand:hover { color: white; }
.site-brand img { display: block; width: 217px; height: 57px; }
.brand-name { margin-top: 10px; padding-bottom: 5px; font-size: 14px; line-height: 14px; white-space: nowrap; }
.brand-name strong { font-weight: 700; }
.center-nav { gap: 30px; align-items: stretch; justify-content: flex-end; }
.center-nav > li { position: relative; }
.center-nav .nav-link { display: flex; align-items: center; height: 120px; padding: 0; border: 0; border-bottom: 4px solid transparent; border-radius: 0; background: none; color: white; font: 700 16px/19.2px museo-sans, Arial, sans-serif; letter-spacing: inherit; text-align: center; text-decoration: none; }
.center-nav .original-active > .nav-link { border-bottom-color: white; }
.center-nav .nav-link:hover { border-bottom-color: white; }
.center-nav .dropdown-toggle::after { width: 6px; height: 6px; margin-left: 12.28px; border: solid white; border-width: 0 1px 1px 0; transform: rotate(45deg); }
.dropdown-menu { border: 0; border-radius: 0; min-width: 240px; background: var(--navy); padding: 8px 0; box-shadow: 0 3px 8px #0003; }
.dropdown-item { padding: 12px 20px; color: white; white-space: normal; font-size: 14px; line-height: 1.4; text-decoration: none; }
.dropdown-item:focus, .dropdown-item:hover { background: #26364e; color: white; }
.title-banner { height: 200px; border-block: 1px solid #0a1831; background: #5c7492 url("title-banner.png") center/cover no-repeat border-box; }
.title-banner h1 { margin: -8px 0 0; color: white; font-size: 54px; font-weight: 300; letter-spacing: -.015em; line-height: 1.72; text-align: center; }
.content-container { max-width: 1260px; padding: 50px 30px 60px; }
.introduction { margin: 0 0 40px; }
.book-grid { --bs-gutter-x: calc((min(100vw, 1260px) - 60px) * .04); }
.book { padding-bottom: 35px; }
.fbp-embed { display: block; max-width: 100%; }
.book h2 { margin: 10px 0 0; font-size: 24px; font-weight: 300; letter-spacing: -.015em; line-height: 28.8px; text-align: center; color: var(--navy); }
div[data-fbp-lightbox="no"] { margin-inline: auto; }
.resource-notice { padding: 64px 40px 84px; border-top: 1px solid var(--navy); color: var(--navy); font-size: 24px; line-height: 29px; text-align: center; }
.resource-notice p { margin: 0; }
.footer-links { padding: 30px 15px 20px; background: #e8e8e7; overflow: clip; }
.footer-columns { --bs-gutter-x: calc((100vw - 30px) * .04); }
.footer-column { font-size: 14px; line-height: 23.8px; color: var(--navy); padding-bottom: 20px; }
.footer-logo { display: block; width: 96.18%; height: auto; margin: 0 0 70px; }
.footer-column h3 { margin: 10px 0; color: #0d182f; font-size: 15px; line-height: 15px; font-weight: 700; letter-spacing: -.015em; }
.footer-column a { color: var(--red); }
.footer-column ul { list-style: none; padding: 0; margin: 0 0 30px; }
.footer-column > ul:last-child { margin-bottom: 20px; }
.footer-column li { position: relative; padding-left: 20px; }
.footer-column li::before { position: absolute; left: 6px; font-family: solid-icons; font-size: 12px; content: "\f0da"; color: #0d182f; }
.footer-column .contact-details { margin-top: -5px; margin-bottom: 10px; font-size: 15px; line-height: 19.5px; }
.contact-details li { padding: 0 0 5px 25px; margin-bottom: 0; }
.contact-details li::before { left: 0; font-size: 15px; }
.contact-details .address::before { content: "\f015"; }
.contact-details .telephone::before { content: "\f879"; }
.social-links { display: flex; gap: 10px; margin-top: -10px; margin-bottom: 20px; }
.social-links a { display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; background: #0d182f; color: white; border-radius: 50%; font: 15px/1 social-icons; text-decoration: none; }
.social-links a:hover { color: var(--red); background: white; }
.social-facebook::before { content: "\e604"; }
.social-twitter::before { content: "\e90b"; }
.social-instagram::before { content: "\ea92"; }
.social-youtube::before { content: "\e622"; }
.social-linkedin::before { content: "\e60f"; }
.legal-bar, .copyright-bar { padding: 15px; font-size: 13px; font-weight: 300; line-height: 14.3px; color: white; }
.legal-bar { background: var(--red); }
.legal-bar a { color: white; text-decoration: none; }
.copyright-bar { background: var(--navy); }
.back-to-top { position: fixed; bottom: 0; right: 30px; width: 48px; text-align: center; color: white; background: #333b; text-decoration: none; opacity: 0; pointer-events: none; }
.back-to-top.visible { opacity: 1; pointer-events: auto; }
@media (max-width: 1024px) {
  .site-header { height: 117px; padding: 30px; }
  .menu-toggle { display: block; flex-shrink: 0; }
  .center-menu { position: absolute; top: 100%; right: 0; width: 100%; z-index: 1000; background: var(--navy); }
  .center-nav { display: block; }
  .center-nav .nav-link { height: auto; min-height: 56px; width: 100%; padding: 15px 30px; border-bottom: 1px solid #ffffff20; justify-content: space-between; text-align: left; }
  .center-nav .dropdown-menu { position: static !important; transform: none !important; box-shadow: none; }
  .brand-name { margin-top: 8px; padding-bottom: 7px; }
  .title-banner h1 { line-height: 100px; }
  .footer-links { padding-top: 80px; padding-bottom: 0; }
  .footer-column-1 .footer-logo { width: calc(100% - 20px); }
  .footer-column-1 li { max-width: calc(100% - 20px); }
  .social-links { flex-wrap: wrap; }
}
@media (min-width: 641px) and (max-width: 767.98px) {
  .book { width: 33.333333%; }
  .footer-column { width: 25%; }
}
@media (max-width: 640px) {
  .university-nav { display: none !important; }
  .site-header { height: auto; min-height: 104px; }
  .site-brand { max-width: calc(100% - 60px); }
  .site-brand img { width: min(217px, 100%); height: auto; flex-shrink: 1; }
  .brand-name { margin-top: 8px; font-size: 14px; line-height: 14px; }
  .title-banner h1 { margin: 12px 0 0; font-size: 34px; line-height: 40px; }
  .content-container { padding-inline: 30px; }
  .book-grid { --bs-gutter-x: 0; }
  .book { padding-bottom: 30px; }
  .book:last-child { padding-bottom: 30px; }
  .resource-notice { padding: 64px 40px 84px; }
  .footer-links { padding: 30px 30px 0; }
  .footer-columns { --bs-gutter-x: 0; }
  .footer-column { padding-bottom: 0; }
  .footer-column:last-child { padding-bottom: 20px; }
  .footer-column-1 .footer-logo { width: 100%; max-width: 473px; margin: 0 auto 40px; }
  .footer-column-1 li { max-width: 100%; }
  .footer-column h3 { font-size: 22px; line-height: 22px; }
  .footer-column ul { margin-bottom: 30px; }
  .footer-column .contact-details { margin-bottom: 10px; }
}
@media (max-width: 480px) {
  .site-brand img { width: calc((100vw - 60px) * .35384); padding-top: 3px; }
  .brand-name { margin: 0; padding-bottom: 0; font-size: 12px; line-height: 12px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* Match the older dropdown appearance */
.center-nav .dropdown-menu {
  width: 217px;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid #000;
  border-radius: 0;
  box-shadow: none;
}

.center-nav .dropdown-item {
  padding: 12px 20px;
  color: #212934;
  background: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  white-space: normal;
  text-align: left;
  text-decoration: none;
}

.center-nav .dropdown-menu > li + li {
  border-top: 1px solid #e0e0e0;
}

.center-nav .dropdown-item:hover,
.center-nav .dropdown-item:focus {
  color: #212934;
  background: #f2f2f2;
}

/* Keep the white underline beneath an open dropdown */
.center-nav .dropdown.show > .nav-link {
  border-bottom-color: #fff;
}

/* Desktop alignment */
@media (min-width: 1025px) {
  .center-nav .dropdown > .dropdown-menu {
    inset: 100% auto auto 0 !important;
    transform: none !important;
  }

  /* Keep About inside the right edge of the header */
  .center-nav .dropdown:last-child > .dropdown-menu {
    inset: 100% 0 auto auto !important;
  }
}

/* Let submenu rows fill the mobile navigation */
@media (max-width: 1024px) {
  .center-nav .dropdown-menu {
    width: 100%;
  }
}