
/*
Theme Name: UE Parent
Theme URI:
Author: UE Systems, Inc.
Author URI:
Description: Shared parent theme for UE Systems sites. Child themes inherit this design system.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 8.4+
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ue-parent
Tags: blocks, modern, ACF
*/

/* ======== INITIAL BASE RESETS ======== */
*, *::before, *::after {
	box-sizing: border-box;
}

a, button, input:focus, input[type="button"], input[type="submit"], textarea:focus, .wp-element-button {
	transition: all .2s ease-in-out;
}

a, a:focus, a:hover, a:not(.wp-element-button) {
	text-decoration-thickness: 1px;
}

input, select, textarea {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: 0;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--content);
	font-size: var(--wp--preset--font-size--standard);
	padding: 10px 20px;
	width: 100%;
}

/* Excludes WordPress's native "Insert/edit link" dialog (wplink.js) from the
   input reset above. */
#wp-link-wrap input, #wp-link-wrap textarea {
	all: revert;
}

input:focus, textarea:focus {
	outline: none;
}

input[type="checkbox"], input[type="image"], input[type="radio"] {
	width: auto;
}

input[type="button"], input[type="email"], input[type="search"], input[type="submit"], input[type="text"], textarea {
	-webkit-appearance: none;
}

::placeholder {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	opacity: .5;
}

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--medium);
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--contrast);
	border: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding: 10px;
}

.wp-block-navigation :where(.wp-block-navigation__submenu-container) a {
	padding: 2px 10px;
}

@media only screen and (max-width: 600px) {
	.is-style-hidden-mobile {
		display: none !important;
	}
}

@media only screen and (max-width: 782px) {
	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}
}

/* ======== END BASE RESETS ======== */

/* ======== DEFAULT VARIABLES ========*/

/* WP global layout defaults (theme.json):
 * --wp--style--global--content-size: 1200px
 * --wp--style--global--wide-size: 1440px
 */

/* WP preset color defaults (theme.json):
 * --wp--preset--color--base: #ffffff (white)
 * --wp--preset--color--contrast: #333333 (black)
 * --wp--preset--color--base-dark: #E3F5FF (light blue)
 * --wp--preset--color--base-light: #F7FCFF (pale blue)
 * --wp--preset--color--primary: #089DE7 (UE blue)
 * --wp--preset--color--primary-dark: #127CB5 (dark blue)
 * --wp--preset--color--primary-faint: rgba(8, 157, 231, 0.25) (UE blue at 25%)
 * --wp--preset--color--secondary: #21274D (navy)
 * --wp--preset--color--accent: #E4740C (UE orange)
 * --wp--preset--color--accent-medium: #d76800 (medium orange)
 * --wp--preset--color--accent-dark: #A95928 (dark orange)
 * --wp--preset--color--light-grey: #F0F4F7
 * --wp--preset--color--med-grey: #d9dde0
 * --wp--preset--color--grey: #707070
 */

/* WP preset spacing defaults (theme.json):
 * --wp--preset--spacing--x-small: 12px
 * --wp--preset--spacing--small:   clamp(18px, calc(1.34vw + 12.74px), 30px)
 * --wp--preset--spacing--medium:  clamp(30px, calc(2.70vw + 19.49px), 54px)
 * --wp--preset--spacing--large:   clamp(48px, calc(4.04vw + 32.22px), 84px)
 * --wp--preset--spacing--x-large: clamp(78px, calc(6.56vw + 50.22px), 138px)
 */

/* WP preset font family defaults (theme.json):
 * --wp--preset--font-family--heading
 * --wp--preset--font-family--heading-bold
 * --wp--preset--font-family--content
 * --wp--preset--font-family--content-bold
 */

/* WP preset font size defaults (theme.json):
 * --wp--preset--font-size--x-small:  clamp(0.825rem, calc(0.39vw + 0.75rem), 1.1rem)
 * --wp--preset--font-size--small:    clamp(0.975rem, calc(0.46vw + 0.88rem), 1.3rem)
 * --wp--preset--font-size--standard: clamp(1.2rem, calc(0.57vw + 1.09rem), 1.6rem)
 * --wp--preset--font-size--medium:   clamp(1.5rem, calc(0.71vw + 1.36rem), 2.0rem)
 * --wp--preset--font-size--banner:   clamp(1.8rem, calc(0.86vw + 1.63rem), 2.4rem)
 * --wp--preset--font-size--large:    clamp(2.25rem, calc(1.07vw + 2.04rem), 3.0rem)
 * --wp--preset--font-size--x-large:  clamp(3.0rem, calc(1.43vw + 2.71rem), 4.0rem)
 * --wp--preset--font-size--max:      clamp(4.875rem, calc(2.32vw + 4.41rem), 6.5rem)
 */

/* UE VARIABLES :
 * --wp--custom--border--radius--small:  4px
 * --wp--custom--border--radius--medium: 12px
 * --wp--custom--border--radius--large:  20px
 */

/* =========== GLOBAL STYLES =========== */
html {
	scroll-behavior: smooth;
}

.wp-site-blocks {
	padding-bottom: 0;
}

.site-content {
	padding-top: var(--wp--preset--spacing--medium);
}

.site-content.site-content--archive {
	padding-top: var(--wp--preset--spacing--large);
}

.site-content.site-content--error {
	padding-top: var(--wp--preset--spacing--x-large);
}

.footer-stack {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}

.footer-stack.is-horizontal {
	flex-direction: row;
}

.footer-stack.is-vertical {
	flex-direction: column;
}

/* ======= GLOBAL UTILITY CLASSES ======= */
.hideme {
	display: none !important;
}

@media (max-width: 600px) {
	.hide-on-mobile {
		display: none !important;
	}
}

@media (min-width: 601px) and (max-width: 768px) {
	.hide-on-tablet {
		display: none !important;
	}
}

@media (min-width: 768px) {
	.hide-on-desktop {
		display: none !important;
	}
}

.small-image {
	max-width: 125px;
}

.small-text {
	font-size: var(--wp--preset--font-size--small);
}

.rounded-corners {
	border-radius: var(--wp--custom--border--radius--large) !important;
}

@media all and (max-width: 768px) {
	.center-flex-items {
		align-items: center !important;
		text-align: center !important;
	}
}

.fixed-icon-size img {
	height: 60px !important;
	width: auto !important;
}

@media (min-width: 768px) and (max-width: 1026px) {
	.fixed-icon-size {
		flex-wrap: wrap !important;
		justify-content: center !important;
	}
	
	.fixed-icon-size .wp-block-column {
		flex: 0 0 calc(50% - var(--wp--preset--spacing--small)) !important;
		max-width: calc(50% - var(--wp--preset--spacing--small)) !important;
	}
}

.diamond-border {
	border: 1px solid var(--wp--preset--color--primary);
	clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
	height: fit-content;
	margin-left: auto;
	margin-right: auto;
	padding: var(--wp--preset--spacing--medium);
	width: fit-content;
}

.image-text-overlay {
	border-radius: 0 var(--wp--custom--border--radius--large) 0 var(--wp--custom--border--radius--large);
	margin-right: 2rem !important;
	margin-top: -5rem !important;
}

.icon-boxes.is-layout-grid, .fixed-icon-size.is-layout-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 601px) and (max-width: 1024px) {
	.icon-boxes.is-layout-grid, .fixed-icon-size.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.icon-boxes.is-layout-grid, .fixed-icon-size.is-layout-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

/* =========== TEXT STYLING =========== */

/* Matches the default Gutenberg heading block level styling */
.h1 {
	color: var(--wp--preset--color--secondary);
	margin-bottom: var(--wp--preset--spacing--x-small);
	font-family: var(--wp--preset--font-family--heading-bold);
	font-size: var(--wp--preset--font-size--max);
	line-height: 1;
}

.h2 {
	color: var(--wp--preset--color--secondary);
	margin-bottom: var(--wp--preset--spacing--x-small);
	font-family: var(--wp--preset--font-family--heading-bold);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.2;
}

.h3 {
	color: var(--wp--preset--color--primary);
	margin-bottom: var(--wp--preset--spacing--x-small);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--banner);
	line-height: 1.3;
	text-transform: uppercase;
}

.h4 {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--content-bold);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.5;
	text-transform: uppercase;
}

.h5 {
	color: var(--wp--preset--color--secondary);
	font-family: var(--wp--preset--font-family--content-bold);
	font-size: var(--wp--preset--font-size--medium);
}

.p {
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--content);
	font-size: var(--wp--preset--font-size--standard);
	line-height: 1.6;
	text-transform: none;
}

a:focus, a:hover {
	color: var(--wp--preset--color--primary-dark);
}

b, strong {
	font-family: var(--wp--preset--font-family--content-bold);
	font-weight: 700;
}

figcaption, .wp-element-caption, .wp-caption-text, .blocks-gallery-item__caption {
	color: var(--wp--preset--color--grey);
	font-size: var(--wp--preset--font-size--small);
}

/* ======= BUTTON STYLES ======= */
.wp-block-button__link {
	background-color: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--base);
	line-height: 1;
}

.wp-block-button__link:focus, .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary);
	border-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--base);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-outline .wp-block-button__link:focus, .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--base);
}

/* Accent button style */
.wp-block-button.is-style-accent .wp-block-button__link {
	background-color: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.wp-block-button.is-style-accent .wp-block-button__link:focus, .wp-block-button.is-style-accent .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--accent-dark);
	border-color: var(--wp--preset--color--accent-dark);
	color: var(--wp--preset--color--base);
}

.wp-block-button .wp-block-button__link.has-accent-background-color {
	border: 1px solid var(--wp--preset--color--accent);
}

.wp-block-button .wp-block-button__link.has-accent-background-color:focus, .wp-block-button .wp-block-button__link.has-accent-background-color:hover {
	--wp--preset--color--accent: var(--wp--preset--color--accent-medium);
	background-color: var(--wp--preset--color--accent-medium);
	border-color: var(--wp--preset--color--accent-medium);
	color: var(--wp--preset--color--base);
}

/* ======= NAVIGATION BLOCKS ======= */
@media (min-width: 600px) and (max-width: 767.98px) {
	header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default), .wp-block-template-part[data-area="header"] .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default) {
		display: none;
	}
	
	header .wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown), .wp-block-template-part[data-area="header"] .wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}

.wp-block-navigation__responsive-container-close, .wp-block-navigation__responsive-container-open {
	border: 1px solid currentColor;
	border-radius: var(--wp--custom--border--radius--small);
	padding: 2px;
}

.legal-menu .wp-block-navigation__container {
	gap: 0;
}

.legal-menu .wp-block-navigation-item > .wp-block-navigation-item__content {
	align-items: center;
	display: inline-flex;
}

.legal-menu .wp-block-navigation-item:not(:last-child) > .wp-block-navigation-item__content::after {
	content: "•";
	display: inline-flex;
	font-size: 2em;
	line-height: 1;
	margin-left: var(--wp--preset--spacing--x-small);
	margin-right: var(--wp--preset--spacing--x-small);
}

.wp-block-navigation .wp-block-navigation-item.is-style-nav-button > .wp-block-navigation-item__content, .wp-block-navigation .wp-block-navigation-item__content.is-style-nav-button {
	background-color: var(--wp--preset--color--primary-dark);
	border: 1px solid var(--wp--preset--color--primary-dark);
	border-radius: var(--wp--custom--border--radius--small);
	color: var(--wp--preset--color--base);
	display: inline-block;
	font-family: var(--wp--preset--font-family--heading);
	line-height: 1;
	padding: var(--wp--preset--spacing--x-small) var(--wp--preset--spacing--small);
	text-decoration: none;
}

.wp-block-navigation .wp-block-navigation-item.is-style-nav-button > .wp-block-navigation-item__content:focus, .wp-block-navigation .wp-block-navigation-item.is-style-nav-button > .wp-block-navigation-item__content:hover, .wp-block-navigation .wp-block-navigation-item__content.is-style-nav-button:focus, .wp-block-navigation .wp-block-navigation-item__content.is-style-nav-button:hover {
	background-color: var(--wp--preset--color--secondary);
	border-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--base);
	text-decoration: none;
}

/* Matches the "Request a Quote" CTA button on uesystems.com (main.css:545-553):
   background #E4740C / hover #f27e12 / white text / 4px radius. */
.wp-block-navigation .wp-block-navigation-item.is-style-nav-button-2 > .wp-block-navigation-item__content, .wp-block-navigation .wp-block-navigation-item__content.is-style-nav-button-2 {
	background-color: var(--wp--preset--color--accent);
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: var(--wp--custom--border--radius--small);
	color: var(--wp--preset--color--base);
	display: inline-block;
	font-family: var(--wp--preset--font-family--heading);
	line-height: 1;
	padding: var(--wp--preset--spacing--x-small) var(--wp--preset--spacing--small);
	text-decoration: none;
}

.wp-block-navigation .wp-block-navigation-item.is-style-nav-button-2 > .wp-block-navigation-item__content:focus, .wp-block-navigation .wp-block-navigation-item.is-style-nav-button-2 > .wp-block-navigation-item__content:hover, .wp-block-navigation .wp-block-navigation-item__content.is-style-nav-button-2:focus, .wp-block-navigation .wp-block-navigation-item__content.is-style-nav-button-2:hover {
	background-color: #f27e12;
	border-color: #f27e12;
	color: var(--wp--preset--color--base);
	text-decoration: none;
}

/* ======= HEADER MOBILE MENU ======= */

/* Centred overlay contents */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
	align-items: center;
	text-align: center;
}

/* Quote button centred rather than offset */
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item.is-style-nav-button-2 {
	margin-left: 0;
}

/* Taller first-level rows */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item:not(.is-style-nav-button-2) > .wp-block-navigation-item__content {
	padding-bottom: calc(var(--wp--preset--spacing--x-small) / 2);
	padding-top: calc(var(--wp--preset--spacing--x-small) / 2);
}

/* First-level submenus stay closed until their parent is tapped */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	display: none;
}

/* Opened panel matches the desktop flyout */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item.has-child.is-submenu-open > .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--light-grey) !important;
	border-radius: var(--wp--custom--border--radius--medium);
	display: flex;
	flex-direction: column;
	padding: var(--wp--preset--spacing--small);
}

/* Separates each heading from the group above it */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item.is-submenu-open.is-style-mega-menu > .wp-block-navigation__submenu-container > .wp-block-navigation-item + .wp-block-navigation-item, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item.is-submenu-open > .wp-block-navigation__submenu-container > .wp-block-navigation-item + .is-heading-link {
	margin-top: var(--wp--preset--spacing--small);
}

/* Nested levels sit inside the panel */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
	padding: 0;
}

/* Expandable-item chevron */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item.has-child > .wp-block-navigation-item__content::after {
	content: "";
	display: inline-block;
	font-family: "Font Awesome 6 Free";
	font-size: .7em;
	font-weight: 900;
	margin-left: .6em;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item.has-child.is-submenu-open > .wp-block-navigation-item__content::after {
	transform: rotate(180deg);
}

/* ======= BLOCK STYLES ======= */

/* Additional block styling not expressible in theme.json */
.wp-block-list:not(ol) li::marker {
	color: var(--wp--preset--color--primary);
	font-size: 1.3em;
}

.wp-block-social-links.is-style-outline .wp-block-social-link {
	background-color: transparent;
	border: 1px solid currentColor;
}

.wp-block-categories-list {
	padding-inline-start: var(--wp--preset--spacing--medium);
}

.wp-block-categories-list li::marker {
	color: var(--wp--preset--color--primary);
	font-size: 1.3em;
}

.wp-block-paragraph a:hover, .wp-block-paragraph a:focus {
	cursor: pointer;
}

.wp-block-embed {
	margin: 0 auto;
	max-width: min(100%, calc(var(--wp--style--global--content-size) * .75));
	width: min(100%, calc(var(--wp--style--global--content-size) * .75));
}

.wp-block-embed iframe {
	border-radius: var(--wp--custom--border--radius--large);
}

.wp-block-embed.alignwide {
	max-width: min(100%, calc(var(--wp--style--global--wide-size) * .75));
	width: min(100%, calc(var(--wp--style--global--wide-size) * .75));
}

.wp-block-gallery .blocks-gallery-item img {
	border-radius: var(--wp--custom--border--radius--large);
}

.wp-block-image img {
	border-radius: var(--wp--custom--border--radius--large);
}

.wp-block-image img[height] {
	height: revert;
}

.wp-block-post-featured-image a img, .wp-block-post-featured-image img {
	border-radius: var(--wp--custom--border--radius--large);
}

.wp-block-image.is-style-sharp-corners img, .wp-block-image.is-style-sharp-corners a img {
	border-radius: 0 !important;
}

.wp-block-media-text__media img {
	border-radius: var(--wp--custom--border--radius--large);
}

.wp-block-pullquote {
	margin-left: auto;
	margin-right: auto;
	max-width: min(100%, calc(var(--wp--style--global--content-size) * .75));
	width: min(100%, calc(var(--wp--style--global--content-size) * .75));
}

.wp-block-pullquote.alignwide {
	max-width: min(100%, calc(var(--wp--style--global--wide-size) * .75));
	width: min(100%, calc(var(--wp--style--global--wide-size) * .75));
}

.wp-block-pullquote p {
	font-size: var(--wp--preset--font-size--banner);
	letter-spacing: .05ch;
}

.wp-block-pullquote cite {
	font-family: var(--wp--preset--font-family--content);
	font-size: var(--wp--preset--font-size--small);
	margin-top: var(--wp--preset--spacing--x-small);
	text-align: right;
}

.wp-block-details > *:not(summary) {
	margin-left: var(--wp--preset--spacing--small);
	margin-top: var(--wp--preset--spacing--x-small);
}

.wp-block-quote p {
	font-size: var(--wp--preset--font-size--medium);
}

.wp-block-quote cite {
	font-size: var(--wp--preset--font-size--small);
	margin-top: var(--wp--preset--spacing--x-small);
}

@media (max-width: 535px) {
	.shift-image-left {
		align-items: center;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: var(--wp--preset--spacing--small);
	}
	
	.shift-image-left > figure {
		flex-shrink: 0;
		margin: 0;
		max-width: 100px;
		width: 100px;
	}
	
	.shift-image-left .wp-block-group {
		flex: 1;
		margin: 0;
		min-width: 0;
	}
}

/* Remove hover/focus underlines across accordion heading markup variants. */
.wp-block-accordion [class*="accordion-heading"], .wp-block-accordion [class*="accordion-heading"] *, .wp-block-accordion [class*="__toggle"], .wp-block-accordion [class*="__toggle"] *, .wp-block-accordion summary, .wp-block-accordion summary * {
	text-decoration: none !important;
}

.wp-block-accordion [class*="accordion-heading"]:focus, .wp-block-accordion [class*="accordion-heading"]:hover, .wp-block-accordion [class*="accordion-heading"] *:focus, .wp-block-accordion [class*="accordion-heading"] *:hover, .wp-block-accordion [class*="__toggle"]:focus, .wp-block-accordion [class*="__toggle"]:hover, .wp-block-accordion [class*="__toggle"] *:focus, .wp-block-accordion [class*="__toggle"] *:hover, .wp-block-accordion summary:focus, .wp-block-accordion summary:hover, .wp-block-accordion summary *:focus, .wp-block-accordion summary *:hover {
	text-decoration: none !important;
}

.wp-block-accordion-heading__toggle:hover, .wp-block-accordion summary:hover {
	color: var(--wp--preset--color--primary-dark);
}

/* ====== ARCHIVE & CARD STYLES ======= */

/* Shared by every content archive: /news, /resources, and any post type added
   to the archive map later */
.ue-card {
	overflow: hidden;
	position: relative;
	transition: box-shadow 150ms ease;
}

/* Card hover shadow */
.ue-card:hover, .ue-card:focus-within {
	box-shadow: 2px 4px 12px 0 rgba(0, 0, 0, .1);
}

/* Card featured-image sizing */
.ue-card .wp-block-post-featured-image {
	aspect-ratio: unset !important;
	height: 205px;
	margin-bottom: 0;
}

.ue-card .wp-block-post-featured-image img {
	object-position: center top;
	border-radius: var(--wp--custom--border--radius--medium) var(--wp--custom--border--radius--medium) 0 0;
}

/* Lifts the badge up over the featured image */
.ue-card .ue-type-badge {
	margin-top: -34px;
	position: relative;
}

/* Clamped to 2 lines, and always reserving both */
.ue-card .ue-type-badge__label {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	min-height: 2.4em;
	overflow: hidden;
}

/* Clamped to 5 lines, and always reserving all five */
.ue-card .wp-block-post-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
	margin-bottom: 0;
	min-height: 6.5em;
	overflow: hidden;
}

/* Tools archive cards, clamped to 3 lines instead */
.ue-card--short-title .wp-block-post-title {
	-webkit-line-clamp: 3;
	line-clamp: 3;
	min-height: 3.9em;
}

/* Overrides core's inline-block anchor, which would count as a single line */
.ue-card .wp-block-post-title a {
	display: inline;
	text-decoration: none;
}

/* Makes the whole card clickable off the title's own link */
.ue-card .wp-block-post-title a::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

/* Instant-download card cue, in the meta bar's slot */
.ue-card__download-icon {
	bottom: var(--wp--preset--spacing--small);
	font-size: var(--wp--preset--font-size--x-small);
	left: var(--wp--preset--spacing--small);
	position: absolute;
	z-index: 2;
}

/* Reserved space for the absolutely-positioned meta bar below */
.ue-card__body {
	padding-bottom: calc(var(--wp--preset--spacing--small) + 2em) !important;
}

/* Pinned to the card's bottom edge */
.ue-card__meta {
	bottom: var(--wp--preset--spacing--small);
	left: var(--wp--preset--spacing--small);
	position: absolute;
	right: var(--wp--preset--spacing--small);
}

/* Card date */
.ue-card__meta .wp-block-post-date {
	margin: 0;
}

/* Separator before the gated lock */
.ue-card__meta-row .ue-read-time + .ue-card__gated::before {
	content: "|";
	margin-right: 10px;
}

/* Lifts the gated lock above the card's stretched link so its tooltip shows */
.ue-card__gated {
	cursor: help;
	position: relative;
	z-index: 2;
}

/* Gated lock */
.ue-card__gated i {
	color: var(--wp--preset--color--secondary);
}

/* Pagination arrows */
.wp-block-query-pagination-previous::before, .wp-block-query-pagination-next::after {
	align-items: center;
	border: 1px solid var(--wp--preset--color--med-grey);
	border-radius: 50%;
	color: var(--wp--preset--color--secondary);
	display: inline-flex;
	font-family: "Font Awesome 6 Free";
	font-size: .9rem;
	font-weight: 900;
	height: 32px;
	justify-content: center;
	line-height: 1;
	width: 32px;
}

.wp-block-query-pagination-previous::before {
	content: "";
}

.wp-block-query-pagination-next::after {
	content: "";
}

.wp-block-query-pagination-previous, .wp-block-query-pagination-next {
	align-items: center;
	color: var(--wp--preset--color--secondary);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--content);
	font-size: var(--wp--preset--font-size--x-small);
	gap: var(--wp--preset--spacing--x-small);
	padding: 12px;
	text-decoration: none;
	text-transform: uppercase;
}

.wp-block-query-pagination-previous:hover, .wp-block-query-pagination-previous:focus, .wp-block-query-pagination-next:hover, .wp-block-query-pagination-next:focus {
	color: var(--wp--preset--color--primary);
}

/* Pagination row */
.wp-block-query-pagination-numbers a.page-numbers, .wp-block-query-pagination-numbers span.page-numbers {
	color: var(--wp--preset--color--secondary);
	font-size: 1.25rem;
	padding: 12px;
	text-decoration: none;
}

.wp-block-query-pagination-numbers a.page-numbers:hover, .wp-block-query-pagination-numbers a.page-numbers:focus {
	color: var(--wp--preset--color--primary);
}

.wp-block-query-pagination-numbers span.page-numbers.current {
	color: var(--wp--preset--color--primary);
}

/* ====== SINGLE POST STYLES ======= */

/* templates/single.html: hero image sizing and sidebar layout */
.entry-hero .wp-block-post-featured-image__overlay, .entry-hero img {
	display: block;
	height: auto;
	width: 100%;
}

/* Keeps the sidebar in view alongside the article while the columns are side by side */
.entry-sidebar {
	align-self: flex-start;
	position: sticky;
	top: var(--wp--preset--spacing--small);
}

@media (max-width: 781px) {
	.entry-sidebar {
		position: static;
		top: auto;
	}
}

/* ====== ARTICLE SINGLE TEMPLATES (.articles) ======= */

/* Single templates for Posts, Resources, and Tools — shared styling scope */
.articles h1 {
	color: var(--wp--preset--color--secondary);
	font-family: var(--wp--preset--font-family--heading-bold);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.2;
	margin-bottom: 0;
	margin-top: var(--wp--preset--spacing--x-small);
}

.articles h2 {
	color: var(--wp--preset--color--secondary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--banner);
	line-height: 1.1;
	margin-bottom: var(--wp--preset--spacing--small);
	margin-top: var(--wp--preset--spacing--medium);
	text-transform: uppercase;
}

.articles h3 {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--content-bold);
	font-size: var(--wp--preset--font-size--standard);
	line-height: 1.35;
	margin-bottom: var(--wp--preset--spacing--small);
	margin-top: var(--wp--preset--spacing--small);
	text-transform: capitalize;
}

/* different top spacing for an h3 if it immediately follows an h2 */
.articles h2 + h3 {
	margin-top: var(--wp--preset--spacing--x-small);
}

.articles p, .articles ol, .articles ul, .articles li {
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--content);
	font-size: var(--wp--preset--font-size--reading);
	line-height: 1.7;
}

/* Default block spacing, excluding nested Group/layout children */
.articles p:not(:where(.is-layout-constrained, .is-layout-flow) > *), .articles ol:not(:where(.is-layout-constrained, .is-layout-flow) > *), .articles ul:not(:where(.is-layout-constrained, .is-layout-flow) > *), .articles li:not(:where(.is-layout-constrained, .is-layout-flow) > *) {
	margin-top: var(--wp--preset--spacing--small);
}

.articles li {
	margin-top: 0;
}

/* remove bottom margin from first paragraph after a heading */
.articles :is(h1, h2, h3, h4, h5, h6) + :is(p, ol, ul, li) {
	margin-top: 0;
}

/* Type badge label only, no icon glyph */
.articles .ue-type-badge__icon {
	display: none;
}

.articles .post-meta {
	align-items: center;
	line-height: 1;
	margin-bottom: 0;
	margin-top: var(--wp--preset--spacing--small);
}

/* Deterministic header-to-content gap */
.entry-header + .entry-content, .entry-header + .gated-resource-content {
	margin-top: var(--wp--preset--spacing--medium);
}

.articles .post-meta > .wp-block-post-date, .articles .post-meta > .ue-read-time {
	margin-bottom: -.15em;
}

.articles .post-meta p {
	background-color: var(--wp--preset--color--contrast);
	color: transparent;
	font-size: inherit;
	height: 1em;
	line-height: 1;
	margin: 0 var(--wp--preset--spacing--x-small);
	width: 1px;
}

/* Aligns the sidebar heading with the H1 */
.articles .entry-sidebar-inner {
	margin-top: 0px;
}

.articles .entry-sidebar-inner h3 {
	border-bottom: 1px solid var(--wp--preset--color--med-grey);
	color: var(--wp--preset--color--secondary);
	text-transform: capitalize;
}

.articles .entry-return-link {
	margin-bottom: var(--wp--preset--spacing--x-small);
}

.articles .entry-return-link a {
	align-items: center;
	color: var(--wp--preset--color--secondary);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--content);
	font-size: var(--wp--preset--font-size--x-small);
	gap: var(--wp--preset--spacing--x-small);
	text-decoration: none;
	text-transform: uppercase;
}

.articles .entry-return-link a:hover, .articles .entry-return-link a:focus {
	color: var(--wp--preset--color--primary);
}

.articles .entry-return-link a::before {
	align-items: center;
	border: 1px solid var(--wp--preset--color--med-grey);
	border-radius: 50%;
	color: var(--wp--preset--color--secondary);
	content: "";
	display: inline-flex;
	font-family: "Font Awesome 6 Free";
	font-size: .9rem;
	font-weight: 900;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.articles .entry-post-nav {
	margin-top: var(--wp--preset--spacing--medium);
}

.articles .entry-post-nav .wp-block-post-navigation-link {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--x-small);
}

.articles .entry-post-nav .wp-block-post-navigation-link a {
	align-items: center;
	color: var(--wp--preset--color--secondary);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--content);
	font-size: var(--wp--preset--font-size--x-small);
	gap: var(--wp--preset--spacing--x-small);
	text-decoration: none;
	text-transform: uppercase;
}

.articles .entry-post-nav .wp-block-post-navigation-link a:hover, .articles .entry-post-nav .wp-block-post-navigation-link a:focus {
	color: var(--wp--preset--color--primary);
}

.articles .entry-post-nav .post-navigation-link-previous a::before, .articles .entry-post-nav .post-navigation-link-next a::after {
	align-items: center;
	border: 1px solid var(--wp--preset--color--med-grey);
	border-radius: 50%;
	color: var(--wp--preset--color--secondary);
	display: inline-flex;
	font-family: "Font Awesome 6 Free";
	font-size: .9rem;
	font-weight: 900;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.articles .entry-post-nav .post-navigation-link-previous a::before {
	content: "";
}

.articles .entry-post-nav .post-navigation-link-next a::after {
	content: "";
}

.articles .entry-post-nav .post-navigation-link-next::before {
	background-color: var(--wp--preset--color--grey);
	content: "";
	height: 1em;
	width: 1px;
}

/* ====== PATTERN-SPECIFIC STYLES ======= */

/* hero video banner style 1 */
.overlay-divider {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: calc(.95 * var(--wp--style--global--content-size));
	opacity: .85;
	position: relative !important;
	transform: skew(-20deg);
	z-index: 5 !important;
}

.bkgd-video-container {
	z-index: 1;
}

.hero-copy-container {
	z-index: 1;
}

.bring-to-front {
	position: relative;
	z-index: 10;
}

.overlay-border {
	z-index: 3;
}

/* hero video banner style 2 */
.overlay-frame {
	background-color: var(--wp-preset-color-light-grey);
	/*border-radius: 0 0 var(--wp--custom--border--radius--large) var(--wp--custom--border--radius--large); */
	line-height: 0;
	overflow: hidden;
	padding: var(--wp--preset--spacing--large);
	position: relative;
	width: fit-content;
}

.overlay-frame video {
	display: block;
	/*border-radius: 0 0 var(--wp--custom--border--radius--large) var(--wp--custom--border--radius--large); */
	line-height: 0;
	width: 100%;
	height: auto;
}

.overlay-frame::after {
	content: "";
	position: absolute;
	inset: 0;
	border-style: solid;
	border-color: transparent;
	/*border-radius: 0 0 var(--wp--custom--border--radius--large) var(--wp--custom--border--radius--large); */
	border-top: 0;
	background-image: radial-gradient(circle, rgba(240, 244, 247, 0) 75%, rgba(240, 244, 247, .75) 87%, var(--wp--preset--color--light-grey) 100%);
	background-repeat: no-repeat;
	margin: 0 -10px -10px -10px;
	pointer-events: none;
}

/* standard blue CTA bar */
@media (max-width: 768px) {
	.cta-bar h2 {
		text-align: center;
		min-width: 100%;
	}
	
	.cta-bar wp-block-buttons {
		justify-content: center;
		min-width: 100%;
	}
}

/* ======================================================
   EDITOR: Border Radius Preset Control
   ====================================================== */
.block-editor-page .components-border-radius-control {
	display: none !important;
}

.block-editor-page .ue-border-radius-presets {
	margin-bottom: 8px;
}

.block-editor-page .ue-border-radius-presets__label {
	color: #1e1e1e;
	font-size: 11px;
	font-weight: 500;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.block-editor-page .ue-border-radius-presets__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.block-editor-page .ue-border-radius-presets__buttons .ue-radius-preset-btn {
	flex: 1 1 auto;
	justify-content: center;
}
