.entry-content {
	max-width: calc(1140px + 30rem);
}
@media screen and (max-width: 1440px) {
	.entry-content {
		margin-left: 2rem;
		margin-right: 2rem;
	}
}
#toc-wrapper {
	border-bottom: 1px solid #e5e6e7;
}
#ez-toc-container {
	border-top: 1px solid #e5e6e7;
} 
@media screen and (max-width: 780px){
	.ez-toc-custom {
		padding-top: .5em;
		margin-bottom: 1em;
	}
}
@media screen and (min-width: 781px){
	.toc-text-grid {
		display: grid;
		grid-template-columns: 26rem calc(100% - 30rem);
		gap: 4rem;
		align-items: start;
	}
	/* make sure page is nearest scrollable container for sticky el */
	#page.overflow-x-hidden {
		overflow: initial;
	}
	.position-sticky {
		position: sticky;
		/* tucked right under site header */
		top: calc(var(--header-height) - 2.8rem);
		z-index: 7;
	}
	.position-sticky .splide__track {
		background: rgb(255 255 255 / .8);
    backdrop-filter: blur(2px);
	}
	#toc-wrapper {
		position: sticky;
		top: var(--header-height);
		max-height: calc(98vh - var(--header-height));
		overflow-y: scroll;
	}
	.ez-toc-title-container {
		display: none;
	}
	.ez-toc-custom a {
		text-decoration-color: transparent;
	}
}
.ez-toc-custom ul {
	font-size: 1.3rem;
	list-style: none;
	margin: 0;
	padding: 0
}
.ez-toc-custom ul li {
	margin-left: 2em;
	margin-bottom: .7em;
	transition: 300ms linear;
}
/* can't animate ::marker */
.ez-toc-custom ul ul a::before {
	content: "●";
	margin-right: .5em;
	display: inline-block;
	color: transparent;
}
.ez-toc-custom ul ul li {
	padding-left: 1ch;
	text-indent: -1ch;
}
.ez-toc-custom ul li:first-child {
	margin-top: .7em;
}
.ez-toc-custom > nav > ul > li {
	margin-left: 0;
	padding: .5em;
	font-weight: bold;
}
.ez-toc-custom > nav > ul > li ul li {
	font-weight: normal;
}
.ez-toc-custom a {
	display: block;
	color: #000;
}
.ez-toc-custom a:hover {
	text-decoration-color: revert;
}
.ez-toc-custom nav > ul > li.active {
	background-color: #f1f1f1;
}
.ez-toc-custom nav > ul > li > ul li.active a,
.ez-toc-custom nav > ul > li > ul li.active a::before {
	color: #2559a7;
}
#to-top {
	display: none;
}
.show-to-top #to-top {
	display: block;
	position: fixed;
	top: 15%;
  right: 1em;
	filter: drop-shadow(0 0 10px #CCC);
}
#to-top a {
	text-decoration: none;
	display: block;
  background: #2559a7;
  width: min-content;
  aspect-ratio: 1;
  border: none;
  border-radius: 5px;
  color: #FFF;
  text-transform: uppercase;
  clip-path: polygon(0 50%, 50% 0, 100% 50%, 100% 100%, 0 100%);
  padding: 1em .25em .25em .25em;
}
/* find in page mudule */
#window_body {
	border: 0;
}
.on-page-search--controls {
	display: flex;
	justify-content: end;
	align-items: center;
	padding: 5px 0;
	gap: .25em;
}
.on-page-search--controls button[type="button"] {
	background: revert;
	color: revert;
	padding: .2em .4em;
	box-shadow: 1px 1px 1px rgb(0 0 0 / .3);
}
.on-page-search--controls span {
	margin-right: auto;
}
input[type=search]::placeholder {
  font-style: italic;
}
@media screen and (min-width: 780px) {
	/* highly dubious way of eliminating the righthand page margin on this page */
	.has-secondary-nav .entry-content--body > .is-layout-flow {
		margin-right: calc(50% + 15rem - 50vw)
	}
}
/* TODO Permanent solution. Maybe add spacing to theme.json? */
.wp-block-group.temp-pulse-check.has-background {
	padding-block: 3em;
	margin-block: 3em;
}