@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;700&family=Lato:wght@400;700&family=Vidaloka&family=Bricolage+Grotesque:wght@400;800&display=swap');

:root {
  --jbi-navy: #003050;
  --jbi-navy-2: #004671;
  --jbi-card-navy: #063b5e;
  --jbi-cream: #ede9e3;
  --jbi-text: #18202c;
  --jbi-muted: #4e5a69;
  --jbi-white: #ffffff;
  --jbi-light: #e0f0fa;
  --jbi-orange: #d3420d;
  --jbi-orange-2: #e86e34;
  --jbi-teal: #0092be;
  --jbi-green: #84be41;
  --jbi-yellow: #ffd200;
  --jbi-radius: 22px;
  --jbi-max: 1280px;
  --jbi-gray: #cccccc;
  --jbi-dropdownbg: #1f4965;
  --jbi-gold: #E8C87A;
  --jbi-publication-alert: #f26531;
  --jbi-publication-blueprint: #84be41;
  --jbi-publication-brief: #3db5e6;
  --jbi-publication-infographic: #ffd200;
}

body {
  font-family: Arial, 'Lato', sans-serif;
  color: var(--jbi-text);
  background: var(--jbi-navy);  
}

body {
  opacity: 0;
  animation: fadeIn 0.8s ease-in forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.row {
  --bs-gutter-x: 0;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 99;
  transition: background-color .25s ease, box-shadow .25s ease;
}

.site-header.is-scrolled {
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
}

.site-header.is-scrolled nav.navbar {
    min-height: 60px;
}

.site-header.is-scrolled nav.navbar-brand {
    min-height: 40px;
}
h1, h2, h3, h4, h5 {
  font-family: 'Vidaloka', serif;
}

h4, h5 {
  font-family: Arial, sans-serif;
  font-weight: bold;
  font-size: 1rem;
}

.two-columns {
  column-count: 2;
  column-gap: 2rem;
}

a {
  color: var(--jbi-navy);
  text-decoration: underline;
}

h1 a, h2 a, h3 a, h4 a, h5 a {
  text-decoration: none;
}

body > .visually-hidden-focusable {
  position: absolute;
}

@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: var(--jbi-max);
  }
}

#block-jbi-uibootstrap-breadcrumbs,
.block--type-alert .container,
.paragraph--type--section > .container,
footer.container[role='contentinfo'] > div,
.field--name-field-view,
nav.navbar > .container-fluid,
.views-element-container > .contextual-region > nav,
body.path-taxonomy #block-jbi-uibootstrap-content .views-element-container .views-row {
  max-width: var(--jbi-max);
  margin: 0 auto;
}


body .dialog-off-canvas-main-canvas,
body .dialog-off-canvas-main-canvas > .container,
body .dialog-off-canvas-main-canvas > footer.container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

body .dialog-off-canvas-main-canvas > .container.gx-0,
body .dialog-off-canvas-main-canvas > .container.gx-0.gx-sm-4.mb-3 {
  margin-bottom: 0 !important;
  background: var(--jbi-navy);
}


body nav.navbar {
  min-height: 152px;
  background: var(--jbi-navy) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  padding: 0;
}

body nav.navbar > .container-fluid {
  margin: 0 auto;
  padding: 16px 0;
  align-items: center;
}

body .navbar-brand {
  color: #fff;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px ;
  font-weight: 400;
  letter-spacing: 1.54px;
  text-transform: uppercase;
}

body .navbar-brand + .navbar-brand {
  margin-left: 12px;
}

body .navbar-brand img {
  width: 212px;
  height: 56px;
  object-fit: contain;
}

body .navbar-nav {
  gap: 20px;
  align-items: center;
}

body .navbar-nav .nav-link {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  letter-spacing: 1.54px;
  text-transform: uppercase;
  color: #fff;
  padding: 1.25em 0;
}

body #block-jbi-uibootstrap-account-menu .nav-link {
  display: inline-block;
  color: #fff;
  background: var(--jbi-orange);
  border-radius: 999px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
  padding: 10px 14px;
  font-weight: 700;
}

body .field--name-field-hero,
body .dialog-off-canvas-main-canvas > .container:nth-of-type(3),
body .dialog-off-canvas-main-canvas > .container:nth-of-type(3) > .row,
body .dialog-off-canvas-main-canvas > .container:nth-of-type(3) [role='main'],
body #block-jbi-uibootstrap-content,
body article.page,
body article.page > div > div:first-of-type,
body .field--name-field-paragraphs,
body article.page > div > div:last-of-type,
body article.page > div > div:last-of-type > .field--items,
body article.page > div > div:last-of-type > .field--items > .field--item {
  margin: 0;
  max-width: none;
  padding: 0;
}





/* Bootstrap button overrides */
body .btn,
body a.btn,
body button.btn,
ul.bubbles li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border-radius: 999px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 1.54px;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 22px;
  border-width: 1px;
  border-style: solid;
  box-shadow: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* buttons */


.btn.btn-primary, .btn.btn-default {
  background: transparent;
  color: contrast-color(var(--backgroundColor));
  border: 1px solid var(--jbi-navy);
}


.dark-blue .btn.btn-primary,
.dark-blue a.btn.btn-primary,
.dark-blue body button.btn.btn-primary,
.paragraph--type--hero .btn.btn-primary,
.paragraph--type--hero a.btn.btn-primary,
.paragraph--type--hero body button.btn.btn-primary {
  color: #fff;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.4);
}

body .btn.btn-primary:hover,
body .btn.btn-primary:focus,
body a.btn.btn-primary:hover,
body a.btn.btn-primary:focus,
body button.btn.btn-primary:hover,
body button.btn.btn-primary:focus {
  color: var(--jbi-navy);
  background: #fff;
  border-color: contrast-color(var(--backgroundColor));
  box-shadow: none;
}

body .btn.btn-secondary,
body a.btn.btn-secondary,
body button.btn.btn-secondary {
  color: #fff;
  background: #d3420d;
  border-color: #d3420d;
}

body .btn.btn-secondary:hover,
body .btn.btn-secondary:focus,
body a.btn.btn-secondary:hover,
body a.btn.btn-secondary:focus,
body button.btn.btn-secondary:hover,
body button.btn.btn-secondary:focus {
  color: #d3420d;
  background: #fff;
  border-color: #fff;
  box-shadow: none;
}

/* Hero */
@media (min-width: 1100px) {
  .paragraph--type--hero .layout--twocol > .layout__region--first {
    flex: 0 1 30%;
  }
  .paragraph--type--hero .layout--twocol > .layout__region--second {
    flex: 0 1 70%;
  }
}

@media (max-width: 640px) {
  .paragraph--type--hero .layout--twocol > .layout__region--first {
    order: 2;
  }
  .paragraph--type--hero .layout--twocol > .layout__region--second {
    order: 1;
  }
  .paragraph--type--hero .hero-image {
    margin-left: 0px !important;
  }
}


body .paragraph--type--hero {
  padding: 80px 32px;
  background-size: auto 100% !important;
  background-position: 75% center !important;  
  background-repeat: no-repeat !important;
  background-blend-mode: normal, color !important; 
  background: linear-gradient(270deg, rgba(0,30,50,0.5), rgba(0,46,71,1)), linear-gradient(90deg, #003050 0%, #004671 100%), url();
}


@media (min-width: 1100px) {
  .paragraph--type--hero > .container .field--item {
    max-width: 800px;
  }
}

body .paragraph--type--hero .field--item {
  color: var(--jbi-light);
}



.paragraph--type--hero .eyebrow,
.paragraph--type--hero .field--name-field-eyebrow .field--item,
.paragraph--type--section.dark-blue .field--name-field-eyebrow .field--item {
  color: var(--jbi-gold);
}

body .paragraph--type--hero h1,
body .paragraph--type--hero > div > div:nth-child(2) .field--item {
  margin: 0.25em 0 .5em;
  font-family: 'Vidaloka', serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: .9em;
  letter-spacing: -1.38px;
  color: #fff;
}

body .paragraph--type--hero > div > div:nth-child(3) .field--item,
body .paragraph--type--hero > div > div:nth-child(3) .field--item p {
  color: var(--jbi-light);
  font-size: 17px;
  line-height: 30.6px;
}

body .paragraph--type--hero > div > div:nth-child(3) .field--item p:first-child {
  margin-bottom: 20px;
}

body .paragraph--type--hero > div > div:nth-child(3) .field--item p:nth-child(2),
body .paragraph--type--hero > div > div:nth-child(3) .field--item p:nth-child(3) {
  display: inline-block;
  margin: 0 12px 0 0;
}

body .paragraph--type--hero > div > div:nth-child(3) .field--item p:nth-child(2) a,
body .paragraph--type--hero > div > div:nth-child(3) .field--item p:nth-child(3) a,
body .paragraph--type--blockquote a,
body .paragraph--type--section.dark-blue .paragraph--type--text p:last-child a,
body .paragraph--type--section.dark-blue .paragraph--type--card .field--item p:last-child a,
body #block-jbi-uibootstrap-account-menu .nav-link {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.54px;
  text-transform: uppercase;
  border-radius: 999px;
}

body .paragraph--type--hero > div > div:nth-child(3) .field--item p:nth-child(2) a {
  display: inline-block;
  color: #fff;
  background: var(--jbi-orange);
  padding: 13px 22px;
}

body .paragraph--type--hero > div > div:nth-child(3) .field--item p:nth-child(3) a,
body .paragraph--type--blockquote a {
  display: inline-block;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 12px 22px;
}



/* paragraph--type--text */

.paragraph.paragraph--type--text {
  padding: 1em 0;
}


/* plain page with only a body coloring */

#block-jbi-uibootstrap-content > article {
  background-color: var(--jbi-white);
}

/* force equal heights on grid items */
.views-view-responsive-grid__item-inner,
#block-jbi-uibootstrap-content article {
  height: 100%;
}

/* Sections */
body .paragraph--type--section {
  padding: 80px 32px;
}


/* default text coloring per section bg */
body .paragraph--type--section.dark-blue {
  background: var(--jbi-navy);
  color: var(--jbi-cream);
}

body .paragraph--type--section.linen {
  background: #f2f1ec;
  color: var(--jbi-muted);
}

body .paragraph--type--section.white,
body .paragraph--type--section:not(.dark-blue):not(.linen) {
  background: #f2f1ec;
  color: var(--jbi-muted);
}

body .paragraph--type--section > .container {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

body .paragraph--type--section > .container > div:first-child {
  order: 3;
}

body .paragraph--type--section > .container > div:nth-child(2) {
  order: 1;
}

body .paragraph--type--section > .container > div:nth-child(3) {
  order: 2;
}


body .paragraph--type--section.linen > .container > div:nth-child(2) .field--item,
body .paragraph--type--section.white > .container > div:nth-child(2) .field--item,
body .paragraph--type--section:not(.dark-blue):not(.linen) > .container > div:nth-child(2) .field--item {
  color: var(--jbi-muted);
}

body .paragraph--type--section .field--name-field-title h2 {
  margin: 0;
  font-family: 'Vidaloka', serif;
  font-size: 48px;
  line-height: 1.2em;
}

body .paragraph--type--section.dark-blue > .container > div:nth-child(3) .field--item,
body .paragraph--type--section.dark-blue > .container > div:nth-child(3) h2 {
  color: #fff;
}

body .paragraph--type--section.linen > .container > div:nth-child(3) .field--item,
body .paragraph--type--section.linen > .container > div:nth-child(3) h2,
body .paragraph--type--section.white > .container > div:nth-child(3) .field--item,
body .paragraph--type--section.white > .container > div:nth-child(3) h2,
body .paragraph--type--section:not(.dark-blue):not(.linen) > .container > div:nth-child(3) .field--item,
body .paragraph--type--section:not(.dark-blue):not(.linen) > .container > div:nth-child(3) h2 {
  color: var(--jbi-navy);
}

body .paragraph--type--section .layout--onecol,
body .paragraph--type--section .layout__region--content {
  max-width: 100%;
}

/* Text */
body .paragraph--type--text,
body .paragraph--type--text .field--item,
body .paragraph--type--text p {
  font-size: 18px;
  line-height: 1.4em;
  color: var(--jbi-muted);
}

.paragraph--type--section.dark-blue .field,
body .paragraph--type--section.dark-blue .paragraph--type--text,
body .paragraph--type--section.dark-blue .paragraph--type--text .field--item,
body .paragraph--type--section.dark-blue .paragraph--type--text p,
body .paragraph--type--section.dark-blue .paragraph--type--text li {
  color: var(--jbi-light);
}

body .paragraph--type--section.linen .paragraph--type--text,
body .paragraph--type--section.linen .paragraph--type--text .field--item,
body .paragraph--type--section.white .paragraph--type--text,
body .paragraph--type--section.white .paragraph--type--text .field--item,
body .paragraph--type--section:not(.dark-blue):not(.linen) .paragraph--type--text,
body .paragraph--type--section:not(.dark-blue):not(.linen) .paragraph--type--text .field--item {
  color: var(--jbi-muted);
}


body .paragraph--type--section.linen .paragraph--type--text p:last-child {
  margin-top: 24px;
}

body .paragraph--type--section.linen .paragraph--type--text p:last-child a {
  display: inline-block;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.54px;
  text-transform: uppercase;
  color: var(--jbi-navy);
  border: 1px solid var(--jbi-navy);
  border-radius: 999px;
  padding: 12px 22px;
}

/* Containers + cards */
body .paragraph--type--container > div > .field--items {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 24px;
}

body .paragraph--type--container > div > .field--items > .field--item {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
}

body .paragraph--type--container .paragraph--type--card {
}

body .paragraph--type--card {
  position: relative;
  overflow: hidden;
  border-radius: var(--jbi-radius);
}

body .paragraph--type--section.dark-blue .paragraph--type--card {
  background: var(--jbi-card-navy);
}

body .paragraph--type--section.dark-blue .paragraph--type--container > div > .field--items .paragraph--type--card {
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 40px rgba(0, 48, 80, 0.08);
  padding: 24px;
  text-align: center;
}


body .paragraph--type--section.dark-blue .paragraph--type--card::before,
body article.publication.card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: var(--jbi-publication-alert, var(--jbi-orange-2));
}

body .paragraph--type--section.dark-blue .paragraph--type--container > div > .field--items:has(> .field--item:nth-child(3)) > .field--item:nth-child(2) .paragraph--type--card::before {
  background: var(--jbi-teal);
}

body .paragraph--type--section.dark-blue .paragraph--type--container > div > .field--items:has(> .field--item:nth-child(3)) > .field--item:nth-child(3) .paragraph--type--card::before {
  background: var(--jbi-yellow);
}


.paragraph--type--card .field--name-title h2 {
  margin: 8px 0 0;
  font-family: 'Vidaloka', serif;
  text-transform: none;
  font-size: 22px;
  line-height: 32.8px;
  color: #fff;
}

body .paragraph--type--section.dark-blue .paragraph--type--container > div > .field--items > .field--item:nth-child(-n + 2) .paragraph--type--card > div > div:nth-child(3) .field--item {
  font-size: 13px;
  line-height: 20.8px;
  color: var(--jbi-light);
}



body .paragraph--type--section.dark-blue .paragraph--type--container > div > .field--items:has(> .field--item:nth-child(3)) .paragraph--type--card > div > div:nth-child(2) .field--item,
body .paragraph--type--section.dark-blue .paragraph--type--container > div > .field--items:has(> .field--item:nth-child(3)) .paragraph--type--card > div > div:nth-child(2) p {
  font-size: 13px;
  line-height: 20.8px;
  color: var(--jbi-light);
  flex: 1;
}

body .paragraph--type--section.dark-blue .paragraph--type--container > div > .field--items:has(> .field--item:nth-child(3)) .paragraph--type--card > div > div:nth-child(2) p:last-child {
  margin-top: 8px;
}


/* stat card styling */
.paragraph--type--section.dark-blue .paragraph--type--card.stat h2,
.paragraph--type--section.dark-blue .paragraph--type--card.stat h3 {
  transition: transform 0.2s ease;
}

.paragraph--type--section.dark-blue  .paragraph--type--card.stat h2,
.paragraph--type--section.dark-blue  .paragraph--type--card.stat h3 {
  margin: 0;
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 54.4px;
  font-weight: 800;
  line-height: 54.4px;
  color: var(--jbi-yellow);
}

.paragraph--type--section.dark-blue .paragraph--type--card.stat:hover h2,
.paragraph--type--section.dark-blue .paragraph--type--card.stat:hover h3 {
  transform: scale(1.1);
}

/* article.card styling */


article.card {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  background: #fff;
  border: 1px solid rgba(0, 70, 113, 0.12);
  border-radius: var(--jbi-radius);
  padding: 24px;
  box-shadow: none;
  transition: 0.2s ease;
}

article.card:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

article.card h2 a,
article.card h3 a {
  text-decoration: none;
}

article.card h2 a {
  color: #000000;
}

article.card a.card-read-more {
  line-height: 0;
  font-size: 0;
  height: 0;
  width: 0;
  color: transparent;
  display: block;
}

article.card a.card-read-more::before {
  content: "";
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: 999;
}



/* Views / Publications */
body .views-element-container {
  margin-top: 4px;
}

body .viewsreference--view-title {
  display: none;
}

body .view-content,
body .views-view-unformatted {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body .views-row {
  margin: 0;
}

body article.publication-type--alerts.card::before {
  background: var(--jbi-publication-alert);
}

body article.publication-type--blueprints.card::before {
  background: var(--jbi-publication-blueprint);
}

body article.publication-type--briefs.card::before {
  background: var(--jbi-publication-brief);
}

body article.publication-type--infographics.card::before {
  background: var(--jbi-publication-infographic);
}

body article.publication.card > div {
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}

body article.publication .field--items {
  margin: 0;
}


body article.publication-type--alerts > div > div:first-child .field--item a {
  color: var(--jbi-publication-alert);
}

body article.publication-type--blueprints > div > div:first-child .field--item a {
  color: var(--jbi-publication-blueprint);
}

body article.publication-type--briefs > div > div:first-child .field--item a {
  color: var(--jbi-publication-brief);
}

body article.publication-type--infographics > div > div:first-child .field--item a {
  color: var(--jbi-publication-infographic);
}


body article.publication > div > div:nth-child(3) .field--item,
body article.publication > div > div:nth-child(3) .field--item a {
  color: var(--jbi-muted);
}


.eyebrow,
.field--name-field-eyebrow {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 15.4px;
  margin-bottom: 1em;
}



/* Blockquote */
body .paragraph--type--blockquote {
  position: relative;
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
  padding: 0 24px;
}

.paragraph--type--blockquote .field--name-field-body {
  font-family: 'Vidaloka', serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 37.8px;
}

body .paragraph--type--blockquote::before {
  content: '\201C';
  position: absolute;
  left: -40px;
  top: 42px;
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 200px;
  line-height: 0.5;
  color: var(--jbi-navy-2);
}





body .paragraph--type--blockquote > div {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0.5em 0;
}

body .paragraph--type--blockquote > div > div:nth-child(2) .field--item,
body .paragraph--type--blockquote > div > div:nth-child(2) p {
  font-family: 'Vidaloka', serif;
  font-size: 28px;
  line-height: 37.8px;
  color: #fff;
}

body .paragraph--type--blockquote > div > div:nth-child(3) .field--item {
  font-size: 14px;
  line-height: 22.4px;
  font-weight: 700;
  color: var(--jbi-light);
}

/* Advisory / list styling */
body .paragraph--type--section ul.big-headers {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body ul.big-headers li {
  display: inline-flex;
  align-items: center;
  font-family: 'Vidaloka', serif;
  font-size: 28px;
  line-height: 32.8px;
  color: var(--jbi-navy);
}

body ul.big-headers li:not(:last-child)::after {
  content: '\00b7';
  margin-left: 12px;
  color: var(--jbi-navy);
}

/* Footer */
body footer.container[role='contentinfo'] {
  background: var(--jbi-navy);
  border-top: 1px solid rgba(255, 255, 255, 0.09) !important;
  margin-top: 0 !important;
  padding: 40px 32px !important;
}

body footer.container[role='contentinfo'] > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body footer #block-jbi-uibootstrap-footerleft img {
  width: 140px;
  height: auto;
  display: block;
}

body footer .footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

body footer .footer-right .field--item,
body footer .footer-right p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
}

/* Responsive */
@media (max-width: 1100px) {
  body nav.navbar > .container-fluid,
  body .paragraph--type--section > .container,
  body .paragraph--type--hero > div,
  body footer.container[role='contentinfo'] > div {
    padding-left: 32px;
    padding-right: 32px;
  }
  body .paragraph--type--hero h1, body .paragraph--type--hero > div > div:nth-child(2) .field--item {
  font-size: 2.8rem;
  }
}

@media screen and (max-width: 1100px) {
    .layout--twocol > .layout__region--first {
        flex: 0 1 40% !important;
    }
   .layout--twocol > .layout__region--second {
        flex: 0 1 60% !important;
    }
}

@media (max-width: 768px) {
  body .navbar-collapse {
    background: var(--jbi-navy);
    padding: 16px 0;
  }

  body .paragraph--type--hero,
  body .paragraph--type--section {
    padding: 56px 20px;
  }

  body .paragraph--type--hero h1,
  body .paragraph--type--hero > div > div:nth-child(2) .field--item {
    font-size: 36px;
    line-height: 42px;
  }

  body .paragraph--type--section > .container > div:nth-child(3) .field--item,
  body .paragraph--type--section > .container > div:nth-child(3) h2 {
    font-size: 32px;
    line-height: 38px;
  }

  body .paragraph--type--container > div > .field--items > .field--item {
    flex: 1 1 100%;
  }

  body .view-content,
  body .views-view-unformatted {
    grid-template-columns: 1fr;
  }

  body .paragraph--type--blockquote::before {
    left: 0;
    top: 54px;
    font-size: 120px;
  }

  body .paragraph--type--blockquote > div > div:nth-child(2) .field--item,
  body article.publication > div > div:nth-child(2) .field--item,
  body .paragraph--type--section.dark-blue .paragraph--type--container > div > .field--items:has(> .field--item:nth-child(3)) .paragraph--type--card h2,
  body .paragraph--type--section:not(.dark-blue):not(.linen) li {
    font-size: 24px;
    line-height: 30px;
  }

  body footer.container[role='contentinfo'] > div {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  body footer .footer-right {
    align-items: flex-start;
  }
}




/* quick dropdown menu coloring */

.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--jbi-cream)
}



/* navbar fixes */
.navbar-expand-lg .navbar-collapse {
  flex-direction: row-reverse;
}

.navbar-toggler {
  color: var(--jbi-light);
}




/* basic ordered list */

.field--name-field-body ol {
  counter-reset: li;
  padding: 0;
  margin: 0;
  list-style: none;
}

.field--name-field-body ol li {
  list-style: none;
  margin: 1em 0;
  padding-left: 2.25em;
  position: relative;
  border-bottom: var(--bs-border-width) solid var(--jbi-gray);
  padding-bottom: 1em;
}

.field--name-field-body ol li:last-child {
  border-bottom: none;
}

.field--name-field-body ol li::after {
  counter-increment: li;
  content: counter(li);
  position: absolute;
  font-size: 0.9em;
  left: 0;
  font-weight: 600;
  top: 0;
  width: 1.75em;
  height: 1.75em;
  background-color: var(--jbi-card-navy);
  color: var(--jbi-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}



/* square block display layout styling */
article.square-block {
  text-align: center;
  margin-bottom: 1em;
  font-size: 0.8em;
}

article.square-block .field--name-field-photo img {
  text-align: center;
  border-radius: 22px;
  margin-bottom: 1em;
}



/* footnotes styling */
p.footnotes {
  font-size: 0.8em;
  border-top: var(--bs-border-width) solid var(--jbi-gray);
  padding-top: 1em;
}






.field--name-field-author { padding-top: 2em; }




/* taxonomy entity references */

.field--type-entity-reference .field--item {
  display: inline-block;
}

.field--type-entity-reference .field--item:not(:has(a,img)),
.field--type-entity-reference .field--item a {
  display: inline-block;
  background-color: var(--jbi-cream);
  border: 1px solid var(--jbi-cream);
  border-radius: 2em;
  padding: 0.5em 0.75em;
  margin: 0.5em 0.5em 0.5em 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.54px;
  text-transform: uppercase;  
}

.field--type-entity-reference .field--item a {
  text-decoration: none;
}

.field--type-entity-reference .field--item a:hover,
.field--type-entity-reference .field--item a:focus {
  background-color: var(--jbi-white);
  border: 1px solid var(--jbi-muted);
}


/* breadcrumb styling */

#block-jbi-uibootstrap-breadcrumbs {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 1.54px;
  text-transform: uppercase;
}

#block-jbi-uibootstrap-breadcrumbs a {
  color: var(--jbi-white);
  text-decoration: none;
}
#block-jbi-uibootstrap-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
    color: var(--jbi-white);
}






/* article teaser example for Anna */

article.teaser {
  border-bottom: 1px solid var(--jbi-navy);
  margin-bottom: 1em;
  padding-bottom: 1em;
}

article.teaser > div > .field {
  padding: 1em 0em 1em 0;
}

article.teaser div.links {
  text-align: right;
}



/* dropdown menu overrides */
.dropdown-menu {
  background-color: var(--jbi-dropdownbg);
  margin: -1em;
}

.dropdown-menu li a {
  color: var(--jbi-white);
  padding: 1.25em 1em;
  border-radius: var(--bs-dropdown-border-radius);
}

.dropdown-menu li {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.54px;
  text-transform: uppercase;
  color: #fff;
  padding: 0 1em;
}





/* blog teaser fixes */
article.teaser .field--name-field-author,
article.teaser .field--name-field-author div,
article.teaser .field--name-published-at,
article.teaser .field--name-published-at div {
  display: inline-block;
  float: left;
}




/* taxonomy pages */
body.path-taxonomy #block-jbi-uibootstrap-content {
  background-color: var(--jbi-white);
}

body.path-taxonomy .field--name-name.field--type-string {
  display: none;
}

body.path-taxonomy .views-element-container .views-row:not(.views-row ~ .views-row) {
  padding-top:4em !important;
}


body.path-taxonomy .field--name-description {
  padding: 4em 0 0 0;
}

/* ul style */

ul.bubbles {
  margin: 0;
  padding: 0;
}
ul.bubbles li {
  margin: 0 1em 1em 0;
  background-color: var(--jbi-cream);
}


ul.timeline {
  list-style: none;
  margin: 0 0 0 2em;
  padding: 0;
  border-left: 10px solid var(--jbi-navy);
}

ul.timeline li {
  position: relative;
  margin: 0 0 2rem;
  padding-left: 4rem;
}

ul.timeline li::before {
  content: attr(data-year);
  position: absolute;
  left: -6px;
  top: 0;
  transform: translateX(-50%);
  background: white;
  font-family: 'Vidaloka', serif;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--jbi-navy);
  border-radius: 1em;
}

ul.timeline h3 {
  margin: 0 0 0.25rem;
}

ul.timeline p {
  margin: 0;
}





/* default spacing across types without sections */
body .paragraph--type--section {
  padding: 80px 32px;
}


/* hack for PR/blogs to fix body standalone spacing with no sections */

article.page > div > .field--name-body,
article.blog > div > .field--name-body,
article.press-release > div > .field--name-body { 
  padding: 80px 0;
}

body.page-node-type-publication article.publication { 
  padding: 80px 0;
}



article.blog .paragraph--type--hero,
article.publication .paragraph--type--hero {
  margin-bottom: 80px;
}




/* video 16x9 fixes */

.video-container iframe,
iframe[src*="youtube.com/embed"],
iframe[src*="youtube-nocookie.com/embed"] {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  display: block;
  border: 0;
}


/* alerts */

#block-jbi-uibootstrap-activealert {
  background: #FCD8CB;
}

.block--type-alert .container .alert-content {
  display: flex;
  flex: 1;
  padding: 1em 0;
  align-items: center; 
}

.block--type-alert .container .notice,
.block--type-alert .container .field--name-field-link {
  flex: 0 0 100px;   /* fixed basis of 150px */
  min-width: 100px;  /* safety if content grows */  
}

.block--type-alert .container .field--name-field-link {
  margin-right: 0;
  min-width: 180px;
  flex: 0 0 180px;   
}

.block--type-alert .container .field--name-body {
  flex: 1 1 auto;
  margin: 0 2em;
  font-size: 0.75rem;
}

.block--type-alert .container .field--name-body p {
  padding: 0;
  margin: 0;
}






/* new hero image styling */

.hero-container {
  max-width: var(--jbi-max);
  margin: 0 auto;
  position: relative;
}

.paragraph--type--hero .hero-image {
  margin-left:10%;
}

.image-frame{
    --accent1:#ff6633;
    --accent2:#19a7dc;
    --border-thickness:16px;
    --corner-size:180px;
    --dot-size:2px;
    --dot-gap:36px;
    position:relative;
    display:inline-block;
    padding:16px;
    margin-top:5px;
    width: 100%;
}
.image-frame img{
    display:block;
    width:100%;
    height: auto;
    position:relative;
    z-index:2;
    border-radius:0px;
}
.image-frame::before{
    content:"";
    position:absolute;
    top:0;left:0;
    width:var(--corner-size);
    height:var(--corner-size);
    border-top:var(--border-thickness) solid var(--accent1);
    border-left:var(--border-thickness) solid var(--accent1);
    border-radius:6px 0 0 0;
    z-index:1;
}
.image-frame::after{
    content:"";
    position:absolute;
    right:0;bottom:0;
    width:var(--corner-size);
    height:var(--corner-size);
    border-right:var(--border-thickness) solid var(--accent2);
    border-bottom:var(--border-thickness) solid var(--accent2);
    border-radius:0 0 6px 0;
    z-index:1;
}
.dot-grid{
    position:absolute;
    top:-34px;
    right:80px;
    width:100px;
    height:100px;
    background-image:radial-gradient(circle,#ffd42a 0 3px,transparent 3px);
    background-size:24px 24px;
    z-index:3;
}
