.itlu-skip-link {
	position: fixed;
	z-index: 100;
	inset-block-start: var(--itlu-space-3);
	inset-inline-start: var(--itlu-space-3);
	padding: var(--itlu-space-3) var(--itlu-space-4);
	color: var(--itlu-color-primary-contrast);
	background: var(--itlu-color-text);
	transform: translateY(-200%);
}

.itlu-skip-link:focus {
	transform: translateY(0);
}

.itlu-container {
	inline-size: min(calc(100% - (2 * var(--itlu-container-gutter))), var(--itlu-width-content));
	margin-inline: auto;
}

.itlu-container--wide {
	inline-size: min(calc(100% - (2 * var(--itlu-container-gutter))), var(--itlu-width-wide));
	max-inline-size: var(--itlu-width-wide);
}

.itlu-container--full {
	max-inline-size: none;
}

.itlu-main {
	min-block-size: 50vh;
	padding-block: clamp(var(--itlu-section-space-md), 6vw, var(--itlu-section-space-lg));
}

.itlu-main:focus {
	outline: 0;
}

/* Shared surface/card language. */
.itlu-card {
	padding: var(--itlu-card-padding);
	border: var(--itlu-card-border-width) var(--itlu-border-style) var(--itlu-card-border-color);
	border-radius: var(--itlu-card-radius);
	color: var(--itlu-card-color);
	background: var(--itlu-card-background);
	box-shadow: var(--itlu-card-shadow);
}

.itlu-card h2 {
	margin-block-start: 0;
}

:where(.itlu-card, .itlu-post-card, .itlu-contact__location, .itlu-documents__item, .itlu-events__item):focus-within {
	border-color: var(--itlu-color-border-strong);
}

.itlu-header {
	border-block-end: var(--itlu-border-width) var(--itlu-border-style) var(--itlu-color-border);
	color: var(--itlu-header-color);
	background: var(--itlu-header-background);
}

.itlu-header__utility,
.itlu-header__main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--itlu-space-4) var(--itlu-space-7);
	padding-block: var(--itlu-space-3);
}

.itlu-header__utility {
	justify-content: flex-end;
	font-size: var(--itlu-font-size-meta);
}

.itlu-branding {
	display: flex;
	align-items: center;
	gap: var(--itlu-space-4);
	min-inline-size: min(100%, 16rem);
}

.itlu-branding__logo img {
	display: block;
	max-block-size: 5rem;
	inline-size: auto;
}

.itlu-branding__title {
	margin: 0;
	font-size: var(--itlu-font-size-h4);
	font-weight: var(--itlu-font-weight-heading);
}

.itlu-branding__title a {
	color: var(--itlu-color-heading);
	text-decoration: none;
}

.itlu-branding__description {
	margin: 0.15rem 0 0;
}

.itlu-navigation {
	margin-inline-start: auto;
}

.itlu-navigation__toggle {
	color: var(--itlu-color-text);
	background: var(--itlu-color-surface);
}

.itlu-navigation__toggle .itlu-icon {
	margin-inline-end: 0.35rem;
	vertical-align: middle;
}

.itlu-navigation__list,
.itlu-navigation__list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.itlu-navigation__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem;
}

.itlu-navigation__list ul {
	padding-inline-start: var(--itlu-space-4);
}

.itlu-navigation a {
	display: block;
	min-block-size: var(--itlu-control-min-height);
	padding: 0.65rem var(--itlu-space-3);
	color: var(--itlu-header-color);
	font-weight: var(--itlu-font-weight-medium);
}

.itlu-navigation .current-menu-item > a,
.itlu-navigation .current_page_item > a {
	color: var(--itlu-color-primary);
	text-decoration-thickness: 0.2em;
}

.itlu-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0 0 var(--itlu-space-6);
	padding: 0;
	list-style: none;
	font-size: var(--itlu-font-size-meta);
}

.itlu-breadcrumbs li + li::before {
	margin-inline-end: 0.35rem;
	color: var(--itlu-color-text-muted);
	content: "/";
}

.itlu-entry__content > * {
	max-inline-size: 100%;
}

.itlu-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
	gap: var(--itlu-space-6);
}

.search-form {
	display: flex;
	flex-wrap: wrap;
	gap: var(--itlu-space-2);
}

.search-form label {
	flex: 1 1 15rem;
}

.search-field {
	inline-size: 100%;
}

.itlu-footer {
	padding-block: 2.5rem;
	color: var(--itlu-footer-color);
	background: var(--itlu-footer-background);
}

.itlu-footer :where(a, h2) {
	color: var(--itlu-footer-color);
}

.itlu-footer__identity {
	font-size: var(--itlu-font-size-h4);
	font-weight: var(--itlu-font-weight-heading);
}

.itlu-footer__widgets {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	gap: var(--itlu-space-6);
}

.itlu-footer .wp-block-search__inside-wrapper {
	flex-wrap: wrap;
	gap: var(--itlu-space-2);
}

.itlu-footer .wp-block-search__input {
	min-inline-size: 0;
}

@media (max-width: 47.99rem) {

	.itlu-header__main {
		align-items: flex-start;
	}

	.itlu-navigation {
		inline-size: 100%;
		margin-inline-start: 0;
	}

	.itlu-navigation.is-enhanced .itlu-navigation__toggle {
		display: inline-flex;
		align-items: center;
	}

	.itlu-navigation__list {
		display: block;
		margin-block-start: var(--itlu-space-2);
	}

	.itlu-navigation__list ul {
		border-inline-start: var(--itlu-border-width-prominent) var(--itlu-border-style) var(--itlu-color-border);
	}
}

@media (min-width: 48rem) {

	.itlu-navigation__toggle {
		display: none;
	}

	.itlu-navigation__list > li {
		position: relative;
	}

	.itlu-navigation__list > li > ul {
		min-inline-size: 14rem;
	}
}

@media (prefers-reduced-motion: no-preference) {

	.itlu-skip-link {
		transition: color var(--itlu-transition-fast), background-color var(--itlu-transition-fast), border-color var(--itlu-transition-fast), transform var(--itlu-transition-fast);
	}
}

@media print {

	.itlu-skip-link,
	.itlu-navigation,
	.search-form,
	.itlu-footer nav {
		display: none !important;
	}

	body {
		color: #000;
		background: #fff;
		font-size: 11pt;
	}

	.itlu-header,
	.itlu-footer {
		border-color: #999;
		color: #000;
		background: #fff;
	}

	.itlu-main {
		min-block-size: 0;
		padding-block: 1rem;
	}

	a[href^="http"]::after {
		font-size: 0.85em;
		content: " (" attr(href) ")";
	}

	article {
		break-inside: avoid;
	}
}

/* Content presets reuse the existing sidebar component and container tokens. */
.itlu-main > .itlu-container--full {
	inline-size: calc(100% - (2 * var(--itlu-container-gutter)));
}

/* One shared layout for content and news, based on the non-empty sidebars. */
body .itlu-sidebar-layout.itlu-sidebar-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: var(--itlu-sidebar-gap, 2rem);
}

body .itlu-sidebar-layout.itlu-sidebar-layout > * {
	min-inline-size: 0;
	grid-column: auto;
	grid-row: auto;
}

@media (min-width: 62.01rem) {

	body .itlu-sidebar-layout.itlu-sidebar-layout:has(> .is-right) {
		grid-template-columns: minmax(0, 1fr) var(--itlu-sidebar-width, minmax(0, min(20rem, 30%)));
	}

	body .itlu-sidebar-layout.itlu-sidebar-layout:has(> .is-left) {
		grid-template-columns: var(--itlu-sidebar-width, minmax(0, min(20rem, 30%))) minmax(0, 1fr);
	}

	body .itlu-sidebar-layout.itlu-sidebar-layout:has(> .is-left):has(> .is-right) {
		grid-template-columns: var(--itlu-sidebar-width, minmax(0, min(20rem, 25%))) minmax(0, 1fr) var(--itlu-sidebar-width, minmax(0, min(20rem, 25%)));
	}

	body .itlu-sidebar-layout.itlu-sidebar-layout > .is-left {
		grid-column: 1;
		grid-row: 1;
	}

	body .itlu-sidebar-layout.itlu-sidebar-layout:has(> .is-left) > :first-child:not(.is-left) {
		grid-column: 2;
		grid-row: 1;
	}

	body .itlu-sidebar-layout.itlu-sidebar-layout > .is-right {
		grid-column: -2;
		grid-row: 1;
	}
}
