

.news-client .container-main, .news-client .container-full-width {
  max-width: 851px;
}

.news-client .container-main .the-image.hero-row, .news-client .container-full-width .the-image.hero-row{
  background-size:100% auto;
  margin-bottom:20px;
  margin-top:20px;
  border:solid 1px #ccc;
}

/* News content type - limit container width to match D7 */
/* Target container-main content-container that wraps sidebar-content (matches D7 selector pattern) */
.node-type-news.news .main-container .container-full-width, 
.node-type-news.news .main-container .container-main,
.node-type-news.news .main-container .container-main.content-container,
.node--type-news.news .main-container .container-full-width, 
.node--type-news.news .main-container .container-main,
.node--type-news.news .main-container .container-main.content-container,
body.node-type-news .main-container .container-full-width,
body.node-type-news .main-container .container-main,
body.node-type-news .main-container .container-main.content-container,
body.node--type-news .main-container .container-full-width,
body.node--type-news .main-container .container-main,
body.node--type-news .main-container .container-main.content-container {
  max-width: 851px;
}

/* Also target sidebar-content when it contains news node (for fixedwidthlhn layout) */
.node-type-news.news .sidebar-content,
.node--type-news.news .sidebar-content,
body.node-type-news .sidebar-content,
body.node--type-news .sidebar-content {
  max-width: 851px;
}

/* News route page (custom route, not node) - ensure content respects sidebar width */
/* News content is already inside sidebar-content, so it should flow naturally */
.content-container .sidebar-content .the-container-news {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

/* Hero text only title styles - ensure they're present (matches D7) */
.hero-text-only .title {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.23;
  margin-bottom: 24px;
}

@media screen and (min-width: 768px) {
  .hero-text-only .title {
    font-size: 48px;
    line-height: 1.12;
    margin-bottom: 31px;
  }
}

/* Hero text only content styles - fix line-height to match D7 */
.hero-text-only .text-block-content {
  line-height: 1.33;
}

@media screen and (min-width: 768px) {
  .hero-text-only .text-block-content {
    line-height: 1.33;
  }
}

.testimonial {
  cursor:initial;
}
.testimonial-video {
  cursor: pointer;
}
.mobile-nav .logo {
  position:relative;
} 
#closemobilenav {
  position:absolute;
  right:10px;
  background: transparent;
  border: none;
  color: #fff;
  cursor:pointer;
  font-size: 1.5em;
}

.header-container header.main-header .logo h2 {
    display:flex !important;
    align-items: center !important
  }

  .container-main.bootstrapped {
    width:inherit !important;
  }

.hero-option-1 .wrapper {
  min-height:initial !important;
}

/*==========  Non-Mobile First Method  ==========*/

/* Large Devices, Wide Screens */
@media only screen and (max-width : 1200px) {
  .header-container header.main-header .logo h2 {
    display:flex;
    align-items: center;
  }
}

/* Medium Devices, Desktops */
@media only screen and (max-width : 992px) {
  .news.front h1 {
    font-size: 3rem;
  }
  .news.front  .featured-news .items a:first-child {
    width:100%;
  }
  .news.front  .featured-news  .items a {
      display: block;
      width: 50%;
      float: right;
      padding-left: 10px;
  }
  body.corporate {
    margin-top:132px;
  }
}

/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {
  .news.front h1, .news.front .node-promoted h2, .news.front .block h2 {
    font-size: 2rem;
    text-align:center;
    margin-top:20px;
    line-height: normal;
    margin-bottom:0px;
    border-bottom:solid 1px #333;
  }
  .news.front  .featured-news .items a:first-child {
    width:100%;
  }
  .news.front  .featured-news  .items a {
      display: block;
      width: 50%;
      float: right;
      padding-left: 10px;
  }
  .news.front .news-overview .item .item-title {
    font-size: 1rem;
    line-height: 1.2rem;
  }
  body.corporate {
    margin-top:70px;
  }
}

/* Extra Small Devices, Phones */
@media only screen and (max-width : 576px) {
  .news.front  .featured-news .items a:first-child {
    width:100%;
  }
  .news.front  .featured-news  .items a {
      display: block;
      width: 100%;
      float: right;
      padding-left: 10px;
  }
  .news.front .content-container .layout-sidebars .sidebar-content {
      padding: 0 0px 0 0px;
  }
  .news.front  .tabs {
      display:none;
  }
  .news.front .content-container .layout-sidebars .sidebar-second {
    width:100%;
    max-width: 100% !important;
  }
  body.corporate {
    margin-top:70px;
  }
}

/* Custom, iPhone Retina */
@media only screen and (max-width : 320px) {

}

/*==========  ul reset ==========*/
.tab-content ul
{
  padding:revert;
  margin:revert;
}

/* Reset ul/li styling in main content area to browser defaults (more specific selectors elsewhere will override) */
/* Only target content within sidebar-content, exclude sidebar-first and local-navigation */
.sidebar-content .region-content ul,
.sidebar-content .node__content ul,
.sidebar-content ul:not(.local-navigation ul):not(.sidebar-first ul) {
  list-style: revert;
  padding: revert;
  margin: revert;
}

.sidebar-content .region-content li,
.sidebar-content .node__content li,
.sidebar-content li:not(.local-navigation li):not(.sidebar-first li) {
  list-style: revert;
  padding: revert;
  margin: revert;
}

/*==========  sidebar layout styles ==========*/
/* Base rules first, then media queries (matches D7 structure) */
.content-container .layout-sidebars .sidebar-first {
  width: 100%;
}

@media screen and (min-width: 560px) {
  .content-container .layout-sidebars .sidebar-first {
    width: 269px;
    min-width: 269px;
    max-width: 269px;
    -ms-flex: 0 0 269px;
    flex: 0 0 269px;
  }
}

.content-container .layout-sidebars .sidebar-content {
  -ms-flex: 1;
  flex: 1;
  min-width: 0; /* Allow flex item to shrink below content size */
  max-width: 100%; /* Prevent overflow */
  overflow-x: hidden; /* Prevent horizontal scroll */
  padding: 27px 0 58px 0;
}

@media screen and (min-width: 560px) {
  .content-container .layout-sidebars .sidebar-content {
    padding: 0 40px 0 28px;
  }
}

.content-container .layout-sidebar-first .sidebar-first {
  width: 100%;
}

@media screen and (min-width: 560px) {
  .content-container .layout-sidebar-first .sidebar-first {
    width: 269px;
    min-width: 269px;
    max-width: 269px;
    -ms-flex: 0 0 269px;
    flex: 0 0 269px;
  }
}

.content-container .layout-sidebar-first .sidebar-content {
  -ms-flex: 1;
  flex: 1;
  min-width: 0; /* Allow flex item to shrink below content size */
  max-width: 100%; /* Prevent overflow */
  overflow-x: hidden; /* Prevent horizontal scroll */
  padding: 27px 0 0 0;
}

@media screen and (min-width: 560px) {
  .content-container .layout-sidebar-first .sidebar-content {
    padding: 0 0 0 28px;
  }
}

/* Box-sizing rule (matches D7 line 16524-16525) */
.content-container .layout-sidebar-first .sidebar-content, 
.content-container .layout-sidebar-first .sidebar-first {
  box-sizing: border-box;
}

/* Prevent horizontal scroll on content-container and flex row */
.content-container {
  max-width: 100%;
  overflow-x: hidden;
}

.content-container .njit-flex-row {
  max-width: 100%;
  overflow-x: hidden;
}

/*==========  local navigation styles ==========*/
/* Base rule (matches D7 line 15495-15496) */
.local-navigation .menu > li > a {
  max-width: 100%;
}

/* More specific rule with nested media query (matches D7 line 8583-8588) */
.local-navigation .menu > li > a {
  max-width: 253px;
  padding: 16px 5px;
}

@media screen and (min-width: 992px) {
  .local-navigation .menu > li > a {
    padding: 12px;
  }
}

/* General local navigation link styles (matches D7 line 8548-8552) */
.local-navigation a {
  color: #232636;
  padding: 12px;
  display: block;
  line-height: 1.25;
}

ul.menu li {
  margin: 0 0 0 0.5em;
}

/*==========  accessibility ==========*/

.stats-3-up .stat--home-page .number, .stats-3-up .stat--home-page .caption {
  font-size: 1.2em;
  line-height: 1.5;
}
.stats-3-up .stat--home-page .number {
  font-size: 2.2em;
}
.stat--testimonial .caption {
  font-size: .9em;
  line-height: 1.5;
}
.page-apply .content-container .sidebar-content p {
  font-size: 1em;
}
.two-column-promos .description {
  font-size: 1em;
}
.stat--home-page .caption {
  font-size: 1.4em;
}

body.node-type-two-column-alt- #block-system-main .content .text-paragraph a,
body.page-node- #block-system-main .content a{
  text-decoration: underline;
}

a.colorbox-profile-overlay {
    text-decoration: none !important;
}

.cta-headline{
  line-height: 1.5;
}

.mega-nav ul.menu li.tabbed ul.menu--submenu {
  display: block !important; }
.mega-nav ul.menu li.tabbed ul.menu--submenu ul.menu--submenu {
    display: none !important; }

nav.user-navigation > ul li.expandable.user-nav-show ul,nav.user-navigation > ul li.expandable:hover ul, nav.user-navigation > ul li.expandable:focus ul {
      visibility: visible; }
      
      
body .navigation ul > li.opened .mega-nav-content,
body .student-navigation ul > li.opened .mega-nav-content {
  display:block !important;
}

body .navigation ul > li.closed .mega-nav-content,
body .student-navigation ul > li.closed  .mega-nav-content {
  display:none !important;
}
.mega-nav-content.opened {
	z-index: 1;
}
.mega-nav-content .inner .text-only-callout > a:after {
  display:none
}

.mega-nav-content .inner .text-image-callout h5 a, .mega-nav-content .inner .text-image-callout h5 a:link, .mega-nav-content .inner .text-image-callout h5 a:visited {
    display: block;
    line-height: 1.25;
    color: #242637;
    font-weight:bold;
    font-size: 1em !important;
    padding: 0;
    margin: 0;
}
.mega-nav-content .inner .links-block a {
  padding:0;
  font-size: 1.05em !important;
  margin:0;
      letter-spacing: -0.1px;
    margin-bottom: 16px;
}
.mega-nav-content .inner .text-image-callout a.link{
  margin:0;
  font-size: .9em !important;
  padding:0;
  margin-bottom: 8px;
}

.mega-nav nav.navigation.own-header > ul > li a:after {
  display:none;
}

/* .mega-nav nav.navigation.own-header > ul > li:has(ul.menu--submenu) a:after{
  display:block;
} */


.mega-nav nav.navigation.own-header > ul > li: ul.menu--submenu a:after{
  display:none;
}

/* .mega-nav nav.navigation.own-header > ul > li:hover > a, .mega-nav nav.student-navigation > ul > li:hover > a {
  padding-bottom: 10px;
  border-bottom: 4px solid #6ab3fc; }
.mega-nav nav.navigation.own-header > ul > li.opened > a, .mega-nav nav.student-navigation > ul > li.opened > a {
  font-weight: 800 !important;
  letter-spacing: -.5px;
  padding-bottom: 10px;
  border-bottom: 4px solid #6ab3fc; }
.mega-nav ul.menu li:hover a, .mega-nav ul.menu li.active a.active, .mega-nav ul.menu li.active-trail a.active-trail, .mega-nav ul.menu li.active-trail a.active {
  border-bottom: 4px solid #6ab3fc;
  color: #fff;
  padding-bottom: 8px; }

/* ================= Sticky footer (flexbox) =================
   Keeps the footer at the bottom of the viewport when page content
   is short, and lets it flow normally when content is long.
   Using existing theme classes from page.html.twig: .wrapper, .layout-container,
   .main-container, .footer-container
*/

html, body {
  height: 100%;
}

.wrapper {
  min-height: 100vh; /* full viewport height */
  display: flex;
  flex-direction: column;
}

.layout-container {
  flex: 1 0 auto; /* allow main area to grow and push footer down */
  display: flex;
  flex-direction: column;
}

/* Main container - needed for D10 flexbox layout */
/* This allows the container to fill remaining space and push footer down */
.main-container {
  flex: 1 0 auto; /* main content fills remaining space */
  min-height: 1px; /* avoid collapse in some browsers */
  overflow-x: hidden; /* Prevent horizontal scroll (matches D7) */
}

/* Override #block-njit-primary-local-tasks width on research content type pages */
/* The default width: 1140px causes the right-hand content column to be too wide */
/* On research content types, we want it to use initial width to fit within the container */
/* This applies to: research_newsletter, newsletter, grant_opportunities, grant_and_contract_awards, webinars_and_events */
body.node-type-newsletter #block-njit-primary-local-tasks,
body.node-type-research-newsletter #block-njit-primary-local-tasks,
body.node-type-grant-opportunities #block-njit-primary-local-tasks,
body.node-type-grant-and-contract-awards #block-njit-primary-local-tasks,
body.node-type-webinars-and-events #block-njit-primary-local-tasks,
.node-type-newsletter #block-njit-primary-local-tasks,
.node-type-research-newsletter #block-njit-primary-local-tasks,
.node-type-grant-opportunities #block-njit-primary-local-tasks,
.node-type-grant-and-contract-awards #block-njit-primary-local-tasks,
.node-type-webinars-and-events #block-njit-primary-local-tasks,
.node-newsletter #block-njit-primary-local-tasks,
.node-grant-opportunities #block-njit-primary-local-tasks,
.node-grant-and-contract-awards #block-njit-primary-local-tasks,
.node-webinars-and-events #block-njit-primary-local-tasks,
.node--type-newsletter #block-njit-primary-local-tasks,
.node--type-research-newsletter #block-njit-primary-local-tasks,
.node--type-grant-opportunities #block-njit-primary-local-tasks,
.node--type-grant-and-contract-awards #block-njit-primary-local-tasks,
.node--type-webinars-and-events #block-njit-primary-local-tasks {
  width: initial !important;
}

/* Override main-container padding-top for newsletter pages to match D7 */
/* D7 doesn't have main-container class, so we remove its padding-top to match D7 styling */
/* Target using body class that Drupal adds: node-type-newsletter or node-type-research-newsletter */
body.node-type-newsletter .main-container,
body.node-type-research-newsletter .main-container,
/* Also target if main-container directly contains newsletter node (using :has() for modern browsers) */
.main-container:has(.node-newsletter),
.main-container:has(.node--type-newsletter),
.main-container:has(.node--type-research-newsletter) {
  padding-top: 0 !important; /* Remove padding-top to match D7 */
  overflow-x: visible; /* Match D7 - no overflow-x hidden */
}

.footer-container {
  flex-shrink: 0; /* keep footer at natural height */
}

/* If you ever need a fixed (always-visible) footer, use position:fixed
   and add padding-bottom on .layout-container equal to the footer height. */

/* ================= Research Newsletter Styles ================= */

/* Newsletter node styles */
/* D7 uses node-newsletter and field-label (single hyphen) */
/* D10 uses node--type-newsletter and field__label (double underscore) */
/* Support both D7 and D10 class naming conventions */
/* Match D7 styling from https://research.njit.edu/orn-2025-45 */
.node-newsletter .content .field-label,
.node-type-newsletter.research .content .field-label,
.node--type-research-newsletter .content .field-label,
.node--type-newsletter .content .field-label,
.node-newsletter .content .field__label,
.node-type-newsletter.research .content .field__label,
.node--type-research-newsletter .content .field__label,
.node--type-newsletter .content .field__label {
  font-size: 30px;
  border-bottom: solid 2px #efefef;
  padding-bottom: 10px;
  margin-top: 50px;
  margin-bottom: 20px;
  font-weight: bold;
  clear: both;
  overflow: hidden;
}

/* Field label inner structure - supports "back to top" link floated right */
/* Match D7 structure from https://research.njit.edu/orn-2025-45 */
.node-newsletter .content .field-label > div:first-child,
.node-type-newsletter.research .content .field-label > div:first-child,
.node--type-research-newsletter .content .field-label > div:first-child,
.node--type-newsletter .content .field-label > div:first-child,
.node-newsletter .content .field__label > div:first-child,
.node-type-newsletter.research .content .field__label > div:first-child,
.node--type-research-newsletter .content .field__label > div:first-child,
.node--type-newsletter .content .field__label > div:first-child {
  float: right;
  margin-left: 10px;
  margin-bottom: 0;
}

/* Back to top link inside field labels - override general back-to-top styling */
.node-newsletter .content .field-label .back-to-top,
.node-type-newsletter.research .content .field-label .back-to-top,
.node--type-research-newsletter .content .field-label .back-to-top,
.node--type-newsletter .content .field-label .back-to-top,
.node-newsletter .content .field__label .back-to-top,
.node-type-newsletter.research .content .field__label .back-to-top,
.node--type-research-newsletter .content .field__label .back-to-top,
.node--type-newsletter .content .field__label .back-to-top {
  float: none;
  font-size: 12px;
  font-weight: bold;
  color: #333;
  text-decoration: none;
}

/* Anchor divs inside field labels - ensure inline display */
.node-newsletter .content .field-label > div:last-child,
.node-type-newsletter.research .content .field-label > div:last-child,
.node--type-research-newsletter .content .field-label > div:last-child,
.node--type-newsletter .content .field-label > div:last-child,
.node-newsletter .content .field__label > div:last-child,
.node-type-newsletter.research .content .field__label > div:last-child,
.node--type-research-newsletter .content .field__label > div:last-child,
.node--type-newsletter .content .field__label > div:last-child {
  display: inline;
}


.node-type-newsletter.research .content h3,
.node--type-research-newsletter .content h3,
.node--type-newsletter .content h3 {
  font-size: 24px !important;
  line-height: normal;
  margin-top: 20px;
  margin-bottom: 20px;
}

.node-type-newsletter.research .content h4,
.node--type-research-newsletter .content h4,
.node--type-newsletter .content h4 {
  font-size: 20px !important;
}

.node-type-newsletter.research .content ul,
.node-type-newsletter.research .content ol,
.node--type-research-newsletter .content ul,
.node--type-research-newsletter .content ol,
.node--type-newsletter .content ul,
.node--type-newsletter .content ol {
  margin-left: 40px;
  margin-bottom: 40px;
}

/* Grant opportunities, awards, and webinars within newsletter */
.node-type-newsletter.research .content .node-grant-opportunities,
.node-type-newsletter.research .content .node-grant-and-contract-awards,
.node-type-newsletter.research .content .node-webinars-and-events,
.node--type-research-newsletter .content .node-grant-opportunities,
.node--type-research-newsletter .content .node-grant-and-contract-awards,
.node--type-research-newsletter .content .node-webinars-and-events,
.node--type-newsletter .content .node-grant-opportunities,
.node--type-newsletter .content .node-grant-and-contract-awards,
.node--type-newsletter .content .node-webinars-and-events {
  margin: 20px;
  padding: 20px;
  background-color: #efefef;
  font-size: 14px;
}

.node-type-newsletter.research .content .node-grant-opportunities h3,
.node-type-newsletter.research .content .node-grant-and-contract-awards h3,
.node-type-newsletter.research .content .node-webinars-and-events h3,
.node-type-newsletter.research .content .node-grant-opportunities .field-label,
.node-type-newsletter.research .content .node-grant-and-contract-awards .field-label,
.node-type-newsletter.research .content .node-webinars-and-events .field-label,
.node--type-research-newsletter .content .node-grant-opportunities h3,
.node--type-research-newsletter .content .node-grant-and-contract-awards h3,
.node--type-research-newsletter .content .node-webinars-and-events h3,
.node--type-research-newsletter .content .node-grant-opportunities .field-label,
.node--type-research-newsletter .content .node-grant-and-contract-awards .field-label,
.node--type-research-newsletter .content .node-webinars-and-events .field-label,
.node--type-newsletter .content .node-grant-opportunities h3,
.node--type-newsletter .content .node-grant-and-contract-awards h3,
.node--type-newsletter .content .node-webinars-and-events h3,
.node--type-newsletter .content .node-grant-opportunities .field-label,
.node--type-newsletter .content .node-grant-and-contract-awards .field-label,
.node--type-newsletter .content .node-webinars-and-events .field-label {
  margin: 0;
  font-size: 14px !important;
  font-weight: bold;
  margin-bottom: 0;
  margin-top: 20px;
  margin-bottom: 20px;
}

.node-type-newsletter.research .content .node-grant-opportunities ul.links,
.node-type-newsletter.research .content .node-grant-and-contract-awards ul.links,
.node-type-newsletter.research .content .node-webinars-and-events ul.links,
.node--type-research-newsletter .content .node-grant-opportunities ul.links,
.node--type-research-newsletter .content .node-grant-and-contract-awards ul.links,
.node--type-research-newsletter .content .node-webinars-and-events ul.links,
.node--type-newsletter .content .node-grant-opportunities ul.links,
.node--type-newsletter .content .node-grant-and-contract-awards ul.links,
.node--type-newsletter .content .node-webinars-and-events ul.links {
  margin: 0;
  padding: 0;
  vertical-align: text-bottom;
  margin-top: 20px;
  display: inline-block;
  line-height: 22px;
  margin-left: 40px;
}

.node-type-newsletter.research .content .node-grant-opportunities ul.links.inline,
.node-type-newsletter.research .content .node-grant-and-contract-awards ul.links.inline,
.node-type-newsletter.research .content .node-webinars-and-events ul.links.inline,
.node--type-research-newsletter .content .node-grant-opportunities ul.links.inline,
.node--type-research-newsletter .content .node-grant-and-contract-awards ul.links.inline,
.node--type-research-newsletter .content .node-webinars-and-events ul.links.inline,
.node--type-newsletter .content .node-grant-opportunities ul.links.inline,
.node--type-newsletter .content .node-grant-and-contract-awards ul.links.inline,
.node--type-newsletter .content .node-webinars-and-events ul.links.inline {
  margin: 0;
  padding: 0;
  vertical-align: text-bottom;
  margin-top: 20px;
  display: inline-block;
  line-height: 22px;
}

.node-type-newsletter.research .content .node-grant-opportunities h4,
.node-type-newsletter.research .content .node-grant-and-contract-awards h4,
.node-type-newsletter.research .content .node-webinars-and-events h4,
.node--type-research-newsletter .content .node-grant-opportunities h4,
.node--type-research-newsletter .content .node-grant-and-contract-awards h4,
.node--type-research-newsletter .content .node-webinars-and-events h4,
.node--type-newsletter .content .node-grant-opportunities h4,
.node--type-newsletter .content .node-grant-and-contract-awards h4,
.node--type-newsletter .content .node-webinars-and-events h4 {
  margin-top: 0;
}

.node-type-newsletter.research .content .node-grant-opportunities .field-label,
.node-type-newsletter.research .content .node-grant-and-contract-awards .field-label,
.node-type-newsletter.research .content .node-webinars-and-events .field-label,
.node--type-research-newsletter .content .node-grant-opportunities .field-label,
.node--type-research-newsletter .content .node-grant-and-contract-awards .field-label,
.node--type-research-newsletter .content .node-webinars-and-events .field-label,
.node--type-newsletter .content .node-grant-opportunities .field-label,
.node--type-newsletter .content .node-grant-and-contract-awards .field-label,
.node--type-newsletter .content .node-webinars-and-events .field-label {
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
  line-height: normal;
  margin-top: 20px;
}

/* Research Grant Opportunities Field */
.research-grant-ops {
  margin-bottom: 30px;
}

/* Support both D7 (field-label) and D10 (field__label) naming conventions */
.research-grant-ops .field-label,
.research-grant-ops .field__label {
  font-size: 30px;
  border-bottom: solid 2px #efefef;
  padding-bottom: 10px;
  margin-top: 50px;
  margin-bottom: 20px;
  font-weight: bold;
}

.research-grant-ops .op-alert-group {
  margin-bottom: 30px;
}

.research-grant-ops .op-alert-group .op-alert-group-hdr {
  font-size: 24px;
  font-weight: bold;
  margin-top: 30px;
  margin-bottom: 20px;
  border-bottom: solid 2px #ccc;
  padding-bottom: 10px;
}

/* Teaser link styles (used for grant opportunities, awards, webinars) */
/* Match D7 styling from https://research.njit.edu/orn-2025-45 */
.teaser-link {
  font-size: 1em;
  display: block;
  margin: 20px;
  padding: 20px;
  color: #333;
  background-color: #efefef;
  transition: all 0.4s ease-out;
}

.teaser-link a {
  color: #900;
  text-decoration: none;
}

.teaser-link a:hover {
  text-decoration: underline;
}

/* D7 hover style: light gray background with dark text */
.teaser-link:hover {
  background-color: #efefef;
  color: #333 !important;
}

.teaser-link:hover a {
  color: #900;
}

.teaser-link .date {
  display: block;
  font-size: 12px;
}

a.teaser-link {
  font-size: 1em;
  display: block;
  margin: 20px;
  padding: 20px;
  color: #333;
  background-color: #efefef;
  transition: all 0.4s ease-out;
  text-decoration: none;
}

/* D7 hover style: light gray background with dark text */
a.teaser-link:hover {
  background-color: #efefef;
  color: #333 !important;
}

a.teaser-link a,
a.teaser-link:hover a {
  color: #900;
}

a.teaser-link .date {
  display: block;
  font-size: 12px;
}

/* RRGGCA (Research Grant Opportunities, Grants and Contract Awards) field styles */
.rrggca {
  margin-bottom: 10px;
}

.rrggca .lbl {
  font-size: 1em;
  font-weight: bold;
  display: inline;
}

.rrggca ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: inline;
}

.rrggca .field-name-field-grant-contract-dpt {
  display: inline-block;
}

/* Hide nested field labels inside rrggca spans - match D7 styling */
/* Fields should display inline without nested labels */
.rrggca span .field__label,
.rrggca span .field-label,
.rrggca span .field--label-above .field__label,
.rrggca span .field--label-above .field-label,
.rrggca span .field--label-inline .field__label,
.rrggca span .field--label-inline .field-label {
  display: none !important;
}

/* Make fields display inline within rrggca spans - match D7 styling */
.rrggca span .field,
.rrggca span .field__item,
.rrggca span .field__items {
  display: inline;
  margin: 0;
  padding: 0;
}

/* Remove extra spacing and structure from fields inside rrggca */
.rrggca span .field__item p {
  margin: 0;
  padding: 0;
  display: inline;
}

.rrggca span .field__item {
  display: inline;
}

/* Ensure field content (links, text) displays inline */
.rrggca span .field__item a,
.rrggca span .field__item p a {
  display: inline;
}

/* Remove any block-level styling from fields inside rrggca */
.rrggca span .field__items {
  display: inline;
}

.rrggca span .field__items .field__item {
  display: inline;
}

/* Make sure text-formatted fields display inline */
.rrggca span .text-formatted,
.rrggca span .clearfix.text-formatted {
  display: inline;
}

.rrggca span .text-formatted p {
  margin: 0;
  padding: 0;
  display: inline;
}

/* Label styles */
.lbl {
  font-weight: bold;
  display: inline;
  font-size: 12px;
}

/* Funding agency styles */
.funding-agency {
  border-bottom: solid 1px #ccc;
  display: inline-block;
}

.funding-agency .field {
  display: inline;
}

.funding-agency ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: inline;
}

.funding-agency ul li {
  display: inline-block;
  font-size: 12px;
  line-height: normal;
}

/* Grant and Contract Awards node styles */
.node-grant-and-contract-awards h3.field-label,
.node-grant-and-contract-awards .field-label,
.node-webinars-and-events h3.field-label,
.node-webinars-and-events .field-label,
.node-grant-opportunities h3.field-label,
.node-grant-opportunities .field-label {
  font-size: 14px;
  font-weight: bold;
  line-height: normal;
  margin: 0;
  margin-top: 10px;
  color: #595959;
}

.node-webinars-and-events {
  color: #595959;
}

.node-webinars-and-events .field-name-field-sponsor ul,
.node-grant-and-contract-awards .field-name-field-grant-contract-dpt ul,
.node-grant-and-contract-awards .field-name-field-funding-agency ul {
  margin: 0px;
  padding: 0;
  list-style: none;
}

.node-webinars-and-events .field-name-field-date-time ul {
  margin: 0px;
  padding: 0;
  list-style: none;
}

/* Jump menu (table of contents) for newsletter */
/* Match D7 styling from https://research.njit.edu/orn-2025-45 */
/* Support both D7 (node-newsletter) and D10 (node--type-newsletter) naming conventions */
.node-newsletter .jump-menu,
.node-type-newsletter.research .jump-menu,
.node--type-research-newsletter .jump-menu,
.node--type-newsletter .jump-menu {
  margin-top: 20px;
  margin-bottom: 30px;
  list-style: none;
  padding-left: 0;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 1;
  font-size: 1em;
  line-height: 1.5;
}

.node-newsletter .jump-menu li,
.node-type-newsletter.research .jump-menu li,
.node--type-research-newsletter .jump-menu li,
.node--type-newsletter .jump-menu li {
  margin-bottom: 5px;
  list-style: initial;
  padding-left: 0;
}

/* Jump menu links - match D7 styling */
.node-newsletter .jump-menu a,
.node-type-newsletter.research .jump-menu a,
.node--type-research-newsletter .jump-menu a,
.node--type-newsletter .jump-menu a,
.node-newsletter .jump-menu .research-newsletter-jump-link,
.node-type-newsletter.research .jump-menu .research-newsletter-jump-link,
.node--type-research-newsletter .jump-menu .research-newsletter-jump-link,
.node--type-newsletter .jump-menu .research-newsletter-jump-link {
  color: #333;
  text-decoration: none;
  display: inline-block;
}

.node-newsletter .jump-menu a:hover,
.node-type-newsletter.research .jump-menu a:hover,
.node--type-research-newsletter .jump-menu a:hover,
.node--type-newsletter .jump-menu a:hover,
.node-newsletter .jump-menu .research-newsletter-jump-link:hover,
.node-type-newsletter.research .jump-menu .research-newsletter-jump-link:hover,
.node--type-research-newsletter .jump-menu .research-newsletter-jump-link:hover,
.node--type-newsletter .jump-menu .research-newsletter-jump-link:hover {
  text-decoration: underline;
  color: #333;
}

/* Sub-jump-menu for funding agencies - match D7 styling */
/* D7 uses inline style margin-bottom: 0px on sub-jump-menu */
.node-newsletter .sub-jump-menu,
.node-type-newsletter.research .sub-jump-menu,
.node--type-research-newsletter .sub-jump-menu,
.node--type-newsletter .sub-jump-menu {
  margin-top: 5px;
  margin-bottom: 0px !important;
  margin-left: 20px;
  list-style: none;
  padding-left: 0;
  font-size: 1em;
  line-height: 1.5;
}

.node-newsletter .sub-jump-menu li,
.node-type-newsletter.research .sub-jump-menu li,
.node--type-research-newsletter .sub-jump-menu li,
.node--type-newsletter .sub-jump-menu li {
  margin-bottom: 3px;
  list-style: initial;
  padding-left: 0;
}

/* Sub-jump-menu links - match D7 styling */
.node-newsletter .sub-jump-menu a,
.node-type-newsletter.research .sub-jump-menu a,
.node--type-research-newsletter .sub-jump-menu a,
.node--type-newsletter .sub-jump-menu a,
.node-newsletter .sub-jump-menu .research-newsletter-jump-link,
.node-type-newsletter.research .sub-jump-menu .research-newsletter-jump-link,
.node--type-research-newsletter .sub-jump-menu .research-newsletter-jump-link,
.node--type-newsletter .sub-jump-menu .research-newsletter-jump-link {
  color: #333;
  text-decoration: none;
  display: inline-block;
}

.node-newsletter .sub-jump-menu a:hover,
.node-type-newsletter.research .sub-jump-menu a:hover,
.node--type-research-newsletter .sub-jump-menu a:hover,
.node--type-newsletter .sub-jump-menu a:hover,
.node-newsletter .sub-jump-menu .research-newsletter-jump-link:hover,
.node-type-newsletter.research .sub-jump-menu .research-newsletter-jump-link:hover,
.node--type-research-newsletter .sub-jump-menu .research-newsletter-jump-link:hover,
.node--type-newsletter .sub-jump-menu .research-newsletter-jump-link:hover {
  text-decoration: underline;
  color: #333;
}

/* Ensure sub-jump-menu is properly nested within its parent li */
/* Match D7 styling - sub-jump-menu should have margin-bottom: 0px */
.node-newsletter .jump-menu li .sub-jump-menu,
.node-type-newsletter.research .jump-menu li .sub-jump-menu,
.node--type-research-newsletter .jump-menu li .sub-jump-menu,
.node--type-newsletter .jump-menu li .sub-jump-menu {
  display: block;
  margin-top: 5px;
  margin-bottom: 0px !important;
  margin-left: 20px;
}

/* List items that contain sub-jump-menu - ensure proper spacing */
.node-newsletter .jump-menu li .sub-jump-menu + *,
.node-type-newsletter.research .jump-menu li .sub-jump-menu + *,
.node--type-research-newsletter .jump-menu li .sub-jump-menu + *,
.node--type-newsletter .jump-menu li .sub-jump-menu + * {
  /* No additional styles needed - sub-menu should be last child */
}

/* Parent link that contains sub-jump-menu should be styled normally */
.node-newsletter .jump-menu li > a + .sub-jump-menu,
.node-type-newsletter.research .jump-menu li > a + .sub-jump-menu,
.node--type-research-newsletter .jump-menu li > a + .sub-jump-menu,
.node--type-newsletter .jump-menu li > a + .sub-jump-menu {
  margin-top: 5px;
  margin-bottom: 0px !important;
}

/* Research newsletter jump link - global styling for any usage */
.research-newsletter-jump-link {
  color: #333;
  text-decoration: none;
  display: inline-block;
}

.research-newsletter-jump-link:hover {
  text-decoration: underline;
  color: #333;
}

.research-newsletter-jump-link:visited {
  color: #333;
}

.research-newsletter-jump-link:active {
  color: #333;
}

.back-to-top {
  float: right;
  font-size: 12px;
  font-weight: bold;
  color: #333;
  text-decoration: none;
}

.back-to-top:hover {
  text-decoration: underline;
}

/* Bottom proposal info section - spacing */
.bottom-proposal-info {
  margin-bottom: 50px;
}

/* Grant opportunities node type styles - match D7 structure */
/* Hide default field labels on full page view - we use custom labels in template */
/* Target nodes that are inside content-container (full page view) */
.content-container .node-grant-opportunities .content .field__label,
.content-container .node-grant-opportunities .content .field-label:not([style*="font-weight:bold"]) {
  display: none !important;
}

/* Custom field labels for grant opportunities full page view */
.content-container .node-grant-opportunities .content .field-label[style*="font-weight:bold"] {
  display: block !important;
  font-size: 14px;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 5px;
  color: #595959;
}

/* Grant opportunities content styling on full page view */
.content-container .node-grant-opportunities .content {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.6;
  color: #595959;
}

/* Funding agency styling for grant opportunities full page */
.content-container .node-grant-opportunities .content .funding-agency {
  border: none;
  margin-bottom: 10px;
}

.content-container .node-grant-opportunities .content .funding-agency .lbl {
  font-weight: bold;
  display: inline;
  font-size: 14px;
  margin-right: 5px;
}

/* RRGGCA styling for grant opportunities full page */
.content-container .node-grant-opportunities .content .rrggca {
  margin-bottom: 10px;
}

.content-container .node-grant-opportunities .content .rrggca .lbl {
  font-weight: bold;
  display: inline;
  font-size: 14px;
  margin-right: 5px;
}

/* Body field styling for grant opportunities */
.content-container .node-grant-opportunities .content .field-body {
  margin-bottom: 15px;
  margin-top: 5px;
  line-height: 1.6;
}

.content-container .node-grant-opportunities .content .field-body p {
  margin-bottom: 10px;
}

.content-container .node-grant-opportunities .content .field-body p:last-child {
  margin-bottom: 0;
}

/* Lists in grant opportunities content */
.content-container .node-grant-opportunities .content ul,
.content-container .node-grant-opportunities .content ol {
  margin: 10px 0;
  padding-left: 40px;
  line-height: 1.6;
}

/* Legacy styles for backward compatibility (teaser view) */
.node-type-grant-opportunities:not(.page) .field-label {
  margin: 0;
  font-size: 20px !important;
  font-weight: bold;
  margin-bottom: 0;
  margin-top: 20px;
  margin-bottom: 20px;
  line-height: normal;
  margin-top: 40px;
  color: #000;
  border-bottom: solid 1px #ccc;
  font-weight: 500;
}

.node-type-grant-opportunities:not(.page) .node .content {
  font-size: 16px;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.5;
  letter-spacing: normal;
  color: #595959;
}

.node-type-grant-opportunities:not(.page) .content ul,
.node-type-grant-opportunities:not(.page) .content ol {
  margin: 0;
  padding: 0;
  vertical-align: text-bottom;
  margin-top: 20px;
  margin-bottom: 20px;
  display: inline-block;
  line-height: 22px;
  margin-left: 40px;
}

/* Copy to clipboard button for research newsletter */
/* This button appears in the sidebar-first (left-hand navigation) for newsletter pages */
#copytoclipboard {
  display: block;
  width: 100%;
  margin: 0 0 20px 0;
  background-color: #ccc;
  text-align: center;
  padding: 10px;
  cursor: pointer;
  border-radius: 5px;
  color: #333;
  font-weight: bold;
}

#copytoclipboard:hover {
  background-color: #bbb;
}

/* Override Claro's default table row styles in content areas */
.sidebar-content tr,
.content-container tr,
.region-content tr,
.node__content tr,
.sidebar-content .draggable-table.tabledrag-disabled tr,
.content-container .draggable-table.tabledrag-disabled tr,
.region-content .draggable-table.tabledrag-disabled tr,
.node__content .draggable-table.tabledrag-disabled tr {
  background: inherit;
  color: inherit;
}

/* Blockquote pullquote styling - matches D7 blockquote.pullquote */
blockquote.pullquote {
  font-family: 'Poppins', sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 26px;
  line-height: 1.23;
  letter-spacing: -.4px;
  color: #232636;
  position: relative;
  padding-left: 47px;
  padding-top: 26px;
  margin: 0;
  max-width: 815px;
}

/* Ensure font styles apply to all nested elements (p, span, etc.) */
blockquote.pullquote *,
blockquote.pullquote p {
  font-family: 'Poppins', sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 26px !important;
  line-height: 1.23 !important;
  letter-spacing: -.4px !important;
  color: #232636 !important;
}

@media screen and (min-width: 560px) {
  blockquote.pullquote {
    font-size: 48px;
    line-height: 1.13;
    padding-left: 97px;
    padding-top: 62px;
  }
  
  blockquote.pullquote *,
  blockquote.pullquote p {
    font-size: 48px !important;
    line-height: 1.13 !important;
  }
}

blockquote.pullquote::before {
  content: ' ';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: url("../img/icon-quote.svg");
  background-size: 100%;
  width: 64px;
  height: 64px;
}

@media screen and (min-width: 560px) {
  blockquote.pullquote::before {
    width: 128px;
    height: 128px;
  }
}

blockquote.pullquote::after {
  content: '"';
}

/* Blockquote pullquote with callout - gray background instead of SVG icon */
blockquote.pullquote.callout::before {
  background: none;
  background-color: rgb(239, 239, 239);
}

/* Facilities content type styles */
.node-type-facilities .facilities-equipment-row,
.node-type-facilities .facilities-equiement-row,
.node--type-facilities .facilities-equipment-row,
.node--type-facilities .facilities-equiement-row,
body.node-type-facilities .facilities-equipment-row,
body.node-type-facilities .facilities-equiement-row,
body.node--type-facilities .facilities-equipment-row,
body.node--type-facilities .facilities-equiement-row {
  border-top: solid 1px #ccc;
  align-items: center;
  display: flex;
}

.node-type-facilities .facilities-equipment-row .field_equipment_name,
.node-type-facilities .facilities-equiement-row .field_equipment_name,
.node--type-facilities .facilities-equipment-row .field_equipment_name,
.node--type-facilities .facilities-equiement-row .field_equipment_name,
body.node-type-facilities .facilities-equipment-row .field_equipment_name,
body.node-type-facilities .facilities-equiement-row .field_equipment_name,
body.node--type-facilities .facilities-equipment-row .field_equipment_name,
body.node--type-facilities .facilities-equiement-row .field_equipment_name {
  font-weight: bold;
  line-height: normal;
  word-break: break-word;
}

.node-type-facilities .facilities-equipment-row .field_equipment_description,
.node-type-facilities .facilities-equiement-row .field_equipment_description,
.node--type-facilities .facilities-equipment-row .field_equipment_description,
.node--type-facilities .facilities-equiement-row .field_equipment_description,
body.node-type-facilities .facilities-equipment-row .field_equipment_description,
body.node-type-facilities .facilities-equiement-row .field_equipment_description,
body.node--type-facilities .facilities-equipment-row .field_equipment_description,
body.node--type-facilities .facilities-equiement-row .field_equipment_description {
  font-size: 14px;
  line-height: normal;
  word-break: break-word;
}

.node-type-facilities .facilities-equipment-row .field_equipment_image,
.node-type-facilities .facilities-equiement-row .field_equipment_image,
.node--type-facilities .facilities-equipment-row .field_equipment_image,
.node--type-facilities .facilities-equiement-row .field_equipment_image,
body.node-type-facilities .facilities-equipment-row .field_equipment_image,
body.node-type-facilities .facilities-equiement-row .field_equipment_image,
body.node--type-facilities .facilities-equipment-row .field_equipment_image,
body.node--type-facilities .facilities-equiement-row .field_equipment_image {
  margin-top: 20px;
  margin-bottom: 20px;
  margin-right: -10px;
}

.node-type-facilities .facilities-equipment-row .field_equipment_image img,
.node-type-facilities .facilities-equiement-row .field_equipment_image img,
.node--type-facilities .facilities-equipment-row .field_equipment_image img,
.node--type-facilities .facilities-equiement-row .field_equipment_image img,
body.node-type-facilities .facilities-equipment-row .field_equipment_image img,
body.node-type-facilities .facilities-equiement-row .field_equipment_image img,
body.node--type-facilities .facilities-equipment-row .field_equipment_image img,
body.node--type-facilities .facilities-equiement-row .field_equipment_image img {
  width: 100% !important;
  height: auto !important;
  border: solid 1px #ccc;
  display: block;
}

.node-type-facilities .facilities-equipment-row .vcenter,
.node-type-facilities .facilities-equiement-row .vcenter,
.node--type-facilities .facilities-equipment-row .vcenter,
.node--type-facilities .facilities-equiement-row .vcenter,
body.node-type-facilities .facilities-equipment-row .vcenter,
body.node-type-facilities .facilities-equiement-row .vcenter,
body.node--type-facilities .facilities-equipment-row .vcenter,
body.node--type-facilities .facilities-equiement-row .vcenter {
  display: inline-block;
  vertical-align: middle;
  float: none;
  width: 100%;
}

.node-type-facilities .field-label,
.node--type-facilities .field-label,
.node-type-facilities .field__label,
.node--type-facilities .field__label,
body.node-type-facilities .field-label,
body.node--type-facilities .field-label,
body.node-type-facilities .field__label,
body.node--type-facilities .field__label {
  font-weight: bold;
}

/* Custom header logo styles - hide default :before pseudo-element and show image */
.header-container header.main-header .logo.custom-logo a:before {
  content: none !important;
}

.header-container header.main-header .logo.custom-logo img {
  display: block;
  height: 50px;
  width: auto;
  margin: 0 auto;
}

/* Also hide :before for mobile nav when custom logo is present */
div.mobile-nav .logo.custom-logo a:before {
  content: none !important;
}

div.mobile-nav .logo.custom-logo img {
  display: block;
  height: auto;
  width: auto;
  max-width: 130px;
  margin: 0 auto;
}

/* Add margin below related links list for spacing with content below */
.node-type-two-column-alt- .sidebar-second .related-links ul,
.node-type-two-column .sidebar-second .related-links ul,
.sidebar-second .related-links ul,
.related-links ul {
  margin-bottom: 1em;
}

/**
 * Hide elements from all users.
 *
 * Used for elements which should not be immediately displayed to any user. An
 * example would be a collapsible fieldset that will be expanded with a click
 * from a user. The effect of this class can be toggled with the jQuery show()
 * and hide() functions.
 */
.element-hidden {
  display: none;
}

/**
 * Hide elements visually, but keep them available for screen-readers.
 *
 * Used for information required for screen-reader users to understand and use
 * the site where visual display is undesirable. Information provided in this
 * manner should be kept concise, to avoid unnecessary burden on the user.
 * "!important" is used to prevent unintentional overrides.
 */
.element-invisible {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
}

/**
 * The .element-focusable class extends the .element-invisible class to allow
 * the element to be focusable when navigated to via the keyboard.
 */
.element-invisible.element-focusable:active,
.element-invisible.element-focusable:focus {
  position: static !important;
  clip: auto;
  overflow: visible;
  height: auto;
}

.media-wysiwyg-align-left,
.media-float-left {
  float: left;
  margin-right: 20px;
}
.media-wysiwyg-align-right,
.media-float-right {
  float: right;
  margin-left: 20px;
}
.media-wysiwyg-align-center {
  text-align: -moz-center;
  text-align: -webkit-center;
  text-align: center;
}