/* LSAM faculty site — CSUN-inspired presentation layer */
:root {
  --csun-red: #d22030;
  --csun-dark-red: #9d1725;
  --csun-charcoal: #222;
  --csun-slate: #4d4d4d;
  --csun-gray: #f4f4f4;
  --csun-line: #d7d7d7;
  --content-width: 1120px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--csun-charcoal);
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
body > p:first-of-type { display: none; }
a { color: #a71930; text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover, a:focus { color: #6f101b; }
img { max-width: 100%; height: auto; }

#wrapper {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden;
}

/* Institutional header */
#topheader {
  position: relative;
  min-height: 116px;
  padding: 26px max(24px, calc((100% - var(--content-width)) / 2));
  color: #fff;
  background: var(--csun-red);
  border-top: 7px solid var(--csun-dark-red);
}
#wordmark { float: left; width: auto; margin: 0; }
#wordmark a { display: block; color: #fff; text-decoration: none; }
#wordmark img { display: none; }
#wordmark a::after {
  content: "CSUN";
  display: block;
  font-size: 2.6rem;
  font-weight: 800;
  line-height: .95;
  letter-spacing: -.1em;
}
#wordmark a::before {
  content: "CALIFORNIA STATE UNIVERSITY, NORTHRIDGE";
  display: block;
  margin-bottom: 7px;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .075em;
}
#toputilities { float: none; margin-left: 260px; padding-top: 12px; text-align: right; }
#csunlinks ul, #csunlinks p + p { display: none; }
#csunlinks p, #csunlinks .style9, .style9 {
  margin: 0 !important;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.25rem, 2vw, 1.8rem) !important;
  font-weight: 400;
  line-height: 1.2;
}
#offleft { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

/* Primary navigation */
#global {
  clear: both;
  height: auto !important;
  min-height: 55px;
  padding: 0 max(24px, calc((100% - var(--content-width)) / 2));
  background: #292929;
  border-bottom: 4px solid var(--csun-red);
}
#global > h1, #global h1 { margin: 0; padding: 0; font-size: 0; font-weight: normal; }
#global ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  max-width: var(--content-width);
  min-height: 51px;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none;
}
#global li { display: block !important; margin: 0 !important; padding: 0 !important; font-size: 0 !important; }
#global a {
  display: inline-block;
  padding: 16px 17px;
  color: #fff;
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .015em;
  text-decoration: none;
}
#global a:hover, #global a:focus { background: var(--csun-red); color: #fff; }
#global a[href^="Header"], #global a:empty { display: none; }
#global img { display: none; }

/* Page content */
.main_col {
  float: none !important;
  width: min(var(--content-width), calc(100% - 48px)) !important;
  margin: 52px auto 68px !important;
  background: #fff !important;
}
#main_column {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 0 18px !important;
  background: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--csun-line) !important;
}
#wrapper #main_column h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--csun-dark-red);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.85rem, 4vw, 2.8rem) !important;
  font-weight: 400;
  line-height: 1.15;
  background: transparent none !important;
  background-image: none !important;
  text-shadow: none !important;
}
.border {
  margin: 0 !important;
  padding: 28px 0 0 !important;
  font-size: 1rem !important;
  background: transparent !important;
  border: 0 !important;
}
.border > div, .border > div > div, .border > div > div > div { max-width: 100%; }
.border h2 {
  margin: 2.5rem 0 1rem;
  padding-bottom: .5rem;
  color: var(--csun-dark-red);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  font-weight: 400;
  line-height: 1.2;
  border-bottom: 3px solid var(--csun-red);
  background: transparent none !important;
  background-image: none !important;
  text-shadow: none !important;
}
.border h3 {
  margin: 1.85rem 0 .65rem;
  color: var(--csun-slate);
  font-size: 1.18rem;
  line-height: 1.3;
}
.border h2 + h3 { margin-top: 1.25rem; }
.border p { margin: 0 0 1rem; }
.border ul, .border ol { margin: .4rem 0 1.2rem; padding-left: 1.45rem; }
.border li { margin-bottom: .55rem; }
.border table {
  width: auto !important;
  max-width: 100%;
  margin: 1rem 0 1.5rem;
  border-collapse: collapse;
  text-align: left;
}
.border caption { padding: .75rem 0; color: var(--csun-dark-red); font-size: 1.25rem; font-weight: 700; }
.border td, .border th { padding: .65rem .85rem; border-bottom: 1px solid var(--csun-line); vertical-align: top; }
.border tr:nth-child(even) { background: var(--csun-gray); }
.border td:first-child { font-weight: 700; white-space: nowrap; }
.border img { margin: .5rem 1.25rem 1rem 0; border: 1px solid var(--csun-line); box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.border .auto-style1 { border: 4px solid var(--csun-red) !important; }

/* Footer */
#footer {
  clear: both;
  margin: 0 !important;
  padding: 32px max(24px, calc((100% - var(--content-width)) / 2)) !important;
  color: #e8e8e8;
  background: #292929;
  border-top: 6px solid var(--csun-red);
}
#footer ul {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1.3rem;
  max-width: var(--content-width);
  margin: 0 auto .7rem !important;
  padding: 0 !important;
  list-style: none;
}
#footer li { margin: 0 !important; color: #e8e8e8 !important; font-size: .9rem; }
#footer .last { width: 100%; color: #bbb !important; font-size: .8rem; }
#footer a { color: #fff !important; }

@media (max-width: 680px) {
  #topheader { min-height: 0; padding: 20px 24px; }
  #wordmark { float: none; }
  #wordmark a::after { font-size: 2.15rem; }
  #toputilities { margin: 18px 0 0; padding: 0; text-align: left; }
  #global { padding: 0; }
  #global ul { display: block; min-height: 0; }
  #global a { display: block; padding: 12px 24px; border-bottom: 1px solid #4a4a4a; }
  .main_col { width: min(100% - 32px, var(--content-width)) !important; margin: 34px auto 48px !important; }
  .border { padding-top: 22px !important; }
  .border table, .border tbody, .border tr, .border td { display: block; width: 100% !important; }
  .border td { padding: .5rem .65rem; }
  .border td:first-child { padding-bottom: 0; }
}

@media print {
  #topheader, #global, #footer { display: none; }
  .main_col { width: 100% !important; margin: 0 !important; }
}

/* Current CSUN MSEM frame: utility bar, departmental masthead, menu and title band. */
.skip-link { position: absolute; left: -10000px; top: auto; }
.skip-link:focus { left: 18px; top: 10px; z-index: 10; padding: 8px 12px; color: #fff; background: #111; }
.msem-wrap { width: min(1200px, calc(100% - 80px)); margin: 0 auto; }
.msem-frame { font-family: Arial, Helvetica, sans-serif; }
.msem-utility { min-height: 49px; color: #1d1d1d; background: #fafafa; border-bottom: 1px solid #f2f2f2; }
.msem-utility .msem-wrap { display: flex; align-items: stretch; min-height: 49px; }
.mycsun { min-width: 123px; margin-left: calc((1200px - 100vw) / 2); padding: 0 23px; color: #202020; font: 700 .88rem Arial, sans-serif; background: #e1e1e1; border: 0; }
.msem-utility nav { display: flex; align-items: center; gap: 29px; padding-left: 30px; }
.msem-utility a { color: #202020; font-size: .9rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.msem-actions { margin-left: auto; padding-left: 25px !important; gap: 22px !important; }
.msem-actions a::after { display: inline-block; width: 7px; height: 7px; margin-left: 11px; content: ''; background: #43b6db; border-radius: 50%; }
.msem-actions a:nth-child(2)::after { background: #6dd3ce; }.msem-actions a:nth-child(3)::after { background: #5e4b98; }.msem-actions a:nth-child(4)::after { background: #d22030; }
.msem-brand { display: flex; align-items: center; justify-content: space-between; min-height: 181px; padding: 34px 0 31px; }
.msem-brand > div { min-width: 0; max-width: 68%; }
#wrapper .college { display: block; margin-bottom: 11px; color: #171717; font-size: 1.1rem; font-weight: 700; text-decoration: none !important; }
#wrapper .site-name { display: block; color: #080808; font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; line-height: 1.08; letter-spacing: -.025em; text-decoration: none !important; }
.msem-wordmark { display: flex; align-items: center; color: #bd1230; text-decoration: none; }
.msem-wordmark img { display: block; width: 364px; height: auto; margin: 0; border: 0; box-shadow: none; object-fit: contain; }
.msem-primary { color: #fff; background: #dc1c32; }
.msem-primary .msem-wrap { display: flex; align-items: center; min-height: 98px; }
.msem-primary a { padding: 39px 23px 37px 0; color: #fff; font-family: Georgia, serif; font-size: 1.13rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.msem-primary a:hover, .msem-primary a:focus { text-decoration: underline; }
.search-symbol { margin-left: auto; color: #fff; font-size: 2.8rem; line-height: 1; transform: rotate(-25deg); }
.msem-page-title { min-height: 330px; padding: 35px 0 42px; color: #fff; background: linear-gradient(90deg, rgba(0,0,0,.76), rgba(0,0,0,.25)), url('../images/ai-manufacturing-hero.png') center/cover; }
.breadcrumb { display: none; }
.msem-page-title h1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
#site-content.main_col { width: min(1120px, calc(100% - 80px)) !important; margin-top: 54px !important; }
#site-content #main_column { display: none; }
.msem-footer { clear: both; padding: 43px 0 0; color: #fff; background: #292929; border-top: 0; }.msem-footer .msem-wrap { display: flex; flex-wrap: wrap; gap: 28px; }
.footer-contact { display: flex; flex: 1 1 300px; flex-direction: column; gap: 11px; }.footer-contact strong { font-size: 1.12rem; }.footer-contact span { color: #ddd; line-height: 1.5; }.msem-footer a { color: #fff; }.footer-links { display: grid; flex: 1 1 300px; grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: 8px 22px; align-content: start; }.footer-give { display: flex; flex: 1 1 200px; flex-direction: column; align-items: flex-start; gap: 13px; color: #fff; font-size: .82rem; font-weight: 700; letter-spacing: .07em; }.footer-give a { padding: 9px 17px; color: #fff; background: #dc1c32; font-size: .9rem; letter-spacing: 0; text-decoration: none; }.footer-bottom { display: flex; justify-content: space-between; width: 100%; margin-top: 28px; padding: 19px 0; color: #ccc; font-size: .78rem; border-top: 1px solid #555; }.footer-bottom span { display: flex; gap: 15px; }.footer-bottom a { color: #ddd; }
.page-index .border caption { color: #222 !important; background: #fff !important; text-transform: none !important; }
.page-news .auto-style1, .page-news .auto-style1 * { border: 0 !important; outline: 0 !important; }
.page-news #site-content h3 {
  margin: 2rem 0 .85rem;
  padding: .68rem .9rem;
  color: #303030;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.25;
  background: #f3f3f3;
  border: 0;
  border-left: 5px solid var(--csun-red);
}
.page-people #site-content h3 {
  margin: 2rem 0 .85rem;
  padding: .68rem .9rem;
  color: #303030;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.25;
  background: #f3f3f3;
  border: 0;
  border-left: 5px solid var(--csun-red);
}
.page-people #site-content h3 strong,
.page-people #site-content h3 b,
.page-people #site-content h3 span {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  text-decoration: none;
}
.page-index #site-content h3.profile-subheading {
  margin: 2rem 0 .85rem;
  padding: .68rem .9rem;
  color: #303030;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.25;
  background: #f3f3f3;
  border: 0;
  border-left: 5px solid var(--csun-red);
}
.page-teaching #site-content .teaching-subheading {
  margin: 2rem 0 .85rem;
  padding: .68rem .9rem;
  color: #303030;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.35;
  background: #f3f3f3;
  border-left: 5px solid var(--csun-red);
}
.page-research .facility-section { padding-bottom: 1rem; }
.page-research .facility-section > h2 { margin: 0 0 .7rem; color: #252525; font-size: 2rem; }
.page-research .facility-intro { max-width: 760px; margin: 0 0 2rem; color: #555; font-size: 1.05rem; line-height: 1.6; }
.page-research .facility-grid { display: grid; gap: 42px; }
.page-research .facility-category > h2 { margin: 0 0 1.05rem; padding: .68rem .9rem; color: #303030; font-family: Arial, Helvetica, sans-serif; font-size: 1.08rem; font-weight: 700; line-height: 1.25; background: #f3f3f3; border-left: 5px solid var(--csun-red); }
.page-research .facility-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.page-research .facility-card { display: grid; grid-template-columns: minmax(145px, 39%) minmax(0, 1fr); gap: 18px; min-width: 0; padding: 17px; background: #fff; border: 1px solid #ddd; border-top: 4px solid var(--csun-red); box-shadow: 0 4px 15px rgba(0, 0, 0, .07); }
.page-research .facility-card img { align-self: start; width: 100%; height: 168px; margin: 0; object-fit: contain; background: #fafafa; }
.page-research .facility-card h3 { margin: 0 0 .65rem; padding: .6rem .72rem; color: #303030; font-family: Arial, Helvetica, sans-serif; font-size: 1rem; font-weight: 700; line-height: 1.28; background: #f3f3f3; border-left: 5px solid var(--csun-red); }
.page-research .facility-card ul { margin: 0 0 .8rem; padding-left: 1.05rem; font-size: .92rem; line-height: 1.45; }
.page-research .facility-card li { margin-bottom: .32rem; }
.page-research .facility-card a { color: #a8152b; font-size: .9rem; font-weight: 700; }
@media (max-width: 750px) { .page-research .facility-category-grid { grid-template-columns: 1fr; }.page-research .facility-card { grid-template-columns: 125px minmax(0, 1fr); }.page-research .facility-card img { height: 145px; } }
@media (max-width: 450px) { .page-research .facility-card { grid-template-columns: 1fr; }.page-research .facility-card img { width: min(100%, 230px); height: auto; margin: 0 auto; } }
.page-index #site-content img.auto-style1 {
  float: left;
  width: 238px;
  height: auto;
  margin: .25rem 2rem 1.35rem 0;
  border: 0 !important;
  border-radius: 2px;
  box-shadow: 0 7px 20px rgba(0, 0, 0, .18);
}
.page-index #site-content .profile-contact {
  width: min(100%, 720px) !important;
  margin: .25rem 0 2rem !important;
  overflow: hidden;
  color: #303030;
  background: #fff;
  border: 1px solid #ddd;
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .09);
}
.page-index #site-content .profile-contact caption {
  padding: 1rem 1.15rem .85rem;
  color: #222 !important;
  background: #fff !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: .01em;
  text-align: left;
  text-transform: none !important;
  border-bottom: 4px solid var(--csun-red);
}
.page-index #site-content .profile-contact tr,
.page-index #site-content .profile-contact tr:nth-child(even) { background: #fff; }
.page-index #site-content .profile-contact td {
  padding: .72rem 1rem;
  border: 0;
  border-bottom: 1px solid #e4e4e4;
  vertical-align: top;
}
.page-index #site-content .profile-contact tr:last-child td { border-bottom: 0; }
.page-index #site-content .profile-contact td:first-child {
  width: 20%;
  color: #555;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.page-index #site-content .profile-contact a { overflow-wrap: anywhere; }
.page-index #site-content h3.profile-subheading { clear: both; }
@media (max-width: 620px) {
  .page-index #site-content img.auto-style1 { float: none; display: block; margin: 0 auto 1.5rem; }
  .page-index #site-content .profile-contact { width: 100% !important; }
}
@media (max-width: 850px) { .msem-wrap, #site-content.main_col { width: min(100% - 40px, 1120px) !important; }.msem-brand { min-height: 145px; padding: 28px 0; }.msem-brand > div { max-width: 62%; }.msem-wordmark img { width: 250px; height: auto; }.msem-primary .msem-wrap { min-height: 0; flex-wrap: wrap; }.msem-primary a { padding: 17px 18px 17px 0; font-size: 1rem; }.msem-page-title { min-height: 260px; } }
@media (max-width: 540px) { .msem-utility { min-height: 42px; }.msem-utility .msem-wrap { min-height: 42px; }.mycsun { min-width: 105px; font-size: .75rem; }.msem-actions a:nth-child(-n+2) { display: none; }.msem-brand { min-height: 135px; }.college { font-size: .8rem; }.site-name { font-size: 1.55rem; }.msem-wordmark span { font-size: 2.5rem; }.msem-primary a { padding: 13px 14px 13px 0; font-size: .86rem; }.msem-primary a::after { display: none; }.search-symbol { font-size: 2rem; }.msem-page-title { min-height: 220px; padding-top: 26px; }.breadcrumb { margin-bottom: 65px; font-size: .8rem; }.msem-page-title h1 { font-size: 2.45rem; }.footer-bottom { display: block; }.footer-bottom span { flex-wrap: wrap; margin-top: 10px; } }
