/*
Theme Name: tci
Theme URI: 
Author: David Stein
Author URI: 
Description: Custom classic theme for Tenri Cultural Institute
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tci
Tags: 
*/

:root {

	/* structure */
	--tci-content-readable-max: 1060px; /* align with $content_width in functions.php; per-page overrides set this */
	/* After the logo rail: left edge of `.tci-shell__content` → start of main/sidebar block */
	--tci-content-offset-after-rail: 5rem;
	/* Right edge of content column → end of sidebar (when sidebar is shown) */
	--tci-content-inset-end: 3rem;
	/* Horizontal space between main column and right sidebar */
	--tci-content-col-gap: 4rem;
	/* Minimum width of the widget column; the track grows with `1fr` to fill space after main (capped at --tci-content-readable-max). */
	--tci-main-widgets-col: 280px;

	/* brand */
	--tci-sage:          #9DA27B;
	--tci-sage-light:    #B8BCA0;
	--tci-sage-frost:    #D5D9C4;
	--tci-sage-mist:     #EEF0E5;
	--tci-forest-deep:   #2B2E1F;
	--tci-forest-mid:    #3E4429;
	--tci-fern:          #5C6345;
	--tci-moss:          #6B7055;
  
	/* surfaces */
	--tci-page-bg:       #F5F4EE;
	--tci-card-bg:       #FFFFFF;
	--tci-card-bg-rgb:   255, 255, 255;
	--tci-border:        #D5D9C4;
  
	/* accents */
	--tci-terracotta:    #C4783A;
	--tci-terracotta-bg: #FAF0E8;
	--tci-turmeric:      #B8922A;
	--tci-turmeric-bg:   #FBF5E6;
	--tci-teal:          #3E7D6B;
	--tci-teal-bg:       #E8F4F1;
	--tci-plum:          #7A4A8A;
	--tci-plum-bg:       #F3EDF6;
}


@font-face {
    font-family: 'Jost';
    src: url('/wp-content/uploads/fonts/Jost-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

body {
    margin: 0;
    font-family: 'Jost', sans-serif;
    font-weight: 400;
    background-color: var(--tci-page-bg);
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	letter-spacing: 0.32px;
}

h1, h2, h3 {
    font-family: 'Lora', serif;
    font-weight: 500;
}

/* Full-width shell: branding rail | content column. Only `.tci-main` caps at `tci_content_width`. */
.tci-shell {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	flex: 1 0 auto;
	min-height: 80vh
}

.tci-shell__sidebar {
	flex: 0 0 auto;
	max-width: 140px;
}

.tci-shell__sidebar-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.tci-shell__content {
	flex: 1 1 0;
	min-width: 0;
	box-sizing: border-box;
}

.tci-main {
	box-sizing: border-box;
	max-width: var(--tci-content-readable);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* No sidebar: main is a centered fluid column up to --tci-content-readable. */
.tci-content-layout:not(:has(.tci-main-widgets)) .tci-main {
	width: 100%;
}

/* Per-page main widths (Page Display → Main column width).
 * Both vars must be set on the same element: --tci-content-readable is resolved where it is defined,
 * not where --tci-content-readable-max is overridden later in the tree. */
body.tci-main-width-narrow,
.tci-content-layout.tci-main-width-narrow {
	--tci-content-readable-max: 720px;
	--tci-content-readable: min(var(--tci-content-readable-max), 100%);
}

body.tci-main-width-wide,
.tci-content-layout.tci-main-width-wide {
	--tci-content-readable-max: 1280px;
	--tci-content-readable: min(var(--tci-content-readable-max), 100%);
}

body.tci-main-width-full,
.tci-content-layout.tci-main-width-full {
	--tci-content-readable-max: 1600px;
	--tci-content-readable: min(var(--tci-content-readable-max), 100%);
}

/* Main column + optional right widget column (two rows via separate registered sidebars). */
.tci-content-layout {
	--tci-content-readable: min(var(--tci-content-readable-max), 100%);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0 var(--tci-content-col-gap);
	align-items: start;
	width: 100%;
	box-sizing: border-box;
}

/*
 * With a sidebar: main track capped at --tci-content-readable-max; widget track is at least
 * --tci-main-widgets-col then grows with `1fr` (original layout — sidebar fills remaining width).
 */
.tci-content-layout:has(.tci-main-widgets) {
	grid-template-columns: minmax(0, var(--tci-content-readable-max)) minmax(var(--tci-main-widgets-col), 1fr);
	justify-content: start;
	column-gap: var(--tci-content-col-gap);
	row-gap: 0;
	max-width: 100%;
	min-width: 0;
	padding-left: var(--tci-content-offset-after-rail);
	padding-right: var(--tci-content-inset-end);
	box-sizing: border-box;
}

.tci-content-layout:has(.tci-main-widgets) .tci-main {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	min-width: 0;
}

.tci-main-widgets {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
	min-width: var(--tci-main-widgets-col);
	max-width: 100%;
	box-sizing: border-box;
}

@media (min-width: 1181px) {
	.tci-main-widgets__row {
		min-width: 0;
		overflow: visible;
	}
}

.tci-main-widgets__row {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
	padding: 1rem 1.25rem;
	background-color: var(--tci-card-bg);
	border: 1px solid var(--tci-border);
	box-sizing: border-box;
}

.tci-main-widgets__row:last-child {
	margin-bottom: 10px;
}

.tci-main-widgets .widget {
	margin: 0;
}

.tci-main-widgets .widget + .widget {
	margin-top: 1rem;
}

.tci-main-widgets img {
	max-width: 100%;
	height: auto;
}

.tci-plum {
	color: var(--tci-plum);
}

.tci-map {
	width: 100%;
	height: auto;
}

.padding-bottom-50 {
	padding-bottom: 50px;
}

.subway-icon {
	width: 50px;
	height: 50px;
	border-radius: 50%;
}

.subway-icon .subway-f, .subway-m {
	background-color: rgb(255, 99, 25);
	color: white;
}  

/*
 * Logo: `.tci-shell-logo` in the rail (default) vs `.tci-header-logo` in the nav stack (narrow).
 * On viewports max-width 1180px the shell logo and under-logo widgets are suppressed; the header logo is shown.
 * `.tci-shell__sidebar` is hidden at that breakpoint (see @media (max-width: 1180px) after desktop nav rules).
 */
.tci-header-logo {
	display: none;
}

.tci-site-logo,
.tci-site-logo .custom-logo-link img,
.tci-site-logo img {
	height: 100px;
	width: 100px;
}

.tci-site-logo .tci-site-title-link {
	color: var(--tci-forest-deep);
	text-decoration: none;
}

.tci-header1-logo-under-widgets .widget {
	margin: 0;
}

.tci-header1-logo-under-widgets img {
	width: 100px;
	height: auto;
}

.tci-header1,
.tci-header2 {
	padding-bottom: var(--tci-content-offset-after-rail);
	display: flex;
}

.spacer-50 {
	height: 50px;
}

.tci-header1-nav-stack {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 0;
    height: 100px;
	width: 100%;
	background-color: var(--tci-sage);
}

.tci-header2-nav-stack {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	min-height: 0;
	height: 100px;
	width: 100%;
	background-color: var(--tci-sage);
	flex: 1 1 auto;
	min-width: 0;
}

.tci-header1-aside-widgets,
.tci-header2-aside-widgets {
	min-height: 0;
}

.tci-header2-aside-widgets {
	position: relative;
	overflow: hidden;
}

.tci-header2-aside-widgets::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: clamp(36px, 7vw, 90px);
	background: linear-gradient(to right, transparent, var(--tci-sage));
	pointer-events: none;
}

.tci-header1-aside-widgets img {
	display: block;
	height: 80px;
	width: auto;
}

.tci-header2-aside-widgets img {
	display: block;
	height: 100px;
	width: auto;
}

.tci-header-beside-override-image {
	display: block;
	height: 100px;
	width: auto;
}

.tci-header1-aside-widgets .tci-header-beside-override-image {
	height: 80px;
}

.tci-header1-nav {
	min-height: 20px;
	border-top: 1px solid var(--tci-page-bg);
}

.tci-header2-nav-inner {
	display: flex;
	align-items: stretch;
	margin-left: auto;
	flex: 0 1 auto;
	min-width: 0;
	box-sizing: border-box;
	padding-right: 20px;
}

.tci-header2-menu-toggle {
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0;
	padding: 0.5rem;
	border: 0;
	background: transparent;
	color: var(--tci-forest-mid);
	cursor: pointer;
	border-radius: 5px;
}

.tci-header2-menu-toggle:hover {
	background-color: var(--tci-forest-deep);
	color: var(--tci-sage-mist);
}

.tci-header2-menu-icon {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 1.5rem;
	height: 1.125rem;
}

.tci-header2-menu-bar {
	display: block;
	height: 2px;
	width: 100%;
	background-color: currentColor;
	border-radius: 1px;
	transition: transform 0.2s ease, opacity 0.2s ease;
	transform-origin: center;
}

.tci-header2-menu-toggle.tci-is-active .tci-header2-menu-bar:nth-child(1) {
	transform: translateY(0.5rem) rotate(45deg);
}

.tci-header2-menu-toggle.tci-is-active .tci-header2-menu-bar:nth-child(2) {
	opacity: 0;
}

.tci-header2-menu-toggle.tci-is-active .tci-header2-menu-bar:nth-child(3) {
	transform: translateY(-0.5rem) rotate(-45deg);
}

.tci-header2-nav {
	min-height: 20px;
	flex: 0 1 auto;
	min-width: 0;
	display: flex;
	align-items: stretch;
	box-sizing: border-box;
}

.tci-header1-nav .tci-header1-nav-main {
	height: 20px;
	width: 100%;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding-left: 20px;
}

.tci-header2-nav .tci-header2-nav-main {
	height: 100px;
	width: 100%;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding-left: 20px;
	align-content: stretch;
	align-items: stretch;
	position: relative;
}

.tci-header1-nav-main > li > a,
.tci-header2-nav-main > li > a {
	display: block;
	text-decoration: none;
	color: var(--tci-forest-mid);
	padding: 0 10px;
}

.tci-header1-nav-main > li > a:hover,
.tci-header2-nav-main > li > a:hover {
	color: var(--tci-sage-mist);
	background-color: var(--tci-forest-deep);
}

/* .tci-header1-nav-main > li:not(:first-of-type),
.tci-header2-nav-main > li:not(:first-of-type) {
	padding-left: 10px;
} */

.tci-header2-nav-main > li {
	--tci-nav-li-pad-inline-end: 10px;
	padding-right: var(--tci-nav-li-pad-inline-end);
	position: relative;
	display: flex;
	align-items: center;
	align-self: stretch;
}

.tci-header2-nav-main > li > a {
	display: flex;
	align-items: center;
	height: 100%;
}

.tci-header2-nav .tci-header2-nav-main > li > .sub-menu {
	top: 100%;
}

.tci-header1-nav-main > li {
	position: relative;
}

.tci-header1-nav-main .sub-menu,
.tci-header2-nav-main .sub-menu {
	position: absolute;
	top: calc(100% - 1px);
	left: 0;
	display: none;
	min-width: 14rem;
	margin: 0;
	padding: 0;
	list-style: none;
	background-color: var(--tci-sage);
	border-radius: 0;
	box-shadow: none;
	z-index: 200;
}

.tci-header1-nav-main .sub-menu li,
.tci-header2-nav-main .sub-menu li {
	padding: 0;
	background-color: var(--tci-sage);
	border-top: 1px solid var(--tci-sage-light);
}

.tci-header1-nav-main .sub-menu li:first-child,
.tci-header2-nav-main .sub-menu li:first-child {
	border-top: 0;
}

.tci-header1-nav-main .sub-menu a,
.tci-header2-nav-main .sub-menu a {
	display: block;
	padding: 0.6rem 0.9rem;
	text-decoration: none;
	color: var(--tci-forest-mid);
	background-color: var(--tci-sage);
	border-radius: 0;
	margin: 0;
}

.tci-header1-nav-main .sub-menu a:hover,
.tci-header1-nav-main .sub-menu a:focus-visible,
.tci-header2-nav-main .sub-menu a:hover,
.tci-header2-nav-main .sub-menu a:focus-visible {
	background-color: var(--tci-forest-deep);
	color: var(--tci-sage-mist);
	outline: none;
}

.tci-header1-nav-main .menu-item-has-children:hover > .sub-menu,
.tci-header1-nav-main .menu-item-has-children:focus-within > .sub-menu,
.tci-header2-nav-main .menu-item-has-children:hover > .sub-menu,
.tci-header2-nav-main .menu-item-has-children:focus-within > .sub-menu {
	display: block;
}

.tci-header1-nav-main .menu-item-has-children:hover > a,
.tci-header1-nav-main .menu-item-has-children:focus-within > a,
.tci-header2-nav-main .menu-item-has-children:hover > a,
.tci-header2-nav-main .menu-item-has-children:focus-within > a {
	border-radius: 0;
	color: var(--tci-sage-mist);
}

.slim-container {
	max-width: 90%;
	margin: 0 auto;
}

.justify-between {
	justify-content: space-between;
}

.width-80 {
	width: 80%;
}

.two-column,
.two-col {
	display: flex;
	flex-wrap: nowrap;
}

.two-col-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 30px;
	row-gap: 1rem;
}

.two-col-grid > .grid-span-full {
	grid-column: 1 / -1;
}

.col-60 {
	flex: 0 0 60%;
}

.col-40 {
	flex: 0 0 40%;
}

.col-50 {
	flex: 0 0 50%;
}

.col-35 {
	flex: 0 0 35%;
}

.col-30 {
	flex: 0 0 30%;
}

.col-20 {
	flex: 0 0 20%;
}

.col-70 {
	flex: 0 0 70%;
}

.float-right {
	float: right;
}

.centered {
	display: block;
	margin: 0 auto;
}

.gap-10 {
	gap: 10px;
}

.gap-30 {
	gap: 30px;
}

.gap-50 {
	gap: 50px;
}

.uppercase {
	text-transform: uppercase;
}

.margin-top-0 {
	margin-top: 0;
}

.d-flex {
	display: flex;
}

.flex-direction-column {
	flex-direction: column;
}

.flex-col {
	display: flex;
	flex-direction: column;
}

/* Stacked main + widgets, shell, and tablet/phone primary nav.
 * Must follow desktop `.sub-menu { display: none }` / hover rules or this block loses the cascade. */
@media (max-width: 1180px) {
	/* Below shell breakpoint: fluid main; page width presets apply on desktop only. */
	.tci-content-layout,
	body[class*="tci-main-width-"] {
		--tci-content-readable: 100%;
	}

	.tci-main {
		width: 100%;
		max-width: 100%;
	}

	.tci-content-layout:has(.tci-main-widgets) {
		grid-template-columns: minmax(0, 1fr);
		justify-content: stretch;
		gap: 1.5rem 0;
		width: 100%;
		/* Rail offset is for the side-by-side layout; stacked main + widgets use the content width */
		padding-left: 0;
		padding-right: 0;
	}

	.tci-content-layout:has(.tci-main-widgets) .tci-main {
		margin-left: 0;
		margin-right: 0;
	}

	.tci-content-layout:has(.tci-main-widgets) .tci-main-widgets {
		min-width: 0;
	}

	.tci-header1,
	.tci-header2 {
		padding-bottom: 20px;
	}

	.tci-shell-logo,
	.tci-header1-logo-under-widgets {
		display: none;
	}

	.tci-header-logo {
		display: block;
		box-sizing: border-box;
		background-color: var(--tci-page-bg);
		align-self: stretch;
	}

	.tci-shell__sidebar {
		display: none;
	}

	.tci-header1-nav-stack,
	.tci-header2-nav-stack {
		height: auto;
		min-height: 100px;
	}

	/* Header style 2: hamburger + dropdown primary nav */
	.tci-shell__content {
		overflow: visible;
	}

	.tci-header2 {
		overflow: visible;
		position: relative;
		z-index: 100;
	}

	/* Wider positioning context so the panel can extend left over the aside image */
	.tci-header2-nav-stack {
		position: relative;
		overflow: visible;
	}

	.tci-header2-aside-widgets {
		position: relative;
		z-index: 0;
	}

	.tci-header2-nav-inner {
		align-items: center;
		z-index: 1;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		flex: 1 1 auto;
		min-width: 0;
		padding: 0.5rem 0.5rem 0.5rem 0;
		box-sizing: border-box;
	}

	.tci-header2-menu-toggle {
		display: flex;
		align-self: center;
	}

	.tci-header2-nav {
		position: static;
		flex: 0 0 100%;
		width: min(22rem, calc(100vw - 1rem));
		margin-left: auto;
		margin-right: 0;
		margin-top: 0.5rem;
		padding: 0.5rem 0;
		min-width: 0;
		background-color: var(--tci-sage);
		border-radius: 5px;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		transform: translateY(-0.15rem);
		pointer-events: none;
		transition: max-height 0.28s ease, opacity 0.2s ease, transform 0.2s ease, margin-top 0.2s ease;
	}

	.tci-header2-nav.tci-is-open {
		max-height: 70vh;
		overflow: auto;
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
		margin-top: 0.5rem;
	}

	.tci-header2-nav-stack:has(.tci-header2-nav.tci-is-open) .tci-header2-aside-widgets {
		display: none;
	}

	.tci-header2-nav-stack:has(.tci-header2-nav.tci-is-open) .tci-header2-nav-inner {
		flex: 1 1 100%;
		width: 100%;
		padding-right: 0.5rem;
	}

	.tci-header2-nav-stack:has(.tci-header2-nav.tci-is-open) .tci-header2-nav {
		width: 100%;
	}

	.tci-header2-nav .tci-header2-nav-main {
		flex-direction: column;
		flex-wrap: nowrap;
		height: auto;
		width: 100%;
		align-content: stretch;
		padding-left: 0;
		padding-right: 0;
	}

	.tci-header2-nav-main > li {
		padding-right: 0;
		border-top: 1px solid var(--tci-page-bg);
		overflow: hidden;
		align-self: auto;
	}

	.tci-header2-nav-main > li:first-child {
		border-top: 0;
	}

	.tci-header2-nav-main > li > a {
		display: block;
		height: auto;
		align-items: initial;
		padding: 0.65rem 1.25rem;
		border-radius: 0;
		flex: 1 1 auto;
		min-width: 0;
	}

	.tci-header2-nav-main .menu-item-has-children > a {
		padding-right: 0.75rem;
		overflow-wrap: anywhere;
	}

	.tci-header2-nav-main .menu-item-has-children {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.tci-header2-nav-main .tci-submenu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2rem;
		height: 2rem;
		margin-right: 0.5rem;
		border: 0;
		border-radius: 6px;
		background: transparent;
		color: var(--tci-forest-mid);
		cursor: pointer;
		flex: 0 0 auto;
	}

	.tci-header2-nav-main .tci-submenu-toggle::before {
		content: "";
		display: block;
		width: 0.45rem;
		height: 0.45rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg) translateY(-1px);
		transition: transform 0.2s ease;
	}

	.tci-header2-nav-main .menu-item-has-children.tci-submenu-open > .tci-submenu-toggle::before {
		transform: rotate(-135deg) translateY(1px);
	}

	.tci-header2-nav-main .tci-submenu-toggle:hover {
		background-color: rgba(43, 46, 31, 0.12);
	}

	.tci-header2-nav-main .sub-menu {
		position: static;
		display: block;
		min-width: 0;
		list-style: none;
		margin: 0;
		padding: 0 0 0 1.25rem;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		transition: max-height 0.25s ease, opacity 0.2s ease, padding-bottom 0.2s ease;
		background: transparent;
		border-radius: 0;
		box-shadow: none;
		border: 0;
		flex: 0 0 100%;
	}

	.tci-header2-nav-main .menu-item-has-children.tci-submenu-open > .sub-menu {
		display: block;
		opacity: 1;
		padding-bottom: 0.5rem;
	}

	.tci-header2-nav-main .sub-menu a {
		padding-top: 0.35rem;
		padding-bottom: 0.35rem;
		margin: 0;
		border-radius: 0;
	}

	.tci-header2-aside-widgets figure {
		margin-bottom: 0;
	}

	.slim-container {
		max-width: 100%;
	}

	.two-column,
	.two-col {
		flex-direction: column;
		align-items: stretch;
		gap: 1.5rem;
	}

	.two-column > [class*="col-"],
	.two-col > [class*="col-"] {
		flex: 1 1 auto;
		width: 100%;
	}

	.two-col-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.tci-footer__inner hr,
	.tci-footer__columns,
	.tci-footer-socials {
		max-width: 100%;
	}
}

/* Last primary item: submenu grows left; right edge matches parent link (header2 li has inline-end padding).
 * Hamburger + injected submenu toggles: hidden in @media (min-width: 1181px) only. */
@media (min-width: 1181px) {
	.tci-header2-menu-toggle {
		display: none;
	}

	/* Submenu toggle buttons are injected via JS; not used on desktop hover menus. */
	.tci-header2-nav-main .tci-submenu-toggle {
		display: none;
	}

	.tci-header1-nav-main > li.menu-item-has-children:last-child > .sub-menu {
		left: auto;
		right: 0;
	}

	.tci-header2-nav-main > li.menu-item-has-children:last-child > .sub-menu {
		left: auto;
		right: var(--tci-nav-li-pad-inline-end);
	}
}

.hero {
	background-color: var(--tci-sage-mist);
	padding: 10px 30px;
	color: var(--tci-forest-deep);
	border-radius: 5px;
	border: 2px solid var(--tci-border);
}

.hero p {
	color: var(--tci-moss);
}

.entry-title {
	margin-top: 0;
}

.entry-title a {
	text-decoration: none;

}

a {
	color: var(--tci-forest-deep);
}

a:hover {
	color: var(--tci-moss);
}

.tci-exhibition-single {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.tci-exhibition-single .tci-exhibition__meta {
	display: block;
	position: relative;
	width: 90%;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.tci-exhibition-single .exhibition-thumbnail {
	width: 100%;
	max-width: 100%;
}

.exhibition-thumbnail > img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	position: relative;
	z-index: 0;
}

.tci-exhibition__meta-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: rgba(var(--tci-card-bg-rgb), 0.9);
	padding: 1rem;
	border: 1px solid var(--tci-border);
	position: absolute;
	z-index: 1; 
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}

.tci-exhibition__meta .entry-title {
	margin-bottom: 0;
}

.tci-exhibition__meta > h3 {
	margin-bottom: 15px;
	margin-top: 0;
}

.entry-meta.tci-exhibition__meta {
	font-size: 1rem;
}

.exhibition-leader {
	background-color: var(--tci-border);
	padding: 1rem;
	color: var(--tci-forest-deep);
}

.tci-exhibition-single .tci-exhibition__meta {
	margin-bottom: 1.25rem;
}

.tci-exhibition-single .tci-exhibition-introduction p,
.tci-exhibition-single .tci-exhibition-description p {
	margin: 0 0 0.75em;
}

.tci-exhibition-single .tci-exhibition-introduction p:last-child,
.tci-exhibition-single .tci-exhibition-description p:last-child {
	margin-bottom: 0;
}

.tci-exhibition-single .tci-exhibition-introduction + .tci-exhibition-description {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--tci-border);
}

/* No additional-images block — add space above the footer (gallery section normally provides this). */
.tci-exhibition-single:not(:has(.tci-exhibition-gallery)) {
	padding-bottom: var(--tci-content-offset-after-rail);
}

.tci-entry__meta {
	font-size: 14px;
}

.tci-entry__spacer {
	height: 40px;
}

.tagline-container {
	display: flex;
	justify-content: center;
}

.home-tagline-header {
	font-size: clamp(1.5rem, 4vw, 2rem);
}

.page-body-text {
	font-size: 18px;
}

.home-tci-post-card {
	max-width: 80%;
}

.tci-post-card {
	display: flex;
	background-color: var(--tci-card-bg);
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	gap: 15px;
	padding-left: 2.5rem;
  	padding-right: 2.5rem;
	padding-top: .75rem;
	border: 1px solid var(--tci-border);
  	border-radius: 5px;
}

.tci-post-card__excerpt {
	color: var(--tci-moss);
}

.tci-post-card h3 {
	color: var(--tci-forest-deep);
}

.tci-post-card h3:hover {
	color: var(--tci-moss);
}

.tci-post-card__link {
	text-decoration: none;
}

.tci-post-card__cta {
	display: inline-block;
	border: 1px solid var(--tci-border);
    background-color: var(--tci-card-bg);
    padding: 20px;
	cursor: pointer;
	margin-bottom: 20px;
	margin-top: 20px;
	color: var(--tci-teal);
	border-radius: 5px;
	text-decoration: none;
}

.tci-post-card__cta:hover {
	background-color: var(--tci-forest-deep);
	color: var(--tci-sage-mist);
}

.home-body-image {
	width: 100%;
}

.home-pull-quote {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
    width: 50%;
    margin: 0px auto;
    margin-top: 30px;
    margin-bottom: 30px;
	font-size:18px;
	font-weight:500;
	color: #212529;
}

.home-pull-header {
	color: #6290aa;
    font-size: 24px;
    font-weight: bold;
}

.home-pull-amp {
	font-size: 24px;
}

.left {
    transform: translateX(-20px);
}

.left2 {
	transform: translateX(-40px);
}

.right {
    transform: translateX(20px);
}

.right3 {
	transform: translateX(60px);
}

.page .tci-entry__meta {
    display: none;
}

/* Exhibitions listing uses the same meta class on a Page; body.page would hide it without this. */
.exhibitions-page .events-card .entry-meta.tci-entry__meta {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 0.35rem;
}

html body .underlined {
	text-decoration: underline;
}

.home-widget-entries li > a {
	color: var(--tci-forest-deep);
	font-family: 'Lora', serif;
  	font-weight: 1000;
  	text-decoration: none;
	padding: 0 10px 0 10px;
}

.home-widget-entries > li > a:hover {
	color: var(--tci-moss);
}

.home-widget-entries li > time {
	width: 100%;
	padding: 0 10px 5px 10px;
}

.home-widget-entries > li {
	background-color: var(--tci-sage-mist);
	margin-bottom: 10px;
	border: 1px solid var(--tci-border);
	padding-top: 5px;
}

.home-widget-entries > li > .wp-block-latest-posts__post-excerpt {
	font-size: .9rem;
	background-color: var(--tci-card-bg);
	padding: 5px 10px 10px 10px;
	border-top: 2px solid var(--tci-sage-frost);
	margin-top: 0;
	margin-bottom: 0;
}

.tci-footer {
	background-color: var(--tci-forest-deep);
	color: var(--tci-page-bg);
	margin-top: auto;
}

.tci-footer__inner hr {
	max-width: calc(var(--tci-content-readable-max) + var(--tci-content-col-gap) + var(--tci-main-widgets-col));
	color: var(--tci-sage-mist);
}

.tci-footer__inner {
	padding-top: 80px;
	padding-bottom: 30px;
}

.tci-footer__credit {
	text-align: center;
	margin: 0;
}

.tci-footer__columns {
	max-width: calc(var(--tci-content-readable-max) + var(--tci-content-col-gap) + var(--tci-main-widgets-col));
	margin: 0 auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	display: flex;
}

.tci-footer__columns > :first-child {
	margin-top: 0;
}

.tci-footer__columns > :last-child {
	margin-bottom: 0;
}

.tci-footer__columns a {
	color: var(--tci-page-bg);
}

.tci-footer-col {
	flex: 1 1 0;
}

.tci-footer-col p {
	font-size: .75em;
	color: var(--tci-moss);
	margin-top: 0;
	line-height: 1.15rem;
}

.tci-footer-col h4 {
	margin-top: 0;
	color: var(--tci-sage-mist);
}

.tci-footer__columns > .tci-footer-col + .tci-footer-col {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.tci-footer-col ul {
	list-style: none;
	font-size: .75em;
	margin-top: 0;
}

.tci-footer-col li {
	padding-bottom: 5px;
}

.tci-footer-col a {
	color: var(--tci-moss);
	text-decoration: none;
}

.tci-footer-col a:hover {
	color: var(--tci-sage-mist);
}

.tci-footer-socials {
	max-width: calc(var(--tci-content-readable-max) + var(--tci-content-col-gap) + var(--tci-main-widgets-col));
	display: flex;
	justify-content: center;
	margin: 0 auto;
	margin-top: 15px;
	font-size: 1.75rem;
	gap: 10px;
}

.tci-footer-social-icon {
	background-color: var(--tci-moss);
	padding: 10px;
	border-radius: 10px;
	display: flex;
}

.tci-footer-social-icon i {
	margin: 0px auto;
  	color: var(--tci-sage-mist);
}

/* Events page */
.events-page .container {
	max-width: 1060px;
	margin: 0 auto;
}

.events-subtitle {
	color: var(--tci-moss);
	margin-top: 0.2rem;
}

.events-controls {
	padding: 0.6rem 0 1rem;
}

.events-controls-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1rem 1.25rem;
}

.events-view-switch {
	display: inline-flex;
	flex-shrink: 0;
	border: 1px solid var(--tci-border);
	border-radius: 10px;
	overflow: hidden;
	background: var(--tci-card-bg);
}

.events-view-switch__btn {
	font: inherit;
	margin: 0;
	padding: 0.55rem 1rem;
	border: none;
	background: transparent;
	color: var(--tci-forest-deep);
	cursor: pointer;
	line-height: 1.2;
}

.events-view-switch__btn.is-active {
	background: var(--tci-teal);
	color: var(--tci-card-bg);
}

.events-view-switch__btn:not(.is-active):hover {
	background: var(--tci-sage-mist);
}

.events-filter-form {
	display: grid;
	grid-template-columns: 1fr 200px 200px auto;
	gap: 0.65rem;
	flex: 1 1 320px;
	min-width: 0;
}

.events-page--calendar .events-pagination {
	display: none;
}

.events-panel--calendar {
	margin-top: 0.25rem;
}

.tci-events-calendar-root {
	--fc-border-color: var(--tci-border);
	--fc-button-bg-color: var(--tci-teal);
	--fc-button-border-color: var(--tci-teal);
	--fc-button-text-color: var(--tci-card-bg);
	--fc-button-hover-bg-color: var(--tci-forest-mid);
	--fc-button-hover-border-color: var(--tci-forest-mid);
	--fc-button-active-bg-color: var(--tci-forest-deep);
	--fc-button-active-border-color: var(--tci-forest-deep);
	--fc-today-bg-color: rgba(90, 140, 130, 0.12);
	--fc-page-bg-color: var(--tci-card-bg);
	--fc-neutral-bg-color: var(--tci-sage-mist);
	--fc-list-event-hover-bg-color: var(--tci-sage-mist);
	font-size: 0.95rem;
}

.tci-events-calendar-fallback {
	margin: 0;
	color: var(--tci-moss);
}

/* Events calendar widget (Appearance → Widgets → TCI Events calendar) */
.widget_tci_events_calendar .tci-events-calendar-widget {
	width: 100%;
	max-width: none;
	overflow-x: auto;
	overflow-y: visible;
	-webkit-overflow-scrolling: touch;
}

.widget_tci_events_calendar .tci-events-calendar-widget__calendar {
	--fc-font-size: 0.8125rem;
	--fc-small-font-size: 0.75rem;
	--fc-button-bg-color: var(--tci-teal);
	--fc-button-border-color: var(--tci-teal);
	--fc-button-text-color: var(--tci-card-bg);
	--fc-button-hover-bg-color: var(--tci-forest-mid);
	--fc-button-hover-border-color: var(--tci-forest-mid);
	--fc-border-color: var(--tci-border);
	--fc-page-bg-color: var(--tci-card-bg);
	--fc-neutral-bg-color: var(--tci-sage-mist);
	--fc-today-bg-color: rgba(90, 140, 130, 0.12);
	--fc-list-event-hover-bg-color: var(--tci-sage-mist);
}

.widget_tci_events_calendar .fc .fc-toolbar {
	flex-wrap: wrap;
	gap: 0.35rem;
}

.widget_tci_events_calendar .fc-toolbar-title {
	font-size: 1.05rem;
}

.widget_tci_events_calendar .tci-events-calendar-widget__error {
	margin: 0;
	font-size: 0.9rem;
	color: var(--tci-moss);
}

.events-filter-form input,
.events-filter-form button {
	font: inherit;
	border-radius: 8px;
	border: 1px solid var(--tci-border);
	background: var(--tci-card-bg);
	color: var(--tci-forest-deep);
	padding: 0.62rem 0.75rem;
}

.events-filter-form button,
.events-load-more {
	background: var(--tci-teal);
	border: 1px solid var(--tci-teal);
	color: var(--tci-card-bg);
	cursor: pointer;
}

.events-filter-form button:hover,
.events-load-more:hover {
	background: var(--tci-forest-mid);
	border-color: var(--tci-forest-mid);
}

.tci-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	font: inherit;
	line-height: 1.2;
	text-decoration: none;
	padding: 0.62rem 0.9rem;
	border: 1px solid var(--tci-teal);
	background: var(--tci-teal);
	color: var(--tci-card-bg);
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.tci-button:hover,
.tci-button:focus-visible {
	background: var(--tci-forest-mid);
	border-color: var(--tci-forest-mid);
	color: var(--tci-card-bg);
}

.tci-button:focus-visible {
	outline: 2px solid var(--tci-sage);
	outline-offset: 2px;
}

.events-listing {
	padding-bottom: 1.6rem;
}

.events-month-group + .events-month-group {
	margin-top: 1.2rem;
}

.events-month-heading {
	margin: 0 0 0.7rem;
}

.events-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.8rem;
}

.event-card article {
	border: 1px solid var(--tci-border);
	background: var(--tci-card-bg);
	border-radius: 12px;
	padding: 0.9rem;
}

.event-card-header {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 0.8rem;
	align-items: start;
}

.event-date {
	display: flex;
	flex-direction: column;
	color: var(--tci-moss);
	font-size: 0.9rem;
	background: var(--tci-sage-mist);
  	border-radius: 6px;
	text-align: center;
	padding: 5px;
}

.event-date-number {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--tci-forest-deep);
	line-height: 1.1;
}

.event-title {
	margin: 0 0 0.3rem;
}

.event-title a {
	color: var(--tci-forest-deep);
	text-decoration: none;
}

.event-title a:hover {
	color: var(--tci-teal);
	text-decoration: underline;
}

.event-meta {
	margin: 0;
	color: var(--tci-moss);
}

.event-card-body {
	margin-top: 0.7rem;
}

.event-excerpt {
	margin: 0;
}

.event-excerpt p,
.tci-event-single .entry-content p {
	margin: 0 0 0.75em;
}

.event-excerpt p:last-child,
.tci-event-single .entry-content p:last-child {
	margin-bottom: 0;
}

.tci-event-single .tci-event-summary + .tci-event-details {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--tci-border);
}

.event-card-footer {
	margin-top: 0.7rem;
}

.events-pagination {
	margin-top: 1rem;
}

.events-load-more {
	border-radius: 8px;
	padding: 0.62rem 0.9rem;
}

.exhibitions-page .events-results {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem;
}

.exhibitions-page .events-card {
	border: 1px solid var(--tci-border);
	background: var(--tci-card-bg);
	border-radius: 12px;
	padding: 0.9rem;
}

.exhibitions-page .events-card .post-thumbnail img {
	border-radius: 8px;
}

.tci-exhibition-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 0.8rem;
}

.tci-exhibition-gallery__item img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 782px) {
	.home-tci-post-card {
		max-width: 90%;
	}

	.tci-footer__columns {
		flex-direction: column;
		align-items: flex-start;
	}

	.tci-footer__columns > .tci-footer-col + .tci-footer-col {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.tci-footer-col ul {
		padding-left: 0;
	}

	.tci-footer-col {
		margin-bottom: 15px;
	}
}

@media (max-width: 920px) {
	.events-controls-inner {
		flex-direction: column;
		align-items: stretch;
	}

	.events-view-switch {
		width: 100%;
	}

	.events-view-switch__btn {
		flex: 1;
	}

	.events-filter-form {
		grid-template-columns: 1fr 1fr;
	}

	.events-filter-form button {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.events-filter-form {
		grid-template-columns: 1fr;
	}

	.event-card-header {
		grid-template-columns: 1fr;
	}
}