/**
 * SCALE Base Stylesheet for SCALE Drupal Theme 2026.
 * This sheet overrides CSS provided by the "Bootstrap 5" parent theme in style.css
 * and is written mobile-first. Responsive styles are in scale-responsive.css.
 *
 * @link          https://www.tbd.org SCALE
 * @since         1.0.0
 * @copyright     Survey of Climate change and Adirondack Lake Ecosystems 2026
 */

/* FONTS */
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');
/*@import url('https://fonts.googleapis.com/css2?family=Geist:wght@100..900&display=swap');*/

/* VARIABLES */
:root {
  --wen-font: "Source Sans 3", sans-serif;
  --wen-font-size-base: 16px;
  --wen-body-line-height: 1.8;
  --wen-color-body-text: #424242;
  --wen-color-body-bg: #fff;
  --wen-color-body-text-inverse: #fff;
  --wen-color-text-inverse: #fff;
  --wen-color-red-01: #900;
  --wen-color-red-02: #e2231b;
  --wen-color-gray-01: #424242;
  --wen-color-gray-02: #ddd;
  --wen-color-gray-03: #f5f5f5;
  --wen-color-gray-04: #f8f8f8;
  --wen-color-blue-01: #337ab7;
}
/* Dark color scheme */
@media (prefers-color-scheme: dark) {
  :root {
    --wen-body-text-color: #ddd;
    --wen-body-bg-color: #111;
    --wen-color-blue-01: #7af;
  }
}
/* Bootstrap Overrides */
:root {
  --bs-font-sans-serif: var(--wen-font);
  --bs-body-font-family: var(--wen-font);
  --bs-body-font-size: var(--wen-font-size-base);
  --bs-body-color: var(--wen-color-body-text);
  --bs-body-line-height: var(--wen-body-line-height);
  --bs-body-bg: var(--wen-color-body-bg);
  --bs-link-color: var(--wen-color-blue-01);
  --bs-dropdown-link-hover-bg: var(--wen-color-blue-01);
  --bs-navbar-active-color: var(--wen-color-blue-01);
}
/* HEADINGS and LINKS */
a {
  color: var(--wen-color-blue-01);
  text-decoration: none;
}
a:active, a:focus, a:hover {
  text-decoration: underline;
}
/* RPI TOP BAR and NAV */
#block-johnwen-rensselaernametopbar {
  background-color: var(--wen-color-red-01);
  color: var(--wen-color-body-text-inverse);
}
#rpi-topbar-links nav {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0.25rem;
}
#rpi-topbar-links ul {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
}
#rpi-topbar-links ul.rpi-links {
  gap: 0.75rem;
}
#rpi-topbar-links ul.rpi-links,
#rpi-topbar-links li.rpi-eng-link,
.site-logo {
  display: none;
}
#rpi-topbar-links li {
  list-style: none;
  line-height: 1.4rem;
}
#rpi-topbar-links a {
  color: var(--wen-color-body-text-inverse);
  text-decoration: none;
}
/* TITLE and NAV BAR */
#title-branding a {
  color: var(--wen-color-body-text-inverse);
  text-decoration: none;
}
.region-nav-branding {
  padding: 0.25rem 0;
  background-color: var(--wen-color-red-02);
  color: var(--wen-color-body-text-inverse);
}
header .navbar {
  background-color: var(--wen-color-gray-01);
  color: var(--wen-color-text-inverse);
  padding: 0;
}
header .navbar div.container {
  position: relative; /* allows the mobile menu toggle to stay within the container bounds */
}
.navbar-brand {
  justify-content: left;
  padding-right: 64px; /* offset for mobile menu toggle */
}
.navbar-brand a.site-title {
  color: var(--wen-color-text-inverse);
  text-transform: unset;
  font-weight: normal;
  font-size: 2rem;
  line-height: 1.2em;
  padding: 0.5em 0;
  display: block;
}
.navbar-dark {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.8' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-brand a.site-title:hover {
  color: var(--wen-color-text-inverse);
}
/* NAVBAR REGION */
.region.region-nav-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  flex-direction: column;
}
/* SOCIAL MEDIA ICONS */
#block-johnwen-socialmediaicons {
  margin: 1rem auto;
}
#block-johnwen-socialmediaicons .field--name-body {
  display: flex;
  gap: 1rem;
  margin: 1rem auto;
}
#block-johnwen-socialmediaicons .x-icon {
  height: 19px;
  width: auto;
}
#block-johnwen-socialmediaicons .yt-icon {
  opacity: 0.98;
  height: 19px;
}
  /* DESKTOP NAVIGATION */
#block-johnwen-main-navigation {
  display: none; /* Hide Desktop Nav */
}
.navbar-toggler {
  position: absolute;
  right: 1rem;
  top: -3.75rem;
  z-index: 20000;
  background-color: var(--wen-color-red-01);
  color: white;
}
/* MOBILE NAVIGATION */
#block-johnwen-mainnavigation-2 {
  padding: 1rem;
}
#block-johnwen-mainnavigation-2 li {
  list-style: none;
}
#block-johnwen-mainnavigation-2 a {
  color: var(--wen-color-text-inverse);
}
/* SUBNAVIGATION (right sidebar) */
#block-johnwen-mainnavigation-3 {
  border-left: 1px solid var(--wen-color-gray-01);
}
#block-johnwen-mainnavigation-3 a.nav-link {
  padding-left: 1rem;
}
#block-johnwen-mainnavigation-3 a.nav-link:not(.is-active):hover,
#block-johnwen-mainnavigation-3 a.nav-link:not(.is-active):active {
  color: var(--wen-color-body-text);
  background-color: var(--wen-color-body-bg);
  text-decoration: underline;
}
#block-johnwen-mainnavigation-3 a.nav-link.active.is-active {
  color: var(--wen-color-body-text-inverse);
}
#block-johnwen-mainnavigation-3 li.dropdown ul {
  display: block;
  border: none;
  padding: 0 0 0 1rem;
}
#block-johnwen-mainnavigation-3 a.dropdown-toggle {
  color: var(--wen-color-body-text);
}
#block-johnwen-mainnavigation-3 a.dropdown-toggle::after {
  content: none;
}
#block-johnwen-mainnavigation-3 a.is-active {
  background-color: var(--wen-color-gray-01);
  color: var(--wen-color-body-text-inverse);
}
#block-johnwen-mainnavigation-3 .navbar-nav ul li {
  list-style: none;
}
#block-johnwen-mainnavigation-3 .navbar-nav ul li a {
  font-size: 0.9em;
}
/* FRONTPAGE */
#block-johnwen-views-block-open-positions-block-1 {
  margin-top: 4rem;
}
nav#block-johnwen-frontpagesidemenu {
  border-left: 1px solid var(--wen-color-gray-01);
  padding-left: 1rem;
}
/* MAIN / GENERAL */
main {
  padding: 2rem 0;
}
body.path-frontpage .region-breadcrumb {
  display: none;
}
.field--name-field-image,
.field--name-field-logo {
  margin: 1em 0 2em;
  text-align: center;
}
.field--name-field-caption {
  font-style: italic;
  margin: 1rem 0.5rem;
  line-height: 1.5;
  text-align: center;
}
strong {
  font-weight: 600;
}
.views-element-container h2 {
  margin: 1em 0;
}
/* RESEARCH AREAS */
a.research-area-item {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 2rem 0;
  padding: 2rem;
  border: 1px solid var(--wen-color-gray-02);
  text-decoration: none;
  color: var(--wen-color-body-text);
  background-color: var(--wen-color-gray-04);
}
a.research-area-item .research-area-image img {
  min-width: 100%;
}
a.research-area-item .field--name-field-caption {
  display: none;
}
/* PROJECTS */
a.project-item {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 2rem 0;
  padding: 2rem;
  border: 1px solid var(--wen-color-gray-02);
  text-decoration: none;
  color: var(--wen-color-body-text);
  background-color: var(--wen-color-gray-04);
}
a.project-item .project-image img {
  min-width: 100%;
}
a.project-item h2 {
  margin: 0 0 0.5rem;
  font-size: 1.7rem;
  color: var(--wen-color-blue-01);
}
a.project-item:hover h2 {
  text-decoration: underline;
}
body.page-node-type-project .field__item article.node--type-grant h2 {
  margin: 1rem 0 0.25rem;
  font-size: 1.6rem;
}
body.page-node-type-project .field__item article.node--type-grant .node__content .field {
  display: flex;
  align-items: center;
  line-height: 1.6rem;
}
body.page-node-type-project .field__item article.node--type-grant .node__content .field .field__label {
  margin: 0;
  font-size: 1rem;
  font-weight: normal;
}
/* GRANTS */
.view-grants li {
  margin: 1em 2em 1.5em 2em;
  line-height: 1.5rem;
}
body.page-node-type-grant   .field--name-field-abstract {
  margin-top: 2rem;
}
/* PEOPLE */
body.page-node-type-person main .field {
  margin-top: 1rem;
}
body.page-node-type-person .field--name-field-position-title {
  font-style: italic;
  font-size: 1.4em;
  margin: -0.5em 0 0;
}
body.page-node-type-person .field__label {
  font-size: calc(1.3rem + 0.6vw);
  font-weight: 500;
}
body.page-node-type-person .field--name-field-professional-experience td {
  border: 1px solid var(--wen-color-gray-02);
}
body.page-node-type-person .field--name-field-professional-experience td:first-child {
  white-space: nowrap;
}
body.page-node-type-person .field--name-field-photo img {
  min-width: 100%;
}
.view-people-for-display .view-content {
  text-align: center;
  line-height: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.view-people-for-display .view-content a {
  text-decoration: none;
  color: var(--wen-color-body-text);
}
.view-people-for-display img {
  min-width: 100%;
  border: 1px solid var(--wen-color-gray-02);
}
.view-people-for-display .alumni-profile-name {
  font-size: 1.2rem;
  margin: 0.75rem 0 0.5rem;
}
  /* PUBLICATIONS */
.publication-link-container .field__label {
  display: flex;
  justify-content: space-between;
  margin: 2rem 0;
}
.field--name-field-publication-type {
  font-style: italic;
}
.view-publications p,
.view-cv-publications p {
  display: inline;
}
.view-publications li,
.view-cv-publications li {
  margin-bottom: 1rem;
}
.publication-link-container {
  display: flex;
  justify-content: space-between;
  margin: 2rem 0 0;
}
/* SOFTWARE */
body.page-node-type-software .field__label,
body.page-node-type-project .field__label {
  font-size: calc(1.3rem + 0.6vw);
  font-weight: 500;
  margin: 1rem 0 -0.5rem;
}
.field--name-field-website .field__item {
  font-size: 1.4rem;
}
.view-software .views-row {
  margin-bottom: 2rem;
}
.view-software .software h2 {
  margin-bottom: 0;
}
/* FOOTER */
footer.site-footer .region-footer {
  border-top: 1px solid var(--wen-color-gray-02);
  padding-top: 1rem;
  font-size: 0.9rem;
}
