/* ------ Programs Search ------ */
.programs-row {
	padding:30px 0;
	background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 400px), var(--sycamore);
}

.programs-row .field--type-text-long {
	padding-bottom:45px;
	margin-bottom:45px;
}

.programs-row .paragraph:first-of-type .paragraph__column {
	padding-bottom:0;
}

.programs-row .paragraph:first-of-type .paragraph__column .field--type-text-long {
	padding-bottom:0;
	max-width:750px;
	margin:0 auto;
}

.programs-row .field--type-text-long:after {
	 content: "";
  width: 50px;
  height: 5px;
  background: var(--marigold);
  margin: 30px auto;
  display: block;
  left: calc(50% - 25px);
}

/* Programs Search Intro Text */
.programs-row h2 {
	font-family:var(--text-display);
	font-weight:900;
	color:var(--cutler);
	/*font-size:42px;*/
	font-size: clamp(3.4rem, 2.114rem + 3.429vw, 4.2rem);
	line-height:110%;
	text-align:center;
	margin-bottom:15px;
}

.programs-row h2 em {
	font-family:var(--text-serif);
	font-weight:700;
	font-style:italic !important;
	color:var(--under-the-elms);
	/*font-size:48px;*/
	font-size: clamp(3rem, 2.714rem + 3.429vw, 4.8rem);
	line-height:145%;
}

.programs-row .subheading {
	display: block;
  width: auto;
  background-color: var(--under-the-elms);
  color: var(--white);
  font-family: var(--text-display);
  font-size: 14px;
  line-height:18px;
  padding: 5px 15px;
  text-transform: uppercase;
  display:inline-block;
}

/*@media (min-width: 768px) {*/
/*	.programs-row .subheading {*/
/*	  font-size: 14px;*/
/*    padding: 5px 15px;*/
/*	}*/
/*}*/

.programs-row .field--type-text-long p {
	font-family:var(--text-serif);
	font-weight:500;
	color:var(--under-the-elms);
	font-size:20px;
	line-height:30px;
	text-align:center;
}

/* Programs Search Filter */
.programs-row .program-finder .view-filters .form--inline {
	position:relative;
	padding-top:0;
	max-width:645px;
}

.programs-row .program-finder .view-filters .form--inline .form-item-search label {
	font-family:var(--text-sans);
	font-size:22px;
	font-weight:700;
	line-height:28px;
	text-align:center;
	position:static !important;
  color:var(--under-the-elms);
  width:100%;
  height:auto;
  overflow:visible;
  clip:unset;
}

.programs-row .program-finder .view-filters .form--inline .form-item-search .form-text {
	
}

.programs-row .program-finder .view-filters .form--inline .form-item-search input {
	border:2px solid var(--under-the-elms);
	background:var(--white);
	border-top-left-radius:10px;
	border-bottom-left-radius:10px;
	border-top-right-radius:0;
	border-bottom-right-radius:0;
	width:calc(100% - 80px);
	outline:none;
	border-right:none;
	transition:all .2s ease;
	-webkit-appearance: none;
}

.programs-row .program-finder .view-filters .form--inline .form-item-search input:focus {
	border-color:var(--marigold);
}

.programs-row .program-finder .view-filters .form--inline .form-actions {
	display:block;
}

.programs-row .program-finder .view-filters .form--inline .form-actions .form-submit {
	font-family:"Font Awesome 6 Sharp", "Font Awesome 6 Brands";
	background:var(--under-the-elms);
	font-size:28px;
	width:80px;
	height:64px;
	border:none;
	border-top-right-radius:10px;
	border-bottom-right-radius:10px;
	border-top-left-radius:0;
	border-bottom-left-radius:0;
	position:absolute;
	bottom:75px;
	right:0;
	padding-left:.3em;
	-webkit-appearance:none;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	.programs-row .program-finder .view-filters .form--inline .form-actions .form-submit {
		bottom:73px;
	}
}

@media (min-width: 439px) {
	.programs-row .program-finder .view-filters .form--inline .form-actions .form-submit {
		bottom:50px;
	}
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  @media (min-width: 439px) {
		.programs-row .program-finder .view-filters .form--inline .form-actions .form-submit {
			bottom:49.5px;
		}
	}
}

.programs-row .program-finder .view-filters .form--inline .form-actions .form-submit:hover,
.programs-row .program-finder .view-filters .form--inline .form-actions .form-submit:focus {
	color:var(--white);
	background:var(--cutler);
	text-decoration:none;
	padding-left:20px;
	outline:none;
}

.programs-row .program-finder .view-filters .form--inline .form-item-search .description {
	text-align:center;
	margin-top:15px;
}

.programs-row .program-finder .view-filters .form--inline .form-item-search .description a {
	font-family:var(--text-serif);
	color:var(--under-the-elms);
	font-weight:600;
	font-style:italic;
	text-align:center;
	font-size:18px;
	line-height:24px;
	text-decoration:none;
	transition:all .2s ease;
}

.programs-row .program-finder .view-filters .form--inline .form-item-search .description a:hover {
	color:var(--cutler);
}

.programs-row .program-finder .view-filters .form--inline .form-item-search .description a:focus {
	color:var(--white);
}

.programs-row .program-finder .view-filters .form--inline .form-item-search .description a:after {
	content:"\00a0\f061";
	font-family:"Font Awesome 6 Sharp","Font Awesome 6 Brands";
	font-style:normal;
	font-size:16px;
	color:var(--under-the-elms);
	transform:translateX(0px);
	transition:all .2s ease;
	display:inline-block;
	line-height:100%;
}

.programs-row .program-finder .view-filters .form--inline .form-item-search .description a:hover:after {
	transform:translateX(5px);
	color:var(--cutler);
}

.programs-row .program-finder .view-filters .form--inline .form-item-search .description a:focus:after {
	color:var(--white);
}

.programs-row .program-finder:has(.view-empty) .pager_info {
	display:none;
}

/* ------ Facts ------ */
.facts-section {
	display: flex;
  flex-wrap: wrap;
  row-gap: 20px;
  margin: 20px 15px;
}

.facts-row .container {
	max-width: 100% !important;
}

.facts-row .modInnerContent {
	padding: 0;
}

.facts-section > div {
	display: flex;
	flex-wrap: wrap;
	row-gap: 20px;
	width: 100%;
}

/* .facts-section .overlay {
	position: absolute;
	top: 0;
	background-color: var(--white);
	height: 100%;
	opacity: 95%;
	visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.5s;
	flex-wrap: wrap;
	padding: 40px;
} */

.overlay {
  position: absolute;
  top: 0;
  background-color: var(--white);
  height: 100%;
  width:100%;
  visibility: hidden;
  flex-wrap: wrap;
  padding: 40px;
  transform: scale(0, 0);
  transform-origin: 99% 99%;
  transition: all .5s ease;
}

/* .facts-section .overlay.open {
	display: flex;
  visibility: visible;
  opacity: 0.9;
  transition: visibility 0s, opacity 0.5s;
} */

.overlay.open {
  display: flex;
  visibility: visible;
  opacity: .9;
  transform: scale(1, 1);
}

.facts-section img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.facts-section > div > div {
	width: 100%;
}

.overlay * {
	color: var(--under-the-elms);
}

.facts-section .image {
	position: relative;
}

.facts-section .image,
.facts-section .fact {
	height: 360px;
	width: 100%;
}

.facts-section .fact a {
	height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  text-decoration: none;
  padding: 40px 40px 80px;
  transition: all .35s ease;
}

.facts-section .fact a * {
	color: var(--under-the-elms);
}

.facts-section .fact a::before {
	border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: scale(0, 1);
}

.facts-section .fact a::after {
	border-right: 2px solid currentColor;
  border-left: 2px solid currentColor;
  transform: scale(1, 0);
}

.facts-section .fact a::before,
.facts-section .fact a::after {
  position: absolute;
  top: 20px;
  right: 20px;
  bottom: 20px;
  left: 20px;
  content: '';
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
}

.image .info-indicator-container {
	position: absolute;
	bottom: 0;
	right: 0;
	background: var(--white);
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-top-left-radius: 20px;
}

.image .info-indicator {
	position: absolute;
	bottom: 0;
	right: 0;
	background: var(--white);
	justify-content: center;
	border-top-left-radius: 20px;
	text-decoration: none;
	transition: all .35s ease;
	z-index: 1;
	border-bottom-right-radius: 20px;
	width: 100%;
	height: 100%;
    font-size: 29px;
    font-family: var(--text-serif);
    font-weight: 700;
	line-height: 100%;
}

.image .info-indicator > span:not(.sr-only) {
    color: var(--under-the-elms);
	font-size: 29px;
	font-style: italic;
	font-family: var(--text-serif);
    font-weight: 700;
	line-height: 100%;
}

.image .info-indicator:hover,
.image .info-indicator:focus {
	background-color: var(--moss);
	color: var(--under-the-elms);
}

.image .info-indicator:focus-visible {
  outline: 2px solid #85b7d1;
}

.image .info-indicator.open {
	background-color: var(--under-the-elms);
    color:var(--white);
}

.image .info-indicator.open:hover,
.image .info-indicator.open:focus {
  background-color: var(--cutler);
}

.image .info-indicator.open i {
	color: var(--white);
}

.overlay .heading {
	font-size: 40px;
  font-family: var(--text-display);
  font-weight: 800;
  line-height: 100%;
  color: var(--under-the-elms);
}

.overlay .body {
	color: var(--under-the-elms);
}

.overlay .info-link {
	font-weight: 700;
	height: fit-content;
	text-underline-offset: 6px;
	text-decoration-thickness: 2px;
}

.overlay .info-link i {
	font-size: 14px;
}

.facts-section .fact a .fact-heading {
	font-size: 28px;
	font-weight: 800;
	font-family: var(--text-display);
	line-height: 100%;
}

.facts-section .fact a .fact-body p {
	font-weight:600;
	font-size:19px;
	line-height:23px;
}

.facts-section .fact a .link-indicator {
	position: absolute;
  width: 45px;
  height: 45px;
  bottom: 20px;
  display: flex;
  border: 2px solid var(--under-the-elms);
  justify-content: center;
  align-items: center;
  transition: all .35s ease;
}

.facts-section .fact a:hover::before,
.facts-section .fact a:hover::after {
	opacity: 1;
	transform: scale(1);
}

.facts-section .top .half:last-of-type {
	display: flex;
	flex-wrap: wrap;
	row-gap: 20px;
}

.facts-section .top .half .fact {
	background-color: var(--teal);
}

.facts-section .bottom .quarter:first-of-type {
	order: 1;
}

.facts-section .bottom .quarter:last-of-type {
	order: 2;
}

.facts-section .bottom .half .fact {
	background-color: var(--moss);
}

.facts-section .bottom .quarter .fact {
	background-color: var(--rust);
}

.facts-section .bottom .quarter .fact a * {
	color: var(--white);
}

.facts-section .fact a:focus .fact-content * {
	color: var(--white);
}

.facts-section .bottom .quarter .fact a::before {
	border-top: 2px solid var(--white);
	border-bottom: 2px solid var(--white);
}

.facts-section .bottom .quarter .fact a::after {
	border-left: 2px solid var(--white);
	border-right: 2px solid var(--white);
}

.facts-section .fact a:hover .link-indicator {
	background: var(--under-the-elms);
}

.facts-section .fact a:focus .link-indicator,
.facts-section .fact a:focus .link-indicator i {
	background: var(--white);
}

.facts-section .fact a:focus .link-indicator i::before {
	color: var(--under-the-elms);
}

.facts-section .fact a:hover .link-indicator i::before {
	color: var(--white);
}

.facts-section .bottom .quarter .fact a .link-indicator {
	border-color: var(--white);
}

.facts-section .fact a:hover:focus .link-indicator i::before {
	color: var(--under-the-elms);
}

.facts-section .top .half.image .overlay .body,
.locations-row .half.image .overlay .body {
	margin-bottom: 15px;
}

.facts-section .bottom .quarter .fact a:hover .link-indicator {
	background: var(--white);
}

.locations-row .overlay > div {
  position:relative;
  width:100%;
}

.locations-row .overlay > div .body-container {
  display:block;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:100%;
}

.facts-section .bottom .quarter .fact a:hover .link-indicator i::before {
	color: var(--black);
}

@media only screen and (min-width: 768px) {
	.facts-section {
		margin: 20px 45px;
	}
	
	.facts-section > div {
		column-gap: 20px;
	}

  .facts-section .bottom .quarter {
		width: calc(50% - 10px);
	}
	
	.facts-section .top .half:last-of-type {
		flex-wrap: nowrap;
		column-gap: 20px;
	}
	
	.facts-section .fact a .fact-heading {
		font-size: 40px;
	}
}

@media only screen and (min-width: 1140px) {
	.facts-section {
		margin: 20px 0;
	}
	
	.facts-section > div {
		flex-wrap: nowrap;
	}
	
	.facts-section .bottom .half {
		width: calc(50% - 20px);
	}
	
	.facts-section .bottom .quarter {
		width: calc(25% - 10px);
	}
	
	.facts-section .bottom .quarter.image {
		order: 0;
	}
}
