/*
Theme Name: Docandtee Block Theme
Theme URI: https://www.docandtee.com/
Author: Doc and Tee
Author URI: https://www.docandtee.com/
Description: A lightweight Full Site Editing theme with locked patterns, CSS scroll motion, and a small Interactivity API layer for carousels and dialogs.
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.2
Version: 1.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: docandtee
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, wide-blocks, block-styles, accessibility-ready
*/

.mt-0 {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

.mb-0 {
	margin-bottom: 0 !important;
	margin-block-end: 0 !important;
}

.mt-sm {
	margin-top: 0.5rem !important;
	margin-block-start: 0.5rem !important;
}

.mb-sm {
	margin-bottom: 0.5rem !important;
	margin-block-end: 0.5rem !important;
}

a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.1em;
}

:where(.wp-site-blocks) :focus-visible {
	outline: 2px solid var(--wp--preset--color--primary-text);
	outline-offset: 2px;
}

:where(.wp-site-blocks > footer, .wp-block-cover, .has-dark-background-color, .has-primary-text-background-color, .has-contrast-background-color, .has-tertiary-background-color, .has-primary-background-color, .has-secondary-background-color) :focus-visible {
	outline-color: currentColor;
}

:where(.wp-site-blocks > footer, .wp-block-cover, .has-dark-background-color, .has-primary-text-background-color, .has-contrast-background-color, .has-tertiary-background-color, .has-primary-background-color, .has-secondary-background-color) a:where(:not(.wp-element-button)),
:where(.wp-site-blocks > footer, .wp-block-cover, .has-dark-background-color, .has-primary-text-background-color, .has-contrast-background-color, .has-tertiary-background-color, .has-primary-background-color, .has-secondary-background-color) a:where(:not(.wp-element-button)):hover,
:where(.wp-site-blocks > footer, .wp-block-cover, .has-dark-background-color, .has-primary-text-background-color, .has-contrast-background-color, .has-tertiary-background-color, .has-primary-background-color, .has-secondary-background-color) a:where(:not(.wp-element-button)):focus {
	color: inherit;
}

:where(.wp-site-blocks > footer, .wp-block-cover, .has-dark-background-color, .has-primary-text-background-color, .has-contrast-background-color, .has-tertiary-background-color, .has-primary-background-color, .has-secondary-background-color) a:where(:not(.wp-element-button)):hover {
	text-decoration-line: underline;
}



.docandtee-block > h2 {
	margin-block-end:var(--wp--preset--spacing--50) !important;
}

:where(.is-layout-constrained) > *.docandtee-block,
:where(.is-layout-constrained) > *.wp-block-details,
.wp-block-docandtee-carousel,
.docandtee-featured-image {
	margin-block-start: 0 !important;
	margin-block-end:0 !important;
}
:where(.wp-block-columns-is-layout-flex) {
	gap: var(--wp--preset--spacing--40) !important;
}

.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

.more-link {
	display: block;
}

:where(pre) {
	overflow-x: auto;
}

.skip-link:focus {
	position: absolute;
	z-index: 100000;
	top: 0;
	left: 0;
	padding: 0.75rem 1.25rem;
	background: var(--wp--preset--color--primary-text);
	color: var(--wp--preset--color--base);
	text-decoration: none;
}

.wp-block-cover .wp-block-heading a {
	color: #fff !important;
	text-decoration: none !important;
	&:hover {
		color: #fff !important;
		text-decoration: underline !important;
	}
}

.wp-element-button,
.wp-block-button__link {
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.hover-card {
	display: block;
	position: relative;
	overflow: hidden;
	text-decoration: none;
	transition: transform 0.2s ease-in-out;
}

.hover-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hover-card__overlay {
	position: absolute;
	inset: 0;
	background: var(--wp--preset--color--dark);
	opacity: 0.3;
}

.hover-card__caption {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--base);
}

.docandtee-dialog {
	position: fixed;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
	margin: 0;
	padding: var(--wp--preset--spacing--40);
	box-sizing: border-box;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
}

.docandtee-dialog[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}

.docandtee-dialog::backdrop {
	background: rgb(0 0 0 / 0.45);
}

.docandtee-dialog__panel {
	position: relative;
	z-index: 1;
	width: min(56rem, 100%);
	max-height: 90vh;
	overflow: auto;
	padding: var(--wp--preset--spacing--50);
	box-sizing: border-box;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	border-radius: 0.75rem;
	box-shadow: 0 1.5rem 3rem rgba(47, 47, 71, 0.25);
}

.docandtee-dialog__close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--light);
	color: var(--wp--preset--color--dark);
	cursor: pointer;
}

.docandtee-dialog__close:hover,
.docandtee-dialog__close:focus-visible {
	background: var(--wp--preset--color--primary-text);
	color: var(--wp--preset--color--base);
}

/* The panel is always light, even when the dialog sits in a dark section. */
.docandtee-dialog :focus-visible {
	outline-color: var(--wp--preset--color--primary-text);
}

.docandtee-dialog__media {
	aspect-ratio: 16 / 9;
	width: 100%;
	background: var(--wp--preset--color--dark);
}

.docandtee-dialog__media iframe,
.docandtee-dialog__media img {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}

body:has(.docandtee-dialog[open]) {
	overflow: hidden;
}

/* The dialog toggles display, so keyframes are used rather than transitions. */
.docandtee-dialog[open]::backdrop {
	animation: docandtee-dialog-fade 0.3s ease-out;
}

.docandtee-dialog[open] .docandtee-dialog__panel {
	animation: docandtee-dialog-in 0.3s ease-out;
}

@keyframes docandtee-dialog-fade {
	from {
		opacity: 0;
	}
}

@keyframes docandtee-dialog-in {
	from {
		opacity: 0;
		transform: translateY(1rem) scale(0.97);
	}
}

/*
 * Hero / featured covers: align title, copy and buttons together via the
 * inner Group's text alignment control (left / center / right).
 */
.wp-block-cover .wp-block-group.has-text-align-center .wp-block-buttons {
	justify-content: center;
}

.wp-block-cover .wp-block-group.has-text-align-right .wp-block-buttons {
	justify-content: flex-end;
}

.wp-block-cover .wp-block-group.has-text-align-left .wp-block-buttons {
	justify-content: flex-start;
}

/*
 * Core sizes embedded (YouTube / Vimeo) cover backgrounds at 100vw x 100vh,
 * which only fills when the viewport is landscape. On portrait screens the
 * player letterboxes the 16:9 video inside that tall frame. Keep the frame
 * 16:9 and scale it to cover the cover block instead.
 */
.wp-block-cover .wp-block-cover__embed-background {
	container-type: size;
}

:root .wp-block-cover .wp-block-cover__embed-background.wp-block-cover__video-background iframe {
	width: max(100cqw, 100cqh * 16 / 9);
	height: max(100cqh, 100cqw * 9 / 16);
}

/*
 * Revealed by assets/js/cover-youtube.js once YouTube's start-up controls have
 * faded. Only the reveal is transitioned, so hiding on loop restart is instant.
 * Until then the video's thumbnail (set inline by functions.php) shows instead.
 */
.wp-block-cover .wp-block-cover__embed-background:has(> iframe.docandtee-cover-youtube) {
	background-color: var(--wp--preset--color--dark);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.wp-block-cover iframe.docandtee-cover-youtube {
	opacity: 0;
}

.wp-block-cover iframe.docandtee-cover-youtube.is-revealed {
	opacity: 1;
	transition: opacity 0.8s ease;
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-cover iframe.docandtee-cover-youtube.is-revealed {
		transition: none;
	}
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media,
.wp-block-media-text.is-image-fill-element .wp-block-media-text__media {
	min-height: 50vh;
}

.wp-block-media-text.alignfull > .wp-block-media-text__content {
	padding-top: var(--wp--preset--spacing--20);
	padding-bottom: var(--wp--preset--spacing--40);
}

.wp-block-columns.docandtee-info-cards > .wp-block-column,
.wp-block-columns.docandtee-icon-grid > .wp-block-column,
.wp-block-columns.docandtee-stats-grid > .wp-block-column {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
	width: auto;
}

@media (max-width: 781px) {
	.wp-block-columns.docandtee-info-cards:not(.is-not-stacked-on-mobile) > .wp-block-column,
	.wp-block-columns.docandtee-icon-grid:not(.is-not-stacked-on-mobile) > .wp-block-column,
	.wp-block-columns.docandtee-stats-grid:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100%;
	}
}

/* Footer columns: one column on mobile, two on medium screens, four on wide screens. */
@media (min-width: 600px) and (max-width: 959px) {
	.wp-block-columns.docandtee-footer__columns {
		flex-wrap: wrap !important;
	}

	.wp-block-columns.docandtee-footer__columns > .wp-block-column {
		flex-basis: calc((100% - var(--wp--preset--spacing--40)) / 2) !important;
		flex-grow: 0;
	}
}

@media (min-width: 960px) {
	.wp-block-columns.docandtee-footer__columns > .wp-block-column {
		flex-basis: 0 !important;
		flex-grow: 1;
	}
}

.docandtee-stats__figure {
	font-variant-numeric: tabular-nums;
}

/*
 * Masonry grid: tiles 1 and 7 of every seven span two columns, repeating
 * wide + narrow / narrow x3 / narrow + wide on desktop.
 */
.docandtee-masonry-grid__grid.is-layout-grid {
	grid-template-columns: minmax(0, 1fr);
	grid-auto-rows: minmax(200px, auto);
}

.docandtee-masonry-grid__grid > .wp-block-cover {
	min-height: 0;
	margin: 0;
	padding: 0;
}

/* Core's content-position classes force width: auto; flex-grow keeps the stretched link tile-wide. */
.docandtee-masonry-grid__grid > .wp-block-cover > .wp-block-cover__inner-container {
	align-self: stretch;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	padding: var(--wp--preset--spacing--40);
}

.docandtee-masonry-grid__grid .wp-block-cover__inner-container > :last-child {
	margin-bottom: 0;
}

@media (min-width: 782px) {
	.docandtee-masonry-grid__grid.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.docandtee-masonry-grid__grid > :nth-child(7n + 1) {
		grid-column: span 2;
	}
}

@media (min-width: 960px) {
	.docandtee-masonry-grid__grid.is-layout-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-auto-rows: minmax(400px, auto);
	}

	.docandtee-masonry-grid__grid > :nth-child(7n) {
		grid-column: span 2;
	}
}

/*
 * Whole-card links (masonry tiles, info cards, info card carousel slides):
 * linking a card's title stretches that link over the card.
 */
:is(.docandtee-masonry-grid__grid, .docandtee-info-cards, .docandtee-info-cards-carousel) .wp-block-cover a {
	color: inherit;
}

:is(.docandtee-masonry-grid__grid, .docandtee-info-cards, .docandtee-info-cards-carousel) .wp-block-cover .wp-block-heading a {
	text-decoration: none;
}

:is(.docandtee-masonry-grid__grid, .docandtee-info-cards, .docandtee-info-cards-carousel) .wp-block-cover .wp-block-heading a:hover {
	text-decoration: underline;
}

/*
 * Core positions the inner container, which would size the stretched link to
 * the text. Making it static sizes the link to the cover instead; the cover's
 * media and overlay then sit at z-index -1 so the text stays above them.
 */
:is(.docandtee-masonry-grid__grid, .docandtee-info-cards, .docandtee-info-cards-carousel) .wp-block-cover:has(.wp-block-heading a) {
	isolation: isolate;
}

:is(.docandtee-masonry-grid__grid, .docandtee-info-cards, .docandtee-info-cards-carousel) .wp-block-cover:has(.wp-block-heading a) > .wp-block-cover__inner-container {
	position: static;
}

/* Modern Image Formats can wrap the cover image in a display: contents <picture>. */
:is(.docandtee-masonry-grid__grid, .docandtee-info-cards, .docandtee-info-cards-carousel) :is(.wp-block-cover:has(.wp-block-heading a), .wp-block-cover:has(.wp-block-heading a) > picture) > :is(.wp-block-cover__image-background, .wp-block-cover__video-background, .wp-block-cover__background, .wp-block-cover__gradient-background) {
	z-index: -1;
}

:is(.docandtee-masonry-grid__grid, .docandtee-info-cards, .docandtee-info-cards-carousel) .wp-block-cover .wp-block-heading a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Any other link or button in a linked card stays clickable above the stretched link. */
:is(.docandtee-masonry-grid__grid, .docandtee-info-cards, .docandtee-info-cards-carousel) .wp-block-cover__inner-container a:not(.wp-block-heading a) {
	position: relative;
	z-index: 2;
}

:is(.docandtee-masonry-grid__grid, .docandtee-info-cards, .docandtee-info-cards-carousel) .wp-block-cover .wp-block-heading a:focus-visible {
	outline: none;
}

:is(.docandtee-masonry-grid__grid, .docandtee-info-cards, .docandtee-info-cards-carousel) .wp-block-cover .wp-block-heading a:focus-visible::after {
	outline: 2px solid currentColor;
	outline-offset: -6px;
}

/* Info cards: 4:5 image with the title and copy below it. */
.docandtee-info-card {
	position: relative;
}

.docandtee-info-card .wp-block-image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.docandtee-info-card .wp-block-heading a {
	color: inherit;
	text-decoration: none;
}

.docandtee-info-card .wp-block-heading a:hover {
	text-decoration: underline;
}

.docandtee-info-card .wp-block-heading a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.docandtee-info-card a:not(.wp-block-heading a) {
	position: relative;
	z-index: 2;
}

.docandtee-info-card .wp-block-heading a:focus-visible {
	outline: none;
}

/* The ring spans the image and the light card body, so it pairs dark and light. */
.docandtee-info-card .wp-block-heading a:focus-visible::after {
	outline: 2px solid var(--wp--preset--color--dark);
	outline-offset: -2px;
	box-shadow: inset 0 0 0 4px var(--wp--preset--color--base);
}

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

/*
 * Logo grid: keep six-up cell size when logos are added/removed,
 * and center incomplete rows. Core gallery uses flex-grow:1 which
 * would otherwise stretch fewer logos to fill the row.
 */
.docandtee-logo-grid.docandtee-logo-grid .wp-block-gallery.has-nested-images {
	justify-content: center;
}

.docandtee-logo-grid.docandtee-logo-grid .wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-grow: 0;
}

@media (min-width: 600px) {
	.docandtee-logo-grid.docandtee-logo-grid .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
	.docandtee-logo-grid.docandtee-logo-grid .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):first-child:nth-last-child(1),
	.docandtee-logo-grid.docandtee-logo-grid .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),
	.docandtee-logo-grid.docandtee-logo-grid .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2) ~ figure.wp-block-image:not(#individual-image) {
		width: calc(16.66667% - (var(--wp--style--unstable-gallery-gap, 16px) * 0.83333));
		max-width: calc(16.66667% - (var(--wp--style--unstable-gallery-gap, 16px) * 0.83333));
	}
}

.docandtee-resources {
	list-style: none;
	padding-left: 0;
}

.docandtee-resources li {
	margin: 0;
	padding: 0.75rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 15%, transparent);
}

.docandtee-resources li:last-child {
	border-bottom: 0;
}

/*
 * Resource icons are picked from the link's file extension. Anything
 * that isn't a recognised file type gets the link icon.
 */
.docandtee-resources li a {
	--docandtee-resource-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M373.1 156.5C381.3 163.4 388.8 171 395.7 179.2C415.5 161.8 441 152.1 467.5 152.1C527.4 152.1 576 200.7 576 260.6C576 289.4 564.6 316.9 544.2 337.3L465.1 416.4C444.8 436.7 417.2 448.2 388.4 448.2C328.5 448.2 279.9 399.6 279.9 339.7C279.9 324.1 283.3 308.8 289.6 294.8C293.3 286.8 289.7 277.3 281.7 273.6C273.7 269.9 264.2 273.5 260.5 281.5C252.3 299.6 247.9 319.4 247.9 339.7C247.9 417.3 310.8 480.2 388.4 480.2C425.6 480.2 461.4 465.4 487.7 439.1L566.8 360C593.1 333.7 607.9 297.9 607.9 260.7C607.9 183.1 545 120.2 467.4 120.2C432.4 120.2 398.8 133.3 373 156.7zM251.5 192C311.4 192 360 240.6 360 300.5C360 316.1 356.6 331.4 350.3 345.4C346.6 353.4 350.2 362.9 358.2 366.6C366.2 370.3 375.7 366.7 379.4 358.7C387.6 340.6 392 320.8 392 300.5C392 222.9 329.1 160 251.5 160C214.3 160 178.5 174.8 152.2 201.1L73.1 280.2C46.8 306.5 32 342.3 32 379.5C32 457.1 94.9 520 172.5 520C207.5 520 241.1 506.9 266.9 483.5C258.7 476.6 251.2 469 244.3 460.8C224.5 478.2 199 487.9 172.5 487.9C112.6 487.9 64 439.3 64 379.4C64 350.6 75.4 323.1 95.8 302.7L174.9 223.6C195.2 203.3 222.8 191.8 251.6 191.8z'/%3E%3C/svg%3E");
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	transition: color 0.2s ease-in-out;
}

.docandtee-resources li a::before {
	content: "";
	flex-shrink: 0;
	width: 1.75em;
	height: 1.75em;
	background-color: currentColor;
	-webkit-mask: var(--docandtee-resource-icon) center / contain no-repeat;
	mask: var(--docandtee-resource-icon) center / contain no-repeat;
}

.docandtee-resources li a[href$=".pdf" i],
.docandtee-resources li a[href*=".pdf?" i] {
	--docandtee-resource-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M256 96L128 96C110.3 96 96 110.3 96 128L96 512C96 529.7 110.3 544 128 544L208 544L208 576L128 576C92.7 576 64 547.3 64 512L64 128C64 92.7 92.7 64 128 64L261.5 64C278.5 64 294.8 70.7 306.8 82.7L429.3 205.3C441.3 217.3 448 233.6 448 250.6L448 400.1L416 400.1L416 256.1L320 256.1C284.7 256.1 256 227.4 256 192.1L256 96.1zM402.7 224L288 109.3L288 192C288 209.7 302.3 224 320 224L402.7 224zM272 448L304 448C334.9 448 360 473.1 360 504C360 534.9 334.9 560 304 560L288 560L288 592C288 600.8 280.8 608 272 608C263.2 608 256 600.8 256 592L256 464C256 455.2 263.2 448 272 448zM304 528C317.3 528 328 517.3 328 504C328 490.7 317.3 480 304 480L288 480L288 528L304 528zM400 448L432 448C458.5 448 480 469.5 480 496L480 560C480 586.5 458.5 608 432 608L400 608C391.2 608 384 600.8 384 592L384 464C384 455.2 391.2 448 400 448zM432 576C440.8 576 448 568.8 448 560L448 496C448 487.2 440.8 480 432 480L416 480L416 576L432 576zM512 464C512 455.2 519.2 448 528 448L576 448C584.8 448 592 455.2 592 464C592 472.8 584.8 480 576 480L544 480L544 512L576 512C584.8 512 592 519.2 592 528C592 536.8 584.8 544 576 544L544 544L544 592C544 600.8 536.8 608 528 608C519.2 608 512 600.8 512 592L512 464z'/%3E%3C/svg%3E");
}

.docandtee-resources li a[href$=".doc" i],
.docandtee-resources li a[href*=".doc?" i],
.docandtee-resources li a[href$=".docx" i],
.docandtee-resources li a[href*=".docx?" i],
.docandtee-resources li a[href$=".odt" i],
.docandtee-resources li a[href$=".rtf" i] {
	--docandtee-resource-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M192 96L320 96L320 192C320 227.3 348.7 256 384 256L480 256L480 512C480 529.7 465.7 544 448 544L192 544C174.3 544 160 529.7 160 512L160 128C160 110.3 174.3 96 192 96zM352 109.3L466.7 224L384 224C366.3 224 352 209.7 352 192L352 109.3zM192 64C156.7 64 128 92.7 128 128L128 512C128 547.3 156.7 576 192 576L448 576C483.3 576 512 547.3 512 512L512 250.5C512 233.5 505.3 217.2 493.3 205.2L370.7 82.7C358.7 70.7 342.5 64 325.5 64L192 64zM255.6 332.5C253.7 323.9 245.1 318.4 236.5 320.4C227.9 322.4 222.4 330.9 224.4 339.5L256.4 483.5C258 490.5 264 495.6 271.2 496C278.4 496.4 284.9 491.9 287.2 485.1L320 386.6L352.8 485.1C355.1 491.9 361.6 496.4 368.8 496C376 495.6 382 490.5 383.6 483.5L415.6 339.5C417.5 330.9 412.1 322.3 403.5 320.4C394.9 318.5 386.3 323.9 384.4 332.5L364.9 420.1L335.2 330.9C333 324.4 326.9 320 320 320C313.1 320 307 324.4 304.8 330.9L275.1 420.1L255.6 332.5z'/%3E%3C/svg%3E");
}

.docandtee-resources li a[href$=".xls" i],
.docandtee-resources li a[href*=".xls?" i],
.docandtee-resources li a[href$=".xlsx" i],
.docandtee-resources li a[href*=".xlsx?" i],
.docandtee-resources li a[href$=".csv" i],
.docandtee-resources li a[href$=".ods" i] {
	--docandtee-resource-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M192 96L320 96L320 192C320 227.3 348.7 256 384 256L480 256L480 512C480 529.7 465.7 544 448 544L192 544C174.3 544 160 529.7 160 512L160 128C160 110.3 174.3 96 192 96zM352 109.3L466.7 224L384 224C366.3 224 352 209.7 352 192L352 109.3zM192 64C156.7 64 128 92.7 128 128L128 512C128 547.3 156.7 576 192 576L448 576C483.3 576 512 547.3 512 512L512 250.5C512 233.5 505.3 217.2 493.3 205.2L370.7 82.7C358.7 70.7 342.5 64 325.5 64L192 64zM276.6 326.2C271.2 319.2 261.1 318 254.1 323.4C247.1 328.8 245.9 338.9 251.3 345.9L299.7 408.1L251.3 470.3C245.9 477.3 247.1 487.3 254.1 492.8C261.1 498.3 271.1 497 276.6 490L320 434.2L363.4 490C368.8 497 378.9 498.2 385.9 492.8C392.9 487.4 394.1 477.3 388.7 470.3L340.3 408.1L388.7 345.9C394.1 338.9 392.9 328.9 385.9 323.4C378.9 317.9 368.9 319.2 363.4 326.2L320 382L276.6 326.2z'/%3E%3C/svg%3E");
}

.docandtee-resources li a[href$=".jpg" i],
.docandtee-resources li a[href$=".jpeg" i],
.docandtee-resources li a[href$=".png" i],
.docandtee-resources li a[href$=".gif" i],
.docandtee-resources li a[href$=".webp" i],
.docandtee-resources li a[href$=".avif" i],
.docandtee-resources li a[href$=".svg" i] {
	--docandtee-resource-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M192 96L320 96L320 192C320 227.3 348.7 256 384 256L480 256L480 512C480 529.7 465.7 544 448 544L192 544C174.3 544 160 529.7 160 512L160 128C160 110.3 174.3 96 192 96zM352 109.3L466.7 224L384 224C366.3 224 352 209.7 352 192L352 109.3zM192 64C156.7 64 128 92.7 128 128L128 512C128 547.3 156.7 576 192 576L448 576C483.3 576 512 547.3 512 512L512 250.5C512 233.5 505.3 217.2 493.3 205.2L370.7 82.7C358.7 70.7 342.5 64 325.5 64L192 64zM248 320C248 306.7 237.3 296 224 296C210.7 296 200 306.7 200 320C200 333.3 210.7 344 224 344C237.3 344 248 333.3 248 320zM295 362.5L201.2 457.7C195.3 463.7 192 471.7 192 480.1C192 497.7 206.3 512 223.9 512L416.1 512C433.7 512 448 497.7 448 480.1C448 471.7 444.7 463.7 438.8 457.7L345 362.5C338.4 355.8 329.4 352 320 352C310.6 352 301.6 355.8 295 362.5zM320 384C320.8 384 321.6 384.3 322.2 384.9L415.8 480L224.1 480L317.7 384.9C318.3 384.3 319.1 384 319.9 384z'/%3E%3C/svg%3E");
}

/* accordion.js animates height in border-box pixels. */
.docandtee-accordion .wp-block-details {
	box-sizing: border-box;
}

.docandtee-accordion .wp-block-details > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--30);
	list-style: none;
	cursor: pointer;
}

.docandtee-accordion .wp-block-details > summary::-webkit-details-marker {
	display: none;
}

.docandtee-accordion .wp-block-details > summary::after {
	--docandtee-accordion-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M336 112C336 103.2 328.8 96 320 96C311.2 96 304 103.2 304 112L304 304L112 304C103.2 304 96 311.2 96 320C96 328.8 103.2 336 112 336L304 336L304 528C304 536.8 311.2 544 320 544C328.8 544 336 536.8 336 528L336 336L528 336C536.8 336 544 328.8 544 320C544 311.2 536.8 304 528 304L336 304L336 112z'/%3E%3C/svg%3E");
	content: "";
	flex-shrink: 0;
	width: 1.5em;
	height: 1.5em;
	background-color: currentColor;
	-webkit-mask: var(--docandtee-accordion-icon) center / contain no-repeat;
	mask: var(--docandtee-accordion-icon) center / contain no-repeat;
	transition: transform 0.2s ease-in-out;
}

.docandtee-accordion .wp-block-details[open] > summary::after {
	transform: rotate(45deg);
}

.docandtee-accordion .wp-block-details.is-closing > summary::after {
	transform: none;
}

.docandtee-posts-list__terms {
	gap: 0.35rem;
}

.docandtee-posts-list__terms .wp-block-post-terms {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.docandtee-posts-list__terms .wp-block-post-terms:empty,
.docandtee-posts-list__terms .wp-block-post-terms__separator {
	display: none;
}

.docandtee-posts-list__terms .wp-block-post-terms a {
	display: inline-block;
	font-size: 0.75rem;
	line-height: 1.2;
	padding: 0.2em 0.5em;
	background-color: color-mix(in srgb, var(--wp--preset--color--primary) 65%, black);
	color: var(--wp--preset--color--base);
	text-decoration: none !important;
}

.docandtee-posts-list__terms .wp-block-post-terms a:hover,
.docandtee-posts-list__terms .wp-block-post-terms a:focus-visible {
	text-decoration: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.wp-element-button,
	.wp-block-button__link,
	.hover-card {
		transition: none;
	}

	.hover-card:hover,
	.hover-card:focus-visible {
		transform: none;
	}

	.docandtee-dialog[open]::backdrop,
	.docandtee-dialog[open] .docandtee-dialog__panel {
		animation: none;
	}

	.docandtee-accordion .wp-block-details > summary::after {
		transition: none;
	}

	.docandtee-header-search,
	.docandtee-header-search.is-open {
		transition: none;
	}
}

/* Header search toggle */
.docandtee-header-search {
	display: grid;
	grid-template-rows: 0fr;
	width: 100%;
	visibility: hidden;
	box-shadow: inset 0 -1px 0 transparent;
	/* Visibility flips at the end of the close, so the panel stays visible while it collapses. */
	transition: grid-template-rows 0.3s ease, box-shadow 0.3s ease, visibility 0s linear 0.3s;
}

.docandtee-header-search.is-open {
	grid-template-rows: 1fr;
	visibility: visible;
	box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
	transition: grid-template-rows 0.3s ease, box-shadow 0.3s ease, visibility 0s;
}

.docandtee-header-search,
.docandtee-header-search__inner,
.docandtee-header-search__inner > .wp-block-search {
	margin-block-start: 0 !important;
}

.docandtee-header-search__inner {
	min-height: 0;
	overflow: hidden;
}

/* Padding sits inside the clipped area so it collapses too, and leaves room for the input's focus outline. */
.docandtee-header-search__inner > .wp-block-search {
	padding-block: var(--wp--preset--spacing--30);
}

.docandtee-header-search__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0.25rem;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	line-height: 0;
}

.docandtee-header-search__toggle svg {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	fill: currentColor;
}

.docandtee-header-search__toggle:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary-text);
	outline-offset: 4px;
}

.wp-site-blocks > header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background-color: var(--wp--preset--color--base);
	transition: transform 0.8s ease;
}

/* Only transform when hidden: a transform on the header would trap the fixed mobile menu overlay. */
.wp-site-blocks > header.is-header-hidden {
	transform: translateY(-100%);
}

@media (prefers-reduced-motion: reduce) {
	.wp-site-blocks > header {
		transition: none;
	}
}

html {
	scroll-padding-top: calc(var(--docandtee-header-height, 0px) + 1rem);
}