/* ========================================
   SICI DRUPAL 10 COMPLETE CUSTOM CSS
   REFRESHED VERSION WITH MEMBERS UPDATES
   Last Updated: October 30, 2026
   - Mobile menu: replaced 3 conflicting Superfish blocks with one tested block
   - Mobile menu: +/− expand buttons; parent labels link to their pages
   - Mobile menu: fixed submenu text hidden on hover (floated submenu overlap)
   - Executive Council: mobile stacked layout, equal photo sizes
   - Executive Council member pages: photo-left layout, bio fonts/lists cleaned
   - Homepage banner: fluid + centred on all screens, full width on tablets
   - Homepage mobile/tablet order: banner > welcome note > latest news
   - Homepage tabs (Engage/Annual Reports/Reports): extra space + red debug border removed
   - Latest News box: extra line/strip removed, height matched to banner (desktop)
   - News Archive page: full list, no scroll box, title aligned
   - Homepage: tightened spacing between sections
   ======================================== */

/* ========== HEADER TOP - BLACK BACKGROUND ========== */

#headertop {
  background: #000000 !important;
  padding: 10px 0 !important;
  margin: 0 !important;
}

#headertop .container-fluid,
#headertop .row,
#headertop .headertop-area,
#headertop .region-headertop {
  background: transparent !important;
}

/* Hide empty header */
header#header.header-container,
.dialog-off-canvas-main-canvas > header#header {
  display: none !important;
}

/* ========== HEADER TOP - HORIZONTAL LAYOUT ========== */

#headertop .container-fluid,
#headertop > .container-fluid {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 10px 20px !important;
  width: 100% !important;
}

#headertop .row {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
}

#headertop .col-md-12 {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 !important;
}

#headertop .headertop-area {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
}

#headertop .region-headertop,
#headertop section.region-headertop {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  gap: 15px !important;
  flex-wrap: nowrap !important;
}

#headertop .region-headertop > .block,
#headertop .region-headertop > div,
#headertop .region-headertop > section {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

#headertop .region-headertop > .block:first-child,
#headertop .region-headertop > div:first-child {
  margin-right: auto !important;
}

#headertop .block .content,
#headertop .block-block-content .content {
  display: inline-flex !important;
  align-items: center !important;
}

/* ========== HEADER TOP BUTTONS ========== */

#headertop .header-top-buttons,
#headertop .field__items,
#headertop p:has(a.header-top-button) {
  display: inline-flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
}

#headertop .header-top-button,
.header-top-button {
  display: inline-block !important;
  padding: 10px 20px !important;
  background: #C23C3C !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: bold !important;
  font-size: 13px !important;
  border-radius: 4px !important;
  border: none !important;
  transition: background 0.3s ease !important;
}

#headertop .header-top-button:hover,
.header-top-button:hover {
  background: #a52a2a !important;
  color: #fff !important;
  text-decoration: none !important;
}

#headertop .block-block-content,
#block-scholarly-headertopbuttons {
  background: transparent !important;
}

/* ========== SOCIAL ICONS - HEADER TOP ========== */

#headertop ul.icons-list {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#headertop ul.icons-list li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#headertop ul.icons-list li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 2px solid #fff !important;
  background: transparent !important;
  color: #fff !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
}

#headertop ul.icons-list li a:hover {
  background: #C23C3C !important;
  border-color: #C23C3C !important;
}

#headertop ul.icons-list li a i,
#headertop ul.icons-list li a .fa {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: #fff !important;
}

#headertop #google_translate_element,
#headertop .goog-te-gadget {
  display: inline-flex !important;
  align-items: center !important;
}

/* ========== HEADER SPACING ========== */

#header-top {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#menu-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.region-header,
#block-scholarly-site-branding {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.region-banner,
.region-slideshow {
  margin-top: 0 !important;
}

/* ========== QUICKTABS - HOMEPAGE ========== */

#quicktabs-homepage_tabs .item-list ul.quicktabs-tabs {
  display: flex !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#quicktabs-homepage_tabs ul.quicktabs-tabs li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#quicktabs-homepage_tabs ul.quicktabs-tabs li a {
  display: block !important;
  padding: 15px 30px !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  margin-right: 3px !important;
}

#quicktabs-homepage_tabs ul.quicktabs-tabs li:first-child a {
  background: #8B0000 !important;
}

#quicktabs-homepage_tabs ul.quicktabs-tabs li:nth-child(2) a {
  background: #555 !important;
}

#quicktabs-homepage_tabs ul.quicktabs-tabs li:nth-child(3) a {
  background: #333 !important;
}

#quicktabs-homepage_tabs .quicktabs-main {
  padding: 20px !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
}

/* ========== QUICKTABS - EX COUNCIL ========== */

#quicktabs-ex_council {
  margin: 20px 0 !important;
}

#quicktabs-ex_council > .item-list,
#quicktabs-ex_council .item-list {
  display: block !important;
  height: auto !important;
  margin: 0 0 15px 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}

#quicktabs-ex_council .item-list ul.quicktabs-tabs,
#quicktabs-ex_council ul.quicktabs-tabs {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 5px !important;
  border: none !important;
  background: none !important;
}

#quicktabs-ex_council ul.quicktabs-tabs li {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  list-style: none !important;
}

#quicktabs-ex_council ul.quicktabs-tabs li a {
  display: inline-block !important;
  padding: 14px 24px !important;
  margin: 0 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

#quicktabs-ex_council ul.quicktabs-tabs li:first-child a,
#quicktabs-ex_council ul.quicktabs-tabs li.active a {
  background: #8B0000 !important;
}

#quicktabs-ex_council ul.quicktabs-tabs li:nth-child(2) a {
  background: #555555 !important;
}

#quicktabs-ex_council ul.quicktabs-tabs li:nth-child(3) a {
  background: #333333 !important;
}

#quicktabs-ex_council .quicktabs-main {
  padding: 15px 0 0 0 !important;
  background: transparent !important;
  border: none !important;
}

/* ========== EX COUNCIL - PHOTO GRID ========== */

#quicktabs-ex_council .view-content {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-x: auto !important;
}

#quicktabs-ex_council .view-content .views-row {
  width: 130px !important;
  min-width: 130px !important;
  height: 200px !important;
  position: relative !important;
  overflow: hidden !important;
  flex: 0 0 130px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: #f5f5f5 !important;
}

#quicktabs-ex_council .views-row img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

#quicktabs-ex_council .views-row .views-field-title {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.7) 70%, transparent 100%) !important;
  padding: 40px 8px 8px 8px !important;
  z-index: 10 !important;
}

#quicktabs-ex_council .views-row .views-field-title a {
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

#quicktabs-ex_council .views-row:hover .views-field-title {
  background: linear-gradient(to top, rgba(139,0,0,0.95) 0%, rgba(139,0,0,0.8) 70%, transparent 100%) !important;
}

#quicktabs-ex_council .more-link a {
  color: #8B0000 !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

/* ========================================
   MEMBERS UPDATES / MEMBERS SPACE
   ======================================== */

.block-views-blockmembers-updates-block-1 h2,
.view-members-updates > h2,
[class*="members-updates"] h2,
[class*="members-space"] h2 {
  font-size: 26px !important;
  font-weight: bold !important;
  color: #333 !important;
  margin: 0 0 25px 0 !important;
  padding: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  border: none !important;
  background: none !important;
}

.view-members-updates,
.view-members-space,
.block-views-blockmembers-updates-block-1 .view,
[class*="block-views-blockmembers"] .view {
  margin: 0 !important;
  padding: 0 !important;
}

.view-members-updates .view-content,
.view-members-space .view-content,
.block-views-blockmembers-updates-block-1 .view-content {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.view-members-updates .views-row,
.view-members-space .views-row,
.block-views-blockmembers-updates-block-1 .views-row,
.view-members-updates .view-content > div,
.view-members-space .view-content > div {
  padding: 18px 0 !important;
  margin: 0 !important;
  border-bottom: 1px dashed #ccc !important;
  list-style: none !important;
  background: transparent !important;
}

.view-members-updates .views-row:last-child,
.view-members-space .views-row:last-child,
.block-views-blockmembers-updates-block-1 .views-row:last-child {
  border-bottom: none !important;
}

.view-members-updates .views-field-title,
.view-members-space .views-field-title,
.block-views-blockmembers-updates-block-1 .views-field-title,
.view-members-updates .views-field-nothing,
.view-members-space .views-field-nothing {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #333 !important;
  font-weight: 600 !important;
}

.view-members-updates .views-row a,
.view-members-space .views-row a,
.block-views-blockmembers-updates-block-1 .views-row a,
.view-members-updates a,
.view-members-space a {
  color: #333 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.view-members-updates .views-row a:hover,
.view-members-space .views-row a:hover,
.block-views-blockmembers-updates-block-1 .views-row a:hover {
  color: #8B0000 !important;
  text-decoration: none !important;
}

.view-members-updates .views-field a,
.view-members-space .views-field a,
.block-views-blockmembers-updates-block-1 .views-field a {
  color: #333 !important;
  text-decoration: none !important;
}

.view-members-updates .views-field a:visited,
.view-members-space .views-field a:visited {
  color: #333 !important;
}

.view-members-updates ul,
.view-members-space ul,
.view-members-updates ol,
.view-members-space ol {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.view-members-updates li,
.view-members-space li {
  list-style: none !important;
  padding: 18px 0 !important;
  margin: 0 !important;
  border-bottom: 1px dashed #ccc !important;
}

.view-members-updates li:last-child,
.view-members-space li:last-child {
  border-bottom: none !important;
}

.view-members-updates li a,
.view-members-space li a {
  color: #333 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}

/* ========== SIDEBAR BLOCKS ========== */

.region-sidebar-second .block {
  margin-bottom: 20px !important;
}

.region-sidebar-second .block h2 {
  background: #8B0000 !important;
  color: #fff !important;
  padding: 15px !important;
  margin: 0 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  font-weight: bold !important;
}

.region-sidebar-second .block .content {
  padding: 15px !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  border-top: none !important;
}

/* ========== TEAM GRID ========== */

.team-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  overflow-x: auto !important;
}

.team-card {
  width: 130px !important;
  min-width: 130px !important;
  height: 210px !important;
  position: relative !important;
  overflow: hidden !important;
  background: #f5f5f5 !important;
  flex: 0 0 130px !important;
}

.team-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.team-card .team-info,
.team-card .team-name {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.7) 70%, transparent 100%) !important;
  padding: 40px 8px 8px 8px !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

.team-card:hover .team-info,
.team-card:hover .team-name {
  background: linear-gradient(to top, rgba(139,0,0,0.95) 0%, rgba(139,0,0,0.8) 70%, transparent 100%) !important;
}

/* ========== MEMBER INSTITUTIONS ========== */

/* Was margin: 40px 0 — main source of the gaps between the two member carousels */
.member-institutions-section {
  margin: 0 !important;
}

.member-header {
  background: #8B0000 !important;
  padding: 15px 25px !important;
}

.member-header h2 {
  color: #fff !important;
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
}

.member-scroller-wrapper {
  display: flex !important;
  align-items: center !important;
  background: #f9f9f9 !important;
  border: 1px solid #ddd !important;
  border-top: none !important;
  padding: 20px 10px !important;
}

.member-scroller {
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto !important;
  flex: 1 !important;
}

.member-item {
  flex: 0 0 130px !important;
  min-width: 130px !important;
  text-align: center !important;
  background: #fff !important;
  border: 1px solid #eee !important;
  padding: 10px !important;
}

.member-item img {
  width: 100px !important;
  height: 100px !important;
  object-fit: contain !important;
  margin: 0 auto 10px !important;
  display: block !important;
}

.scroll-btn {
  background: #8B0000 !important;
  color: #fff !important;
  border: none !important;
  width: 35px !important;
  height: 35px !important;
  cursor: pointer !important;
  border-radius: 3px !important;
}

/* ========== HIDE FRONTPAGE ELEMENTS ========== */

.path-frontpage h1.page-title,
.path-frontpage .page-title,
.path-frontpage #block-scholarly-page-title,
.path-frontpage article.node--type-page,
.path-frontpage .breadcrumb,
.path-frontpage nav.breadcrumb,
.path-frontpage .view-frontpage,
.path-frontpage .pager,
.path-frontpage .feed-icons {
  display: none !important;
}

/* ========== HOMEPAGE SECTION SPACING ========== */

.path-frontpage .region-banner {
  padding-bottom: 0 !important;
}

.path-frontpage #banner .block,
.path-frontpage #page .block,
.path-frontpage #bottom-content .block {
  padding-bottom: 20px !important;
}

.path-frontpage #main-content {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.path-frontpage #promoted {
  padding-bottom: 0 !important;
}

.path-frontpage #block-scholarly-views-block-members-space-block-1 {
  padding-bottom: 20px !important;
  margin-bottom: 0 !important;
}

.path-frontpage #bottom-content {
  margin-top: 0 !important;
  padding-top: 30px !important;
  padding-bottom: 10px !important;
}

/* Engage / Annual Reports / Reports tabs: remove extra space below */
.path-frontpage #page #block-scholarly-quicktabshomepagetabs {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.path-frontpage #quicktabs-homepage_tabs .quicktabs-tabpage > :last-child,
.path-frontpage #quicktabs-homepage_tabs .quicktabs-tabpage .field--name-body > :last-child {
  margin-bottom: 0 !important;
}

/* Theme custom.css has a leftover debug rule:
   #quicktabs-homepage_tabs { border: 5px solid red !important } (<=768px) */
@media (max-width: 768px) {
  body #quicktabs-homepage_tabs {
    border: 0 !important;
  }
}

@media (max-width: 991px) {
  .path-frontpage #sidebar-second {
    margin-top: 20px !important;
  }

  .path-frontpage .region-sidebar-second {
    margin-top: 0 !important;
  }
}

/* ========== HOMEPAGE BANNER SLIDESHOW ==========
   Views Slideshow (Cycle) fixes its width in px at page load,
   which left the banner stuck left on phones. Make it fluid,
   keep the images' 2:1 shape (uploads are 1000x500) and centre. */

#block-scholarly-views-block-homepage-slideshow-block-1 .views_slideshow_cycle_main,
#block-scholarly-views-block-homepage-slideshow-block-1 .views_slideshow_cycle_teaser_section {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

#block-scholarly-views-block-homepage-slideshow-block-1 .views_slideshow_cycle_teaser_section {
  height: auto !important;
  aspect-ratio: 2 / 1;
  overflow: hidden !important;
}

#block-scholarly-views-block-homepage-slideshow-block-1 .views_slideshow_cycle_slide {
  width: 100% !important;
  height: 100% !important;
  left: 0 !important;
}

#block-scholarly-views-block-homepage-slideshow-block-1 .views_slideshow_cycle_slide .views-row,
#block-scholarly-views-block-homepage-slideshow-block-1 .views_slideshow_cycle_slide .views-field,
#block-scholarly-views-block-homepage-slideshow-block-1 .views_slideshow_cycle_slide .field-content {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

#block-scholarly-views-block-homepage-slideshow-block-1 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 auto !important;
}

#block-scholarly-views-block-homepage-slideshow-block-1 .views-slideshow-controls-bottom {
  text-align: center !important;
}

/* ========== LATEST NEWS BOX (beside banner) ==========
   Remove the double line + empty strip under "News Archive",
   and on desktop stretch the box to end on the banner's
   bottom line. */

#block-scholarly-views-block-latest-news-block-1 .view-latest-news {
  border-bottom: 0 !important;
}

/* last item's <hr> doubled up with the News Archive divider */
#block-scholarly-views-block-latest-news-block-1 .view-content > div:last-child hr {
  display: none !important;
}

#block-scholarly-views-block-latest-news-block-1 .view-header {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

#block-scholarly-views-block-latest-news-block-1 .view-content {
  padding-top: 4px !important;
  padding-bottom: 0 !important;
}

#block-scholarly-views-block-latest-news-block-1 .view-content hr {
  margin: 6px 0 !important;
}

#block-scholarly-views-block-latest-news-block-1 .more-link {
  margin-top: 0 !important;
  padding: 10px 15px !important;
}

@media (min-width: 992px) {
  .path-frontpage .region-banner {
    align-items: stretch !important;
  }

  /* 20px bottom margin = slideshow block's bottom padding,
     so the box ends exactly on the banner's grey line */
  .path-frontpage #banner #block-scholarly-views-block-latest-news-block-1 {
    display: flex !important;
    flex-direction: column;
    padding-bottom: 0 !important;
    margin-bottom: 20px !important;
  }

  #block-scholarly-views-block-latest-news-block-1 > .content,
  #block-scholarly-views-block-latest-news-block-1 > .content > div,
  #block-scholarly-views-block-latest-news-block-1 .view-latest-news {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
  }

  /* list fills the space; News Archive stays pinned at the bottom */
  #block-scholarly-views-block-latest-news-block-1 .view-content {
    flex: 1 1 auto;
  }
}

/* ========== NEWS ARCHIVE PAGE (/news-archive) ==========
   Page display of the Latest News view: show the full list
   (theme gives the view a 500px scroll box), hide the
   homepage box's red header and self-linking More link. */

.path-news-archive .view-latest-news {
  border: 0 !important;
}

.path-news-archive .view-latest-news .view-content {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  padding: 0 !important;
}

.path-news-archive .view-latest-news .view-content > div {
  padding: 12px 0 !important;
}

.path-news-archive .view-latest-news .view-content hr {
  margin: 12px 0 0 !important;
}

.path-news-archive .view-latest-news .view-content > div:last-child hr {
  display: none !important;
}

.path-news-archive .view-latest-news .view-header,
.path-news-archive .view-latest-news .more-link {
  display: none !important;
}

.path-news-archive #main-content {
  padding-top: 25px !important;
}

@media (min-width: 992px) {
  .path-news-archive #block-scholarly-page-title {
    width: 66.6667%;
    margin-left: 16.6667%;
  }
}

/* Tablets: banner full width, news box below (theme only did this <=768px) */
@media (max-width: 991px) {
  .region-banner {
    flex-wrap: wrap !important;
  }

  .region-banner > .block:first-child,
  .region-banner > .block:nth-child(2) {
    width: 100% !important;
    margin-left: 0 !important;
    margin-bottom: 15px !important;
  }

  /* Stacked order: banner > welcome note > latest news */
  #block-scholarly-views-block-homepage-slideshow-block-1 {
    order: 1;
  }

  #block-scholarly-welcometoshastriindocanadianinstitute {
    order: 2;
    width: 100% !important;
  }

  #block-scholarly-views-block-latest-news-block-1 {
    order: 3;
  }
}

/* ========================================
   FOOTER TOP - RED BANNER
   ======================================== */

#footer-top {
  background: #8B0000 !important;
  padding: 0 !important;
}

#footer-top > .container,
#footer-top > .container-fluid {
  background: #8B0000 !important;
  padding: 0 !important;
  max-width: 100% !important;
}

#footer-top .row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #8B0000 !important;
  margin: 0 !important;
  width: 100% !important;
  padding: 0 !important;
}

.region-footer-top-first {
  background: #8B0000 !important;
  flex: 1 !important;
  padding: 20px 30px !important;
}

.region-footer-top-first .block {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

.region-footer-top-first .block h2 {
  display: none !important;
}

.region-footer-top-first .block .content {
  display: block !important;
}

/* ========== NEWSLETTER FORM ========== */

#newsletter-form {
  width: 100% !important;
  display: block !important;
}

#newsletter-form .newsletter-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 40px !important;
}

#newsletter-form .newsletter-title {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
}

#newsletter-form .newsletter-form-fields {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0 !important;
}

#newsletter-form input[type="email"],
#newsletter-form #mce-EMAIL {
  width: 200px !important;
  height: 42px !important;
  padding: 0 15px !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  background: #fff !important;
  color: #333 !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 !important;
  outline: none !important;
  box-sizing: border-box !important;
}

#newsletter-form input[type="email"]::placeholder {
  color: #999 !important;
}

#newsletter-form button,
#newsletter-form #mc-embedded-subscribe,
#newsletter-form input[type="submit"] {
  height: 42px !important;
  background: #444 !important;
  color: #fff !important;
  border: none !important;
  padding: 0 25px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  border-radius: 0 !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

#newsletter-form button:hover,
#newsletter-form #mc-embedded-subscribe:hover,
#newsletter-form input[type="submit"]:hover {
  background: #555 !important;
}

.region-footer-top-second {
  background: #8B0000 !important;
  flex: 0 0 auto !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  padding: 20px 30px !important;
}

.region-footer-top-second .block {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

.region-footer-top-second .block h2 {
  display: none !important;
}

.region-footer-top-second ul,
.region-footer-top-second ul.icons-list {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.region-footer-top-second ul li,
.region-footer-top-second ul.icons-list li {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.region-footer-top-second ul li a,
.region-footer-top-second ul.icons-list li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 45px !important;
  height: 45px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.2) !important;
  border: none !important;
  color: #fff !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.region-footer-top-second ul li a:hover,
.region-footer-top-second ul.icons-list li a:hover {
  background: rgba(255,255,255,0.4) !important;
}

.region-footer-top-second ul li a i,
.region-footer-top-second ul.icons-list li a i,
.region-footer-top-second ul li a .fa {
  color: #fff !important;
  font-size: 20px !important;
  line-height: 2 !important;
}

/* ========================================
   MAIN FOOTER - DARK GRAY
   ======================================== */

#footer {
  background: #444 !important;
  padding: 40px 0 !important;
}

#footer > .container,
#footer > .container-fluid {
  background: #444 !important;
  padding: 40px 15px !important;
}

#footer .row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
}

.region-footer-first,
.region-footer-second,
.region-footer-third,
.region-footer-fourth {
  background: #444 !important;
}

#footer .block h2,
.region-footer-first h2,
.region-footer-second h2,
.region-footer-third h2,
.region-footer-fourth h2 {
  color: #fff !important;
  font-size: 16px !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  letter-spacing: 1px !important;
  border: none !important;
}

.region-footer-first ul {
  list-style: disc !important;
  padding-left: 20px !important;
  margin: 0 !important;
}

.region-footer-first ul li {
  padding: 5px 0 !important;
  color: #fff !important;
}

.region-footer-first ul li::marker {
  color: #fff !important;
}

.region-footer-first ul li a {
  color: #fff !important;
  text-decoration: none !important;
  font-size: 14px !important;
}

.region-footer-first ul li a:hover {
  color: #ccc !important;
  text-decoration: underline !important;
}

.region-footer-second {
  text-align: center !important;
  background: #444 !important;
}

.region-footer-second .block {
  text-align: center !important;
}

.region-footer-second img,
.region-footer-second .block img,
#footer .site-logo img {
  max-width: 450px !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto 25px auto !important;
  display: block !important;
}

.region-footer-second h3,
.region-footer-second strong,
.region-footer-second u {
  color: #fff !important;
  font-size: 15px !important;
  text-decoration: underline !important;
  display: inline-block !important;
  margin-bottom: 10px !important;
}

.region-footer-second p,
.region-footer-second address {
  color: #ccc !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  margin-bottom: 15px !important;
}

.region-footer-second table {
  width: 100% !important;
  color: #ccc !important;
}

.region-footer-second table td {
  padding: 0 20px !important;
  vertical-align: top !important;
  text-align: center !important;
}

.region-footer-fourth h2 {
  color: #fff !important;
}

.region-footer-fourth .fb-page,
.region-footer-fourth iframe {
  max-width: 100% !important;
  border-radius: 5px !important;
}

#subfooter,
.subfooter,
.region-subfooter-first {
  background: #333 !important;
  color: #999 !important;
  padding: 15px 0 !important;
  text-align: center !important;
  font-size: 13px !important;
}

/* ========================================
   RESPONSIVE - TABLET (991px and below)
   ======================================== */

@media (max-width: 991px) {
  
  #headertop .container-fluid,
  #headertop .row,
  #headertop .col-md-12,
  #headertop .headertop-area,
  #headertop .region-headertop,
  #headertop section.region-headertop {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }
  
  #headertop .region-headertop .block,
  #headertop .region-headertop > div,
  #headertop .block-block-content {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 !important;
    text-align: center !important;
  }
  
  #headertop .header-top-buttons,
  #headertop p {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 8px 0 !important;
  }
  
  #headertop .header-top-button {
    padding: 8px 15px !important;
    font-size: 11px !important;
  }
  
  #headertop ul.icons-list {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 10px auto !important;
  }
  
  #headertop ul.icons-list li a {
    width: 40px !important;
    height: 40px !important;
  }
  
  #footer-top .row {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    text-align: center !important;
  }
  
  .region-footer-top-first,
  .region-footer-top-second {
    width: 100% !important;
    flex: 0 0 100% !important;
    padding: 15px 20px !important;
  }
  
  #newsletter-form .newsletter-container {
    flex-direction: column !important;
    text-align: center !important;
    gap: 20px !important;
  }
  
  #newsletter-form .newsletter-title {
    text-align: center !important;
  }
  
  #newsletter-form .newsletter-form-fields {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
  }
  
  #newsletter-form input[type="email"],
  #newsletter-form #mce-EMAIL {
    width: 100% !important;
    max-width: 280px !important;
  }
  
  .region-footer-top-second {
    justify-content: center !important;
  }
  
  .region-footer-top-second ul,
  .region-footer-top-second ul.icons-list {
    justify-content: center !important;
  }
  
  .region-footer-second img {
    max-width: 350px !important;
  }
}

/* ========================================
   RESPONSIVE - TABLET LAYOUT (768-1024px)
   ======================================== */

@media (min-width: 768px) and (max-width: 1024px) {
  
  .region-content,
  .main-content {
    width: 100% !important;
    float: none !important;
  }
  
  .region-sidebar-second {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-top: 20px !important;
  }
  
  .layout-main-wrapper,
  .main-container,
  .container-fluid > .row {
    display: block !important;
  }
  
  .layout-main-wrapper .col-md-8,
  .layout-main-wrapper .col-lg-8,
  .main-container .col-md-8 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  
  .layout-main-wrapper .col-md-4,
  .layout-main-wrapper .col-lg-4,
  .main-container .col-md-4 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-top: 20px !important;
  }
}

/* ========================================
   RESPONSIVE - MOBILE (768px and below)
   ======================================== */

@media (max-width: 768px) {
  
  #quicktabs-homepage_tabs .item-list ul.quicktabs-tabs,
  #quicktabs-homepage_tabs ul.quicktabs-tabs,
  #quicktabs-ex_council .item-list ul.quicktabs-tabs,
  #quicktabs-ex_council ul.quicktabs-tabs {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }
  
  #quicktabs-homepage_tabs ul.quicktabs-tabs li,
  #quicktabs-ex_council ul.quicktabs-tabs li {
    width: 100% !important;
    margin: 0 !important;
  }
  
  #quicktabs-homepage_tabs ul.quicktabs-tabs li a,
  #quicktabs-ex_council ul.quicktabs-tabs li a {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 15px !important;
    margin: 0 !important;
  }
  
  #quicktabs-ex_council .view-content,
  .team-grid {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  
  #quicktabs-ex_council .view-content .views-row,
  .team-card {
    width: 110px !important;
    min-width: 110px !important;
    height: 145px !important;
    flex: 0 0 110px !important;
  }
  
  #footer .row {
    flex-direction: column !important;
  }
  
  .region-footer-first,
  .region-footer-second,
  .region-footer-third,
  .region-footer-fourth {
    width: 100% !important;
    margin-bottom: 30px !important;
    text-align: center !important;
  }
  
  .region-footer-first ul {
    text-align: left !important;
    display: inline-block !important;
  }
  
  .region-footer-second img {
    max-width: 300px !important;
  }
  
  .region-footer-top-second ul li a {
    width: 40px !important;
    height: 40px !important;
  }
  
  .region-footer-top-second ul li a i {
    font-size: 18px !important;
  }
}

/* ========================================
   RESPONSIVE - SMALL MOBILE (767px and below)
   ======================================== */

@media (max-width: 767px) {
  
  .layout-main-wrapper .row,
  .main-container .row,
  .container-fluid > .row {
    display: block !important;
  }
  
  .layout-main-wrapper [class*="col-"],
  .main-container [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  
  .region-sidebar-second {
    margin-top: 20px !important;
  }
}

/* ========================================
   EXECUTIVE COUNCIL PAGE - MOBILE (767px and below)
   /executive-council: each member is a 2-cell table
   (photo | info). Stack them and fix photo size so long
   names/roles can't squeeze the photo.
   ======================================== */

@media (max-width: 767px) {

  table.sici-member,
  table.sici-member tbody,
  table.sici-member tr,
  table.sici-member td {
    display: block !important;
    width: 100% !important;
  }

  table.sici-member td {
    padding: 0 !important;
    text-align: center;
  }

  table.sici-member td img {
    display: block !important;
    width: 160px !important;
    height: 188px !important;
    max-width: none !important;
    object-fit: cover;
    margin: 0 auto 12px !important;
  }

  table.sici-member h3 {
    margin: 0 0 6px !important;
    font-size: 18px;
  }

  table.sici-member .member-role {
    margin: 0 !important;
  }

  .view-executive-council .views-row {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #e5e5e5;
  }
}

/* ========================================
   EXECUTIVE COUNCIL MEMBER PAGE (node full view)
   Matches Scholarly faculty layout: photo column left,
   role + bio right; photo first on mobile.
   ======================================== */

.node--type-executive-council.node--view-mode-full .node--content {
  display: grid !important;
  grid-template-columns: 205px minmax(0, 1fr);
  column-gap: 25px;
  align-items: start;
}

.node--type-executive-council.node--view-mode-full .node--content > * {
  grid-column: 2;
  min-width: 0;
}

.node--type-executive-council.node--view-mode-full .field--name-field-photo {
  grid-column: 1 !important;
  grid-row: 1 / span 6;
  float: none !important;
  width: 205px !important;
  margin: 0 !important;
}

.node--type-executive-council.node--view-mode-full .field--name-field-photo img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 205 / 250;
  object-fit: cover;
  object-position: center top;
}

.node--type-executive-council.node--view-mode-full .field--name-field-mt-academic-title {
  font-weight: 600;
  margin-bottom: 10px;
}

/* Bio pasted from Elementor: normalise fonts to the theme */
.node--type-executive-council.node--view-mode-full .field--name-field-mt-subheader-body,
.node--type-executive-council.node--view-mode-full .field--name-field-mt-subheader-body p,
.node--type-executive-council.node--view-mode-full .field--name-field-mt-subheader-body li {
  font-family: Lato, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #333;
}

.node--type-executive-council.node--view-mode-full .field--name-field-mt-subheader-body * {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

.node--type-executive-council.node--view-mode-full .field--name-field-mt-subheader-body a {
  color: #8B0000 !important;
}

/* Elementor icon lists: small check icon inline, no bullets */
.node--type-executive-council.node--view-mode-full .field--name-field-mt-subheader-body ul {
  list-style: none !important;
  margin: 0 0 15px !important;
  padding: 0 !important;
}

.node--type-executive-council.node--view-mode-full .field--name-field-mt-subheader-body ul li {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 8px !important;
  padding: 0 !important;
  list-style: none !important;
}

.node--type-executive-council.node--view-mode-full .elementor-icon-list-icon {
  flex: 0 0 18px;
  display: inline-flex !important;
  margin-top: 4px;
}

.node--type-executive-council.node--view-mode-full .elementor-icon-list-icon svg {
  width: 18px !important;
  height: 18px !important;
}

/* Title aligned with content column; less gap below it */
.page-node-type-executive-council #main-content {
  padding-top: 25px !important;
}

@media (min-width: 992px) {
  .page-node-type-executive-council #block-scholarly-page-title {
    width: 66.6667%;
    margin-left: 16.6667%;
  }
}

@media (max-width: 767px) {
  .node--type-executive-council.node--view-mode-full .node--content {
    grid-template-columns: minmax(0, 1fr);
  }

  .node--type-executive-council.node--view-mode-full .node--content > * {
    grid-column: 1;
  }

  .node--type-executive-council.node--view-mode-full .field--name-field-photo {
    grid-row: 1;
    width: 220px !important;
    max-width: 100%;
    margin: 0 auto 20px !important;
  }

  .page-node-type-executive-council h1.page-title {
    font-size: 26px !important;
    line-height: 1.25 !important;
  }
}

/* ========================================
   RESPONSIVE - EXTRA SMALL (480px and below)
   ======================================== */

@media (max-width: 480px) {
  
  #headertop {
    padding: 8px 5px !important;
  }
  
  #headertop .header-top-button {
    padding: 6px 12px !important;
    font-size: 10px !important;
  }
  
  #headertop ul.icons-list li a {
    width: 32px !important;
    height: 32px !important;
  }
  
  #headertop ul.icons-list li a i {
    font-size: 14px !important;
  }
  
  #quicktabs-homepage_tabs ul.quicktabs-tabs li a {
    padding: 10px !important;
    font-size: 11px !important;
  }
}

/* ========================================
   SUPERFISH MOBILE MENU (ACCORDION)
   Replaces the 3 earlier menu blocks. Superfish's own
   "smallscreen" plugin (breakpoint 991px, set in the block
   config) builds the accordion and the "Menu" toggle; this
   CSS only hides the desktop menu and styles the accordion.
   ======================================== */

@media screen and (max-width: 991px) {

  /* Hide the desktop (horizontal) menu */
  #block-scholarly-headertopmenu ul.sf-menu.sf-horizontal {
    display: none !important;
  }

  /* Respect Superfish's collapsed state (menu + submenus) */
  #block-scholarly-headertopmenu ul.sf-hidden {
    display: none !important;
  }

  /* "Menu" toggle bar */
  #block-scholarly-headertopmenu .sf-accordion-toggle a {
    display: block !important;
    position: static !important;
    padding: 12px 15px;
    background: #8B0000;
    color: #fff;
    font-size: 16px;
    text-align: left;
    text-decoration: none;
  }

  /* Accordion list: full width, vertical */
  #block-scholarly-headertopmenu ul.sf-accordion {
    position: static !important;
    left: auto !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #2d2d2d !important;
  }

  #block-scholarly-headertopmenu ul.sf-accordion li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    border-bottom: 1px solid #222 !important;
    box-sizing: border-box !important;
  }

  #block-scholarly-headertopmenu ul.sf-accordion li a {
    display: block !important;
    width: 100% !important;
    padding: 12px 15px !important;
    color: #fff !important;
    text-align: left !important;
    white-space: normal !important;
    border-left: 0 !important;
    box-sizing: border-box !important;
  }

  /* Submenus — float:none so the parent row grows to contain them
     (Superfish floats them; otherwise the next row overlaps and its
     hover background hides the submenu text) */
  #block-scholarly-headertopmenu ul.sf-accordion,
  #block-scholarly-headertopmenu ul.sf-accordion ul {
    float: none !important;
    clear: both !important;
  }

  #block-scholarly-headertopmenu ul.sf-accordion ul {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 15px !important;
    background: #3a3a3a !important;
    box-sizing: border-box !important;
  }

  /* Keep the opened accordion and submenus vertical
     (overrides theme's #menu-header .sf-menu { display:flex }) */
  #block-scholarly-headertopmenu ul.sf-accordion.sf-expanded,
  #block-scholarly-headertopmenu ul.sf-accordion ul:not(.sf-hidden) {
    display: block !important;
  }

  /* ---- Expand buttons (block setting: "Create new links next to
     parent menu item links and use them as buttons") ---- */
  #block-scholarly-headertopmenu ul.sf-accordion li {
    position: relative !important;
  }

  /* Leave room on the right of parent links for the button */
  #block-scholarly-headertopmenu ul.sf-accordion li > a:not(.sf-accordion-button) {
    padding-right: 60px !important;
  }

  #block-scholarly-headertopmenu ul.sf-accordion li > a.sf-accordion-button {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    float: none !important;
    width: 48px !important;
    height: 46px;
    padding: 0 !important;
    font-size: 0 !important;
    text-indent: 0 !important; /* theme menus.css hides it with -999999px */
    z-index: 5 !important;
    cursor: pointer;
    background: rgba(255,255,255,0.08) !important;
    border-left: 1px solid #222 !important;
  }

  #block-scholarly-headertopmenu ul.sf-accordion li > a.sf-accordion-button::after {
    content: "+";
    display: block;
    font-size: 22px;
    line-height: 46px;
    text-align: center;
    color: #fff;
    /* undo theme's rotated/floated "›" arrow styling on menuparent links */
    float: none !important;
    margin: 0 !important;
    transform: none !important;
    width: 100% !important;
    vertical-align: baseline !important;
  }

  #block-scholarly-headertopmenu ul.sf-accordion li.sf-expanded > a.sf-accordion-button::after {
    content: "\2212";
  }
}