@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&display=swap');
:root {
  --uva-blue-alt-400: #e6f2f7; /* new color */
  --uva-blue-alt-300: #BFE7F7;
  --uva-blue-alt-200: #91D8F2;
  --uva-blue-alt-100: #55C4EC;
  --uva-blue-alt: #007BAC;
  --uva-blue-alt-a: #005679;
  --uva-blue-alt-b: #141E3C;
 
	--uva-brand-orange-400: #fcf2e7;
  --uva-brand-orange-300: #FFEAD6;
  --uva-brand-orange-200: #FFC999;
  --uva-brand-orange-100: #FFB370;
  --uva-brand-orange: #E57200;
  --uva-brand-orange-a: #B35900;
  --uva-brand-orange-b: #854200;
 
  --uva-brand-blue-300: #87B9D9;
  --uva-brand-blue-200: #3395D4;
  --uva-brand-blue-100: #0370B7;
  --uva-brand-blue: #232D4B;
 
  --uva-teal-200: #C8F2F4;
  --uva-teal-100: #5BD7DE;
  --uva-teal: #25CAD3;
  --uva-teal-a: #1DA1A8;
  --uva-teal-b: #16777C;
 
  --uva-green-200: #DDEFDC;
  --uva-green-100: #89CC74;
  --uva-green: #62BB46;
  --uva-green-a: #4E9737;
 
  --uva-grey-200: #F1F1F1;
  --uva-grey-100: #DADADA;
  --uva-grey-50: #ADADAD;
  --uva-grey: #808080;
  --uva-grey-a: #4F4F4F;
  --uva-grey-b: #2B2B2B;
 
  /* Spacing */
  --spacing-xs: .5rem;  /* Extra Small */
  --spacing-sm: 1rem;   /* Small */
  --spacing-md: 1.5rem; /* Medium */
  --spacing-lg: 2rem;   /* Large */
  --spacing-xl: 3rem;   /* Extra Large */
  --spacing-2l: 4rem;   /* XXLarge */
   
   /* backgrounds: tints or full color */
  --card-bg-green-tint: var(--uva-green-200);
  --card-bg-teal-tint: var(--uva-teal-200);
  --card-bg-blue-tint: var( --uva-blue-alt-400);

  --card-bg-brand-orange: var(--uva-brand-orange);
  --card-bg-brand-blue: var( --uva-brand-blue);
 
   /* Global readable line-width for body text */
   --content-line-width: 50rem;
 
   /* border radius */
   --border-radius-sm: 5px;
   --border-radius-md: 10px;
   --border-radius-img-sm:50px;
   --border-radius-img-lg:100px;
   
   /*one time off logo*/
   --logo-w: 150px;
   --logo-h: 100px;
   --logo-padding: 1rem;
}
 
  /* ---- Global: every paragraph is capped at 60ch, no class needed ---- */
  p
  h1
  h2
  h3
  h4
  h5 {
    max-width: var(--content-line-width);
  }
  
	.header-banner img {
	  width: 100% !important;
	  height: 300px;       /* pick whatever height reads as "shorter" for your design */
	  object-fit: cover;    /* crops overflow instead of distorting the image */
	  object-position: center; /* adjust if the focal point isn't centered */
	  display: block;
	}
	
	  /* ---------- Treatment 1: Circle crop ---------- */
 
  .circle-frame {
    width: 100%;
    max-width: 550px;
    height: 100%;
    max-height: 550px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    outline: 4px solid var(--frame-bg);
    outline-offset: -4px;
  }
 
  .circle-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
 
  /* ---------- Treatment 2: Trapezoid (keystone) frame ---------- */
 
  .keystone-wrap {
	  position: relative;
	  width: 100%;
	  max-width: 700px;
	  min-width: 0;
	  height: 100%;
	  max-height: 550px;
	  aspect-ratio: 4/3;
	  box-sizing: border-box;
  }
 
  /* White "mat" behind the photo, cut to a trapezoid a touch larger
     than the image so an even border shows all the way around */
  .keystone-mat {
    position: absolute;
    inset: 0;
    clip-path: polygon(0% 0%, 100% 0%, 86% 100%, 0% 100%);
  }
 
  .keystone-frame {
    position: absolute;
    inset: 10px;
    overflow: hidden;
    clip-path: polygon(0% 0%, 100% 0%, 86% 100%, 0% 100%);
  }
 
  .keystone-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
	
 
  /* =========================================================
     Shared layout used
     ========================================================= */
 
  /* ---- Shared card grid ---- */
	.two-col-card-grid,
	.three-col-card-grid {
	  display: grid;
	  gap: var(--spacing-lg);
	  list-style: none;
	  margin: var(--spacing-lg) 0;
	  padding: 0 !important;
	}
	.two-col-card-grid {
	  grid-template-columns: repeat(2, 1fr);
	}
	.three-col-card-grid {
	  grid-template-columns: repeat(3, 1fr);
	}
	
	.two-col-card-grid-image,
	.three-col-card-grid-image {
		align-items: center;
	}
	
	.three-col-card-grid h2 {
		margin:0 !important;
	}
	
	.content-text ul {
	  list-style: none;
	  margin: 0;
	  padding: 0 !important;
	}
	
	.content-text ul li {
	  padding: 0 !important;
	}	
 
   /* =========================================================
     Shared components used
     ========================================================= */
  /* ---- Shared arrow icon ---- */
  .card-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--uva-blue-alt-a);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
 
  .card-arrow svg {
    width: 25px;
    height: 25px;
    fill: currentColor;
    display: block;
  }
 
  .color-link-card:hover .card-arrow,
  .color-link-card:hover .card-arrow {
    transform: translateX(0.5rem);
  }
  
  /* ---- Image column with offset accent blocks ---- */
  .content-image-wrap {
    position: relative;
    /* reserve space so the offset accents aren't clipped by the grid */
    padding-right:5%;
    padding-bottom:5%;
    max-width:600px;
    margin:0 auto;
  }
 
  .content-image-wrap img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    max-width: 550px;
    height: auto;
    border-radius:var(--border-radius-img-sm) var(--border-radius-sm);
  }
 
  /* Solid color block, offset behind bottom-right of the image */
  .content-image-accent-fill {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 90%;
    height: 90%;
    border-radius: var(--border-radius-img-sm) var(--border-radius-sm);
    z-index: 0;
  }
 
  .accent-orange {
  	border: 3px solid var(--uva-brand-orange);
  }
  
  .accent-blue {
  	border: 3px solid var(--uva-brand-blue);
  }
 
  /* ---- CTA link ---- */
	.cta-link {
	display: inline-flex;
	align-items: baseline;
	gap: var(--spacing-sm);
	padding: var(--spacing-sm) 0;
	color: var(--uva-blue-alt-a);
	text-decoration: underline;
	}
 
	.cta-link-arrow {
	fill: currentColor;
	flex-shrink: 0;
	transition: transform 0.2s ease;
	width:1.2rem;
	height:1.2rem;
	}
 
	.cta-link:hover .cta-link-arrow,
	.cta-link:focus-visible .cta-link-arrow {
	transform: translateX(0.5rem);
	/*text-decoration: underline;*/
	color: var(--uva-blue-alt-a);
	}
 
  /* ---- CTA link high affordance ---- */
  .cta-link--color {
  background-color: var(--uva-blue-alt);
  color: #fff;
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--border-radius-sm);
  align-items: baseline;
  margin:var(--spacing-sm) 0;
	}
 
	.cta-link--color:hover,
	.cta-link--color:focus-visible {
  	background-color: var(--uva-blue-alt-a);
  	color: #fff;
	}
 
	.cta-link--color:hover .cta-link-arrow,
	.cta-link--color:focus-visible .cta-link-arrow {
	 color: #fff;
	}
 
  /* ---- Text column ---- */
 
  h2.alt-header {
  font-family: "Libre Caslon Text", serif !important;
  font-weight: 700;
  line-height: 1.5;
	}
 
	p.large-text {
	font-size:1.25rem !important;
	/*padding:var(--spacing-md) 0;*/
	/*font-family: "Libre Caslon Text", serif !important;*/
 /* font-weight: 600;*/
 }

/* =========================================================
     call-out-text
   ========================================================= */
  .call-out-text {
  	margin:0 var(--spacing-lg);
  }
  
  .call-out-text-content {
    column-count: 3;
    column-gap: var(--spacing-lg);
  }
 
  .call-out-text-content p {
    margin: 0 0 var(--spacing-sm);
    /* prevents a paragraph splitting awkwardly across the column break */
    break-inside: avoid-column;
    orphans: 3;
    widows: 3;
  }
  
  .call-out-text-content h2 {
  	margin: 0 !important;
  }
/* =========================================================
     Link-card
   ========================================================= */
     
  /* Wrapper holds the background image and establishes the stacking context */
  .hero-wrapper {
    position: relative;
    min-height: 375px;
    overflow: hidden;
    margin: var(--spacing-md) 0 0 0;
  }
 
  /* Background image, added directly in HTML per request.
     Marked decorative (empty alt) since the navy panel carries the real content. */
  .hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
  }
 
  /* Two-column grid, no gutter between columns */
  .hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    /*grid-template-columns: 1fr 3fr;*/
    gap: 0;
    min-height: 375px;
  }
 
  .hero-content {
    /*background-color: var(--uva-brand-blue);*/
    color: white !important;
    display: flex;
    align-items: center;
    padding: var(--spacing-lg);
  }
 
  /* The secondary column is intentionally transparent so the
     background image shows through it. */
  .hero-secondary {
    background-color: transparent;
  }
  
  
    /* =========================================================
     Link-card
     ========================================================= */
  .link-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: center;
    border-radius: var(--border-radius-sm) var(--border-radius-sm) 0 0;
    overflow: hidden;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .link-card:hover {
    box-shadow: 0 0 20px 0 var(--uva-grey-100);
    z-index: 2;
    transform: translateY(-2px);
  }

  .link-card-image {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }

  .link-card-image.bg-brand-orange { 
  	background-color: var(--card-bg-brand-orange); 
  }
  .link-card-image.bg-brand-blue   { 
  	background-color: var(--card-bg-brand-blue); 
  	color:white !important;
  }

  .link-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: var(--spacing-sm);
  }

  .link-card-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: var(--spacing-sm);
    border-bottom: 1px solid var(--uva-grey-100);
    gap:var(--spacing-md);
  }

  .link-card-title-row h3 {
    margin: 0;
  }

  .link-card-body p {
  	padding:var(--spacing-sm) 0;
  }

  .card-link {
    text-decoration:none !important;  	
  }
  
	/*Ticker banner*/
	
	.ticker-banner {
	  padding: var(--spacing-md);
	  background: var(--uva-grey-200);
	  margin: var(--spacing-md) 0;
	  overflow-wrap: break-word;
	}
	
	.ticker-list {
	  display: flex;
	  flex-wrap: wrap;
	  align-items: center;
	  justify-content: left;
	  gap: var(--spacing-md);
	  max-width: 100%;
	}
	
	.ticker-item-wrap {
	  display: inline-flex;
	  align-items: baseline;  
	  gap: var(--spacing-sm);
	  max-width: 100%;
	  margin-bottom:0 !important;
	}
	
	.ticker-dot {
	  width: 1rem;
	  height: 1rem;
	  border-radius: 50%;
	  background: var(--uva-brand-orange);
	  flex-shrink: 0;
	  margin-bottom: 0 !important;
	}
	
	.ticker-item {
	  font-size: 1.25rem !important;
	  font-weight: 700;
	  text-transform: uppercase;
	  white-space: normal;       /* was nowrap — this is the key change */
	  overflow-wrap: break-word;
	  margin-bottom: 0 !important;
	}
  

  /* =========================================================
   color-link-card (colored block w/ title, text, label + arrow)
  ========================================================= */
	.two-col-card-grid > li,
	.three-col-card-grid > li {
	  display: flex;
	  margin: 0;
	  padding: 0;
	}
	
	.color-link-card {
	  display: flex;
	  flex-direction: column;
	  height: 100%;
	  width: 100%;
	  text-decoration: none;
	  /*color: inherit;*/
	  overflow: hidden;
	  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
	  box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	  border-radius: var(--border-radius-sm);
	  /*color:white;*/
	  min-width: 250px;
	}
	.color-link-card-full {
	  background-color: var(--uva-brand-blue);
	  color:white;
	}
	.color-link-card:hover {
	  box-shadow: 0 0 20px 0 var(--uva-grey-100);
	  z-index: 2;
	  transform: translateY(-2px);
	  /*border: 2px solid var(--uva-brand-orange);*/
	}
	
	.color-link-card-light {
		border: 1px solid var(--uva-grey-100);
    border-top: 4px solid var(--uva-brand-orange);
	}
	
	.color-link-card-light:hover {
	  box-shadow: none;
	  z-index: 2;
	  transform: none;
	  /*border: 2px solid var(--uva-brand-orange);*/
	}
	.color-link-card-content {
	  display: flex;
	  flex-direction: column;
	  flex: 1;
	  padding: var(--spacing-md);
	  border-radius: var(--border-radius-sm);
	}
	.color-link-card-content h3 { 
		margin-top: 0 !important; 
		color:white !important;
	}
	.color-link-card-content h4 { 
		margin-top: 0 !important; 
		color:white !important;
	}
	
	.color-link-card-content.bg-brand-blue { 
		background-color: var(--card-bg-brand-blue); 
		color:white !important;
	}
	.color-link-card-content.bg-brand-orange { 
		background-color: var(--card-bg-brand-orange); 
		color:white !important;
	}
	.color-link-card-link-row {
	  display: flex;
	  align-items: baseline;
	  justify-content: space-between;
	  margin-top: auto;
	  text-decoration: underline;
	  font-weight: 600;
	}
	.color-link-card a {
	  text-decoration: none;
	}
	.color-link-card svg {
		color: white !important;
	}
	
  /* =========================================================
     LINK HUB
     ========================================================= */	
	.link-hub {
	max-width: 550px;
	margin: var(--spacing-sm) 0;
	}
	
	/*.link-hub__label {*/
	/*margin: var(--spacing-sm);*/
	/*}*/
	
	.link-hub__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--uva-grey-100);
	}
	
	.link-hub__item {
	border-bottom: 1px solid var(--uva-grey-100);
	}
	
	.link-hub__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-md);
	padding: var(--spacing-sm) 0;
	text-decoration: none !important;
	transition: color 0.15s ease;
	}
	
	.link-hub__link-text {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: break-word;
	}
	
	.link-hub__link:hover {
	text-decoration:underline;	
	}
	
	.link-hub__link:hover .card-arrow {
	transform: translateX(0.5rem);
	}
	
/* ============================
   NEWS
   ============================ */
 /* ---- SHARED ---- */
	.block-views-blockduplicate-of-news-library-news-blog-teaser-ai-only-block-1,
	.block-views-blockexternal-news-items-ai-block-1 {
	  margin: var(--spacing-lg) 0;
	}
	
	.ai-news-internal .view-content,
	.ai-news-external .view-content {
	  margin: var(--spacing-lg) 0;
	}
	
	.ai-news-internal .tex2jax_process,
	.ai-news-external .tex2jax_process {
	  padding: var(--spacing-sm) 0;
	}
	
	/* ---- Internal news ---- */
	.block-views-blockduplicate-of-news-library-news-blog-teaser-ai-only-block-1 {
	  background-color: var(--uva-brand-blue);
	  padding: var(--spacing-2l);
	}
	
	.block-views-blockduplicate-of-news-library-news-blog-teaser-ai-only-block-1 h2 {
	  color: white !important;
	  /*text-align: center !important;*/
	}
	
	.ai-news-internal .views-view-responsive-grid__item {
	  border-top: 2px solid var(--uva-brand-orange);
	  padding: var(--spacing-md) var(--spacing-sm);
	  /*background: white;*/
	}
	
	.ai-news-internal .views-field-title a {
	  padding: var(--spacing-sm) 0;
	  font-size: 1.25rem !important;
	  color: white !important;
	}
	
	.ai-news-internal .tex2jax_process {
	  color: white;
	}
	
	.ai-news-internal .more-link a {
	  /*margin: var(--spacing-md) 0;*/
	  float: right;
	  color: white !important;
	}
	
	/* ---- External news ---- */
	.block-views-blockexternal-news-items-ai-block-1 {
	  /*background-color: var(--uva-brand-blue);*/
	  /*padding: var(--spacing-2l) 0;*/
	}
	
	.ai-news-external .views-view-responsive-grid__item {
	  /*border-left: 3px solid var(--uva-brand-blue-200);*/
	  padding: 0 var(--spacing-md);
	  background: var(--uva-grey-200);
	  border-radius:var(--border-radius-sm);
	}
	
	.ai-news-external .views-field-title {
	  padding: var(--spacing-sm) 0;
	  font-size: 1.25rem !important;
	}

 
   /* =========================================================
     7. featured text 
     ========================================================= */
		.featured-text {
		  display: flex;
		  align-items: center;
		  gap: var(--spacing-md);
		  max-width: 70rem;
		  border-radius: var(--border-radius-sm);
		  margin: var(--spacing-lg) 0;
		  padding: var(--spacing-lg);
		}
		
		/* Variant: with icon (existing) */
		.featured-text-with-icon {
		  background-color: var(--uva-brand-orange-300);
		}
		
		/* Variant: dark */
		.featured-text-dark {
		  background-color: var(--uva-brand-blue); /* placeholder — swap to your actual token if different */
		  color:white !important;
		}
		
		.featured-text-content {
		  flex: 1;
		}
		
		.featured-text-dark h2 {
		  color:white !important;
		}		
		
		.featured-text-dark a {
		  color:white !important;
		}		
		
		.featured-text-content .cta-link:hover .cta-link-arrow {
  		fill: #ffffff;
		}
		
		.featured-text-divider {
		  border: none;
		  border-top: 1px solid var(--uva-brand-orange);
		  margin: 0 0 1rem;
		  width: 70%;
		}
		
		/* Override the base .featured-text flex behavior when paired with the grid class */
		.featured-text.two-col-card-grid {
		  display: grid;
		  padding: 0;
		  overflow: hidden; /* keeps the photo's corner clipped to the card's border-radius */
		}
		
		.featured-text.two-col-card-grid .featured-text-media {
		  width: 100%;
		  height: 100%;
		  object-fit: cover;
		  display: block;
		}
		
		.featured-text.two-col-card-grid .featured-text-content {
		  padding: var(--spacing-lg) var(--spacing-xl);
		}
		
		/* Icon — only used by featured-text-with-icon */
		/*.featured-text-icon {*/
		/*  flex-shrink: 0;*/
		/*  width: 70px;*/
		/*  height: 70px;*/
		/*  display: flex;*/
		/*  align-items: center;*/
		/*  justify-content: center;*/
		/*}*/
		
		/*.featured-text-icon svg {*/
		/*  width: 100%;*/
		/*  height: 100%;*/
		/*  fill: var(--uva-brand-orange);*/
		/*  display: block;*/
		/*}*/
		
		
		/* === CKEditor accordion look ported onto .basic-accordion / details / summary ===
   Colors from the main_css UVA override; chevron geometry from the plugin stylesheet. */

/* Header pill */
.ckeditor-accordion-container .basic-accordion summary {
  display: block;
  padding: 10px 15px 10px 50px;   /* 50px left = chevron gutter */
  background-color: #fff;
  color: #2B2B2B;
  border-radius: 0.3rem;
  cursor: pointer;
  position: relative;
  list-style: none;                        /* remove default triangle (Chrome/Firefox) */
  transition: background-color 300ms;
}
.ckeditor-accordion-container .basic-accordion summary::-webkit-details-marker {
  display: none;                           /* remove default triangle (Safari) */
}
.ckeditor-accordion-container .basic-accordion details {
  padding: 0 !important;
  margin: 0 !important;
}

/* Hover + open state */
.ckeditor-accordion-container .basic-accordion summary:hover,
.ckeditor-accordion-container .basic-accordion details[open] > summary {
  background-color: #BFE7F7;
  color: #2B2B2B;
}

/* Keyboard focus — summary is NOT an <a>, so it won't inherit the site link focus */
.ckeditor-accordion-container .basic-accordion summary:focus-visible {
  outline: 2px solid #333;
  outline-offset: 2px;
}

/* Chevron — reproduces the plugin's two-bar caret (down closed, up open) */
.ckeditor-accordion-container .basic-accordion summary::before,
.ckeditor-accordion-container .basic-accordion summary::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -1px;                        /* vertical centre (half of 2px) */
  width: 10px;
  height: 2px;
  background: #2B2B2B;
  transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
.ckeditor-accordion-container .basic-accordion summary::after  { left: 18px; transform: rotate(-135deg); }
.ckeditor-accordion-container .basic-accordion summary::before { left: 24px; transform: rotate(135deg); }
.ckeditor-accordion-container .basic-accordion details[open] > summary::after  { transform: rotate(-45deg); }
.ckeditor-accordion-container .basic-accordion details[open] > summary::before { transform: rotate(45deg); }

.details {
	padding:0 !important;
}

/*psuedo css*/

	/* =========================================================
	   Expand card click target to the whole card
	   Pattern: stretched link (Roselli / Bootstrap .stretched-link)
	   Scope: .link-card and .color-link-card only — each has one <a>
	   ========================================================= */
	
	/* 1. Make each card the positioning context for the overlay.
	      (Side effect: the cards' existing :hover { z-index:2 } will now
	      actually take effect, since z-index needs a positioned element —
	      verify the hover glow still looks right.) */
	.link-card,
	.color-link-card {
	  position: relative;
	}
	
	/* 2. Stretch an invisible overlay from the card's single link
	      across the entire card. inset:0 = fill 100% at any size/zoom. */
	.link-card .card-link::after,
	.color-link-card .card-link::after {
	  content: "";
	  position: absolute;
	  inset: 0;
	  z-index: 1;
	}
 
	/* =========================================================
	   signatories
	   ========================================================= */ 

	ul.ai-logo-band {
		padding-left: 0;
		margin: var(--spacing-lg) 0;
	}
	
	/* ── Logo flex band ───────────────────────────── */
	.ai-logo-band {
	  display: flex !important;
	  flex-wrap: wrap;
	  justify-content: center;
	  gap: var(--spacing-md);
	  list-style: none;
	}
	
	/* ── Logo link ────────────────────────────────── */
	.ai-logo-band__item /*,
	.ai-logo-band__link*/ {
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  width: calc(var(--logo-w) + (var(--logo-padding) * 2));
	  height: calc(var(--logo-h) + (var(--logo-padding) * 2));
	  padding: var(--spacing-md);
	  border-radius: var(--border-radius-sm);
	  border: 1px solid var(--uva-grey-100);
	  background: white;
	  text-decoration: none;
	  /*transition: border-color 0.15s ease, background 0.15s ease;*/
	  outline: none;
	}
	
	/*.ai-logo-band__link:hover {*/
	/*  border-color: var(--uva-grey-100);*/
	/*  background: var(--uva-grey-200);*/
	/*}*/
	
	.ai-logo-band__link:focus-visible {
	  outline: 2px solid var(--uva-blue-alt-A);
	  outline-offset: 2px;
	}
	
	/* ── Logo image ───────────────────────────────── */
	.ai-hero-logo {
	    border: none;
	    padding: 0;
	    /*margin-bottom: var(--spacing-lg);*/
	    display: flex;
	    justify-content: center;
	    list-style: none;
	}
	
	.ai-hero-logo .ai-logo-band__item {
	    display: flex;
	    flex-direction: column;
	    align-items: center;
	    justify-content: center;
	    width: auto;
	    height: auto;
	    max-width: 380px;
	    border: 2px solid var(--uva-grey-200);
	    border-radius: var(--border-radius-sm);
	    padding: var(--spacing-lg);
	    gap: var(--spacing-md);
	}
	
	.ai-hero-logo .ai-logo-band__img {
	    width: auto;
	    max-width: 100%;
	    height: auto;
	    max-height: none;
	    object-fit: contain;
	}
	
	.ai-hero-logo h3 {
	    margin: 0;
	    white-space: nowrap;
	}
	
	.static-text-card {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--uva-grey-100);
    border-radius: var(--border-radius-sm);
    padding: var(--spacing-lg);
    gap:var(--spacing-sm);
  }
  
  .card-divider {
	  border: none;
	  border-top: 4px solid var(--uva-brand-orange);
	  margin: 0 0 1rem;
  }

  /* =========================================================
     MEDIA QUERIES — consolidated to 2 breakpoints, matching
     the SCSS $tablet-max ($lg - 1 = 991px) and $mobile ($md - 1 = 767px)
     ========================================================= */
 
  /* ---- Tablet and below (max-width: 991px) ---- */
  @media (max-width: 991px) {
    .three-col-card-grid {
      grid-template-columns: repeat(2, 1fr);
      margin:var(--spacing-sm);
    }
 
    .two-col-card-grid {
      grid-template-columns: 1fr;
      gap: 1rem;
      margin:var(--spacing-sm);
    }
    
    .call-out-text-content {
      column-count: 1;
    }
    
    .content-text {
  		order: 2;
  	}
		
		.content-image-wrap {
			order: 1
		}
  }
    
  /* ---- Mobile (max-width: 767px) ---- */
  @media (max-width: 767px) {
    .two-col-card-grid,
    .three-col-card-grid,
    .card-grid-table {
      grid-template-columns: 1fr;
    }
    
		.views-view-responsive-grid--horizontal {
			display:flex;
			flex-wrap:wrap;
		}
		
		.hero-wrapper {
      min-height: auto;
    }
 
    .hero-bg {
      position: static;
      width: 100%;
      height: 250px;
      z-index: auto;
    }
 
    .hero-grid {
      display: block;
      min-height: auto;
    }
 
    .hero-secondary {
      display: none;
    }
 
    .hero-content {
      padding: 0;
      background: none;
      color: var(--uva-grey-b) !important;
    }
	  .ai-logo-section {
	    --logo-gap: 1rem;
	  }
	
	  .ai-logo-band__link {
	    width: calc(50vw - 1.5rem - (var(--logo-gap) / 2));
	    max-width: calc(var(--logo-w) + (var(--logo-padding) * 2));
	    height: calc(var(--logo-h) * 0.85 + (var(--logo-padding) * 2));
	  }
	
	  .ai-logo-band__img {
	    height: calc(var(--logo-h) * 0.85);
	  }    
	  .block-views-blockduplicate-of-news-library-news-blog-teaser-ai-only-block-1 {
	  	padding:var(--spacing-md);
	  }
  }