/* Re-importing Source Sans as Variable Font (bold/italic variants not included with base import) */
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');
:root {
		/* Brand */
		--utah-red: #be0000;
		--white: #ffffff;
		--black: #000000;
		--wasatch-sunrise: #ffb81d;
		--great-salt-lake: #3ABFC0;
		--red-rocks: #890000;
		--granite-peak: #708E99;
		--zion-cinder-cone: #707271;
		--body: "Source Sans 3", "Source Sans Pro", sans-serif; /* Body copy */
		--corner-size: 4rem;
		--corner-size-small: 13px;
		--corner-clip: polygon(
				0% 0%,
				100% 0,
				100% calc(100% - var(--corner-size)),
				calc(100% - var(--corner-size)) 100%,
				0% 100%
		);
		--corner-clip-small: polygon(
				0% 0%,
				100% 0,
				calc(100% + 4px) 4px,
				calc(100% + 4px) calc(100% - 13px),
				calc(100% - 13px) calc(100% + 4px),
				4px calc(100% + 4px),
				0 100%
		);
		--corner-clip-small-hover: polygon(
				0% 0%,
				100% 0,
				100% calc(100% - 13px),
				calc(100% - 13px) 100%,
				0 100%
		);
		--corner-u-clip: polygon(
				0% 0%,
				100% 0,
				100% calc(100% - var(--corner-size)),
				calc(100% - var(--corner-size)) 100%,
				calc(0% + var(--corner-size)) 100%,
				0% calc(100% - var(--corner-size))
				);
		/* Aliases */
		--accent-yellow: var(--wasatch-sunrise);
		--accent-blue: var(--great-salt-lake);
		--accent-red: var(--red-rocks);
		--accent-bluegrey: var(--granite-peak);
		--accent-bluegray: var(--granite-peak);
		--accent-grey: var(--zion-cinder-cone);
		--accent-gray: var(--zion-cinder-cone);
		/* Utility */
		--title-bar-height: 80px;
		--admin-bar-height: 0px;
		--alert-bar-height: 0px;
		/* Typography */
		--h1-size: 40px;
    --h2-size: 36px;
    --h3-size: 32px;
    --h4-size: 28px;
    --h5-size: 24px;
    --h6-size: 20px;
    --body-size: 20px;
		--mod--2: clamp(0.72rem, 0.8035rem + -0.1114vw, 0.7813rem);
		--mod--1: clamp(0.9rem, 0.9511rem + -0.0682vw, 0.9375rem);
		--mod-0: clamp(1.125rem, 1.125rem + 0vw, 1.125rem);
		--mod-1: clamp(1.35rem, 1.3295rem + 0.1023vw, 1.4063rem);
		--mod-2: clamp(1.62rem, 1.5699rem + 0.2506vw, 1.7578rem);
		--mod-3: clamp(1.944rem, 1.8519rem + 0.4605vw, 2.1973rem);
		--mod-4: clamp(2.3328rem, 2.1823rem + 0.7523vw, 2.7466rem);
		--mod-5: clamp(2.7994rem, 2.5689rem + 1.1525vw, 3.4332rem);
}
@media (min-width: 800px) {
    :root {
        --h1-size: 60px;
        --h2-size: 50px;
        --h3-size: 42px;
        --h4-size: 36px;
        --h5-size: 30px;
        --h6-size: 24px;
    }
}
@keyframes scroll-shadow-indicator {
		from { box-shadow: inset -40px 0px 15px -20px rgb(0 0 0 / 0.3); }
		to   { box-shadow: inset 40px 0px 15px -20px rgb(0 0 0 / 0.3); }
}

/* Reset and Helpers */
body {
		font-family: var(--body);
		font-size: var(--body-size);
}
p { margin-block: 1em; }
:where(.visually-hidden) {
	clip-path: inset(50%) !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
	border: 0 !important;
	user-select: none !important;
}
.scroll-shadow {
		overflow: auto;
		animation: scroll-shadow-indicator ease-in-out;
		animation-timeline: scroll(self inline);
}
.float-left, .float-right {
		display: block;
		margin: 1em auto;
}
@media only screen and (min-width: 800px) {
		.float-left, .float-right { margin-block: 0 1em; }
		.float-left { float: left; margin-inline: 0 1em; }
		.float-right { float: right; margin-inline: 1em 0; }
}
/* Base Brand */
h1, h2, h3, h4, h5, h6 {
		text-transform: uppercase;
		line-height: 1.2em;
		margin-block: 1em .5em;
}
h1 { font-size: var(--h1-size); }
h2 { font-size: var(--h2-size); border-block-end: 3px solid var(--utah-red); }
h3 { font-size: var(--h3-size); }
h4 { font-size: var(--h4-size); }
h5 { font-size: var(--h5-size); }
h6 { font-size: var(--h6-size); }
:first-child:is(h1,h2,h3,h4,h5,h6) { margin-top: 0; }
h2:empty { border: none !important; }
a { text-decoration: underline; }

.admin-bar {
		--admin-bar-height: 32px;
}
.uu-alert-bar > a[href="#"] { /* For alert bar that doesn't link anywhere */
		pointer-events: none;
		i { display: none; }
		&:hover { opacity: 1; text-decoration: none; }
}

.uu-bottom-header .uu-header-title > a { text-decoration: none; }
.entry-content ul ul { list-style-type: circle; }
.entry-content ul ul ul { list-style-type: square; }
.entry-content ul ul ul ul { list-style-type: disc; }

.uu-sidenav {
		/* Scrollbars */
		scrollbar-color: var(--utah-red) transparent;
		&::-webkit-scrollbar { background-color: transparent; width: 10px; }
		&::-webkit-scrollbar-thumb { background-color: var(--utah-red); border-radius: 20px; }
		.uu-sidenav-menu-block {
				padding-left: 0;
				.sidenav-menu-title { padding-inline: 10px; }
				hr { margin-top: 1em; margin-bottom: 1em; max-width: 100%; }
				li.menu-item { padding-left: 10px; }
				li.menu-item > a { line-height: 1.5; }
		}
}
.uu-breadcrumbs {
		max-width: 1160px;
		clip-path: var(--corner-clip);
		position: absolute;
		left: 0;
		width: auto;
		padding-right: 5rem;
		background-color: rgba(0,0,0,0.6);
		z-index: 10;
		* { font-size: var(--mod--1); color: white; }
}
.uu-header.fixed {
		box-shadow: none !important;
}
#primary {
	min-height: calc(100svh - var(--title-bar-height) - 436px);
	container: primary / inline-size;
}
.uu-entry-header { /* All headers */
		h1 {
				margin-block: 0;
				text-wrap: balance;
		}
}
.uu-page-title { /* Headers with a featured image - contains .uu-entry-header */
		min-height: 40svh;
		height: auto;
		border-bottom: .5rem solid var(--utah-red);
		background-position: top center;
		background-color: black;
		hr { display: none; }
}
.widget_siteorigin-panels-postloop .entry-content { /* Embedded pages as components don't have extra padding */
    padding: 0;
}

/* Jump link styles */
:target {
		scroll-margin-top: calc(var(--title-bar-height) + var(--admin-bar-height) + var(--alert-bar-height) + 1rem);
}
li.uu-accordion-item:has(:target) {
    outline: 5px solid var(--accent-yellow) !important;
    outline-offset: 5px;
}

.panel-grid:has(> #custom-page-controls) { position: absolute; }

hr {
		max-width: 300px;
		background-color: var(--utah-red);
		margin-top: 2em;
		margin-bottom: 2em;
		height: 3px;
}

blockquote {
		display: flex;
		flex-direction: column;
		background-color: var(--utah-red);
		color: white;
		overflow: hidden;
		clip-path: var(--corner-clip);
		* {
				font-size: 1.3em;
				margin: 0;
				z-index: 10;
		}
		&::before {
				color: var(--red-rocks);
				font-size: 8em !important;
				top: -.5em;
				left: -.1em;
		}
		&:hover { box-shadow: none; }
}

@media only screen and (max-width: 780px) {
		.entry-content img.alignright,
		.entry-content img.alignleft
		{ display: none; }
}
.subpage img.alignright { right: 0; }
.subpage img.alignleft { left: 0; }

.uu-footer-links {
		* { font-size: var(--mod--2); }
}

/* Tables */
[role][aria-labelledby][tabindex] { /* Containing div */
		overflow: auto;
		border: 2px solid var(--zion-cinder-cone);
		animation: scroll-shadow-indicator linear;
		animation-timeline: scroll(self inline);
		&:focus { outline: .1em solid rgba(0,0,0,0.1); } 
		> table {
				margin: 0 -1px; /* Tiny negative margin removes the ever-present 1px scroll overflow */
				background-color: transparent;
				thead th { border-bottom: 3px solid #e6ecf2; }
		}
}
.cal-table {
		td:first-child, td:last-child {
				background-color: #8882;
		}
		a { text-wrap: nowrap; }
}

/* Cards */
	/* Single (Default) */
div:has(> .cards) {
		container: maincontent / inline-size;
		&:nth-of-type(even) {
				.cards .card { flex-flow: row-reverse wrap; }
		}
}
.cards { /* Layout */
		background-color: var(--utah-red);
		display: grid !important;
		grid-template-columns: max(10px, calc((100cqw - 1200px) / 2)) repeat(6, 1fr) max(10px, calc((100cqw - 1200px) / 2));
		gap: 10px;
		padding-block: 50px;
		> div { width: 100% !important; grid-column: 2 / -2; }
}
.cards .card {
		padding: 0;
		margin-bottom: 0;
		/*display: flex;*/
		flex-flow: row wrap;
		box-shadow: none;
		/*clip-path: var(--corner-clip);*/
		> div {
				padding: 0;
				flex-grow: 1;
				flex-basis: calc((40rem - 100%) * 999);
		}
}
	/* Image */
.cards .widget_sow-image div { height: 100%; width: 100%; }
	/* Content */
.cards .widget_sow-editor { flex-grow: 1; }
.cards .widget_sow-editor div { height: 100%; }
.cards .textwidget {
		height: 100%;
		padding: 20px;
		display: flex;
		flex-flow: column;
		overflow: hidden;
		> * { margin: 0; }
		> :last-child:has(.button) {
				margin-block: 20px;
				display: flex;
				flex-flow: column;
		}
}
@container maincontent (width >= 1100px) {
		.cards {
				grid-template-columns: 1fr repeat(6, 175px) 1fr;
		}
}
	/* Double */
@container maincontent (width > 840px) {
		.cards:has(> :nth-child(2)) {
				> :nth-child(1) { grid-column: 2 / 5; }
				> :nth-child(2) { grid-column: 5 / 8; }
		}
}
	/* Triple */
@container maincontent (width >= 1100px) {
		.cards:has(> :nth-child(3)) {
				> :nth-child(1) { grid-column: 2 / 4; }
				> :nth-child(2) { grid-column: 4 / 6; }
				> :nth-child(3) { grid-column: 6 / 8; }
		}
}
.cards { /* Formatting */
		img {
				width: 100% !important;
				height: 100% !important;
				object-fit: cover;
		}
		h1, h2, h3, h4, h5, h6 {
				font-size: var(--mod-2);
				margin-bottom: .5em !important;
		}
		.button {
				margin-top: 0;
				margin-right: 0;
		}
}

/* Stats */
dl {
    --dl-spacing: 50px;
    border: none;
    background-color: transparent;
    margin: 0;
    display: grid;
    padding-bottom: var(--dl-spacing);
    dt {
        padding: 0 calc(var(--dl-spacing) / 2);
        font-weight: normal;
        color: var(--utah-red);
        border: none !important;
        background-color: transparent;
        font-size: var(--mod-2);
        margin-top: var(--dl-spacing);
    }
    dd {
        border: none;
        padding: 0 calc(var(--dl-spacing) / 2);
        font-style: oblique;
    }
}
@media (min-width: 800px) {
		.stats dl,
		.deadlines dl {
				grid-auto-flow: column;
				grid-template: repeat(2, auto) / repeat(1, 1fr);
				&:has(dt:nth-of-type(2)) { grid-template: repeat(2, auto) / repeat(2, 1fr); }
				&:has(dt:nth-of-type(3)) { grid-template: repeat(6, auto) / repeat(1, 1fr); }
				&:has(dt:nth-of-type(4)) { grid-template: repeat(4, auto) / repeat(2, 1fr); }
				&:has(dt:nth-of-type(5)) { grid-template: repeat(6, auto) / repeat(2, 1fr); }
		}
}
@media (min-width: 1150px) {
		.stats dl,
		.deadlines dl {
				&:has(dt:nth-of-type(2)) { grid-template: repeat(2, auto) / repeat(2, 1fr); }
				&:has(dt:nth-of-type(3)) { grid-template: repeat(2, auto) / repeat(3, 1fr); }
				&:has(dt:nth-of-type(4)) { grid-template: repeat(2, auto) / repeat(4, 1fr); }
				&:has(dt:nth-of-type(5)) { grid-template: repeat(4, auto) / repeat(3, 1fr); }
		}
}
/* Deadlines */
.stats dl dt {
    font-size: var(--h1-size);
}

/* Link Grids */
.link-grid {
    ul {
        list-style: none !important;
        padding: 0; margin: 0;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 15px;
    }
    li {
        margin: 0;
    }
    li a {
        display: flex;
        height: 100%;
        box-sizing: border-box;
        justify-content: center;
        align-items: center;
        background-color: var(--utah-red);
        background-image: url("https://admissions.utah.edu/wp-content/uploads/sites/6/2025/04/texture-gradient-red-rocks.png");
        background-repeat: no-repeat;
        background-size: auto;
        color: white;
        padding: 20px 30px;
        text-align: center;
				text-decoration: none !important;
				text-transform: uppercase;
        transition: background-color .3s;
        &:hover, &:focus {
            background-color: black;
        }
    }
}
/* Accordions */
.uu-vert-accordion-theme3-container {
		> ul {
				border-radius: 0;
				box-shadow: none;
		}
		button { border-radius: 0 !important; }
		button span {
				font-family: var(--body) !important;
				font-size: var(--mod-0) !important;
		}
}

/* Subpages */
	/* Wrapper */
		.sidebar__column {
				container: subpage / inline-size;
		}
	.subpage #primary .entry-content { padding-block: 0 !important; }
	.subpage #uu-breadcrumbs { display: none; }
	.sidebar__column > .widget:has(.subpage-title) {
			background-color: var(--utah-red);
			clip-path: var(--corner-clip);
	}
	.sidebar__column .subpage-title h1 {
			margin: 0;
			padding: 1em 30px;
			color: white;
	}
@media (min-width: 800px) {
		.subpage .sidebar__column > .widget_siteorigin-panels-builder.panel-last-child { padding-bottom: 50px; }
		.sidebar__column > .widget:has(.subpage-title) { margin-inline: -30px 30px; }
		.sidebar__column > .widget:has(.sidebar-page) { margin-right: 30px; }
		}
		.sidebar-page {
				margin-inline: 20px;
		}
		.sidebar-page > div > div:has(.cards) {
				margin-inline: -20px;
		}
	
	/* Menu Column */
	.sidebar > :first-child { background-color: black; }
	/* Menu Container */
	.sidebar > :first-child .sidebar__column > .widget:has(.desktop) {
		position: sticky;
		top: 74px;
		max-height: calc(100vh - 74px);
		overflow-y: auto;
		overflow-x: hidden;
	}
.sidebar > div { margin-bottom: 0 !important; }
	/* Scrollbars */
	.sidebar > :first-child .sidebar__column > .widget::-webkit-scrollbar { background-color: transparent; width: 10px; }
	.sidebar > :first-child .sidebar__column > .widget::-webkit-scrollbar-thumb { background-color: var(--utah-red); border-radius: 20px; }
	.sidebar > :first-child .sidebar__column > .widget { scrollbar-color: var(--utah-red) transparent; }
	
	/* Switch between desktop/mobile and opened/closed */
	.sidebar .mobile { display: none; }
	@media (max-width: 779px) {
		.sidebar .desktop { display: none; }
		.sidebar .mobile { display: block; }
	}
	.sidebar .mobile .widget_nav_menu { display: none; }
	.sidebar .mobile .widget_nav_menu.menu-open { display: block; }
	
	/* Menus/Submenus */
	.sidebar ul.menu, .sidebar ul.sub-menu {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	.sidebar ul.sub-menu > .menu-item {
		padding-left: 15px;
	}
	.sidebar ul.sub-menu { display: none; border-top: 1px solid #4b4b4b; }
	.sidebar .menu-open > ul.sub-menu { display: block; }
	
	/* Links */
	.sidebar .menu-item {
		border-bottom: 1px solid #4b4b4b;
		margin-bottom: 0;
		display: flex;
		flex-direction: column;
		position: relative;
	}
	.sidebar .menu-item:not(.menu-heading):hover,
	.sidebar .menu-item:not(.menu-heading):focus,
	.sidebar .menu-item.menu-open {
		background-color: #372c2c;
	}
	.sidebar .menu-item-has-children::after,
	#mobile-menu-toggle::after {
		content: '\f107'; /* Angle Down */
		font-family: 'Font Awesome 6 Pro';
		color: white;
		position: absolute;
		right: 10px;
		top: 4px;
		pointer-events: none;
	}
	.sidebar .menu-item > a,
	#mobile-menu-toggle {
		padding: 3px 20px 3px 15px;
		border-left: 5px solid transparent;
		transition: padding .3s;
		text-decoration: none !important;
		color: white;
	}
.sidebar .mobile .menu-item a { padding: 12px 20px; }
	.sidebar li.menu-open::after,
	.menu-open #mobile-menu-toggle::after {
		transform: rotate(180deg);
	}
	.sidebar .menu-item > a[aria-current="page"],
	.sidebar .current-menu-parent > a {
		border-left-color: var(--utah-red);
	}
	
	/* Hover/Focus Links */
	.sidebar .menu-item:not(.menu-heading) > a:hover,
	.sidebar .menu-item:not(.menu-heading) > a:focus {
		padding-left: 25px;
	}
	.sidebar .no-link > a {
		pointer-events: none;
	}
	
	/* Headings */
	.sidebar .menu-heading {
		* {
				text-transform: uppercase;
		}
		margin-left: -10px;
	}
	
	/* Mobile Toggle */
	.sidebar .mobile p { margin: 0; }
	#mobile-menu-toggle { display: block; padding: 10px; }
/* End -- Subpages */

/* Quick Links */
.quick-links .sow-image-container img {
		clip-path: var(--corner-u-clip);
}
.quick-links ul {
    list-style: none;
    margin: 0; padding: 0;
}
.quick-links a {
    display: inline-block;
    position: relative;
    border-block-end: 1px solid var(--utah-red);
    padding-inline-end: 1em;
		margin-block-end: 5px;
    text-decoration: none !important;
    clip-path: polygon(
        0% 0%, /* Top left */
        100% 0, /* Top right */
        100% calc(100% - 1em), /* Top of clip */
        calc(100% - 1em) 100%, /* Bottom of clip */
        0% 100% /* Bottom left */
    );
		&:hover, &:focus { text-decoration: underline !important; }
}
.quick-links a::after {
    content: ''; display: block; position: absolute;
    right: 0; bottom: 0;
    height: 0; width: 0;
    border: .5em solid transparent;
    border-color: transparent var(--utah-red) var(--utah-red) transparent;
}

/* Lists */
ol.process { /* Process outline */
		counter-reset: process;
		list-style-type: none;
		margin-left: 50px;
		> li {
				counter-increment: process;
				position: relative;
				margin-block: 50px;
		}
		> li::before {
				content: counter(process);
				position: absolute; left: -75px; top: -25px;
				font-size: 5rem;
				color: var(--utah-red);
				opacity: .5;
				z-index: -1;
		}
}

/* Buttons */
.button {
		display: inline-flex;
		margin-inline: 0 .75em;
		text-decoration: none !important;
		text-transform: uppercase;
		position: relative;
		padding: 5px 25px 5px 15px;
		background-color: white;
		border: 3px solid var(--utah-red);
		filter: drop-shadow(0 4px var(--red-rocks)) drop-shadow(4px 0 var(--red-rocks));
		clip-path: var(--corner-clip-small);
		
		&.main {
				background-color: var(--utah-red);
				color: white;
		}
		&.main::before {
				content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 20 20'%3E%3Cpolyline fill='%23be0000' points='14.97 0 0 0 0 15'/%3E%3Crect id='utah-red' fill='%23be0000' x='-7.68' y='4.97' width='28.17' height='3' transform='translate(-2.7 6.42) rotate(-45)'/%3E%3Crect id='red-rocks' fill='%23890000' x='-5.88' y='7.19' width='28.65' height='3' transform='translate(-3.67 8.51) rotate(-45)'/%3E%3C/svg%3E");
		}
		&::before {
				content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 20 20'%3E%3Cpolyline fill='%23fff' points='14.97 0 0 0 0 15'/%3E%3Crect id='utah-red' fill='%23be0000' x='-7.68' y='4.97' width='28.17' height='3' transform='translate(-2.7 6.42) rotate(-45)'/%3E%3Crect id='red-rocks' fill='%23890000' x='-5.88' y='7.19' width='28.65' height='3' transform='translate(-3.67 8.51) rotate(-45)'/%3E%3C/svg%3E");
				display: block;
				position: absolute;
				right: -9px; bottom: -7px; width: 20px; height: 20px;
		}
		&:hover, &:focus {
				left: 2px; top: 2px;
				clip-path: var(--corner-clip-small-hover);
		}
		&:focus { text-decoration: underline !important; }
}
.secondary {
		display: inline-block;
		text-transform: uppercase;
		letter-spacing: .02em;
}
.button, .secondary { margin-block: .75em; }

/* Staff Listings */
.staff-listing {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		gap: 15px;
		.entry-content, .so-panel {
				padding: 0;
				padding-block: 0 !important;
		}
		
		img {
				aspect-ratio: 1 / 1;
				object-fit: contain;
				width: 100%;
		}

		.staff-card__content .custom-html-widget {
				display: flex;
				flex-direction: column;
				margin-block: 10px 25px;
				.name {
						font-weight: bold;
						display: flex;
						flex-flow: column;
						align-items: center;
				}
				.title, .phone, .email {
						text-align: center;
						font-size: .85em;
						a { font-size: 1em; }
				}
		}
		.category-ambassadors .staff-card__content .custom-html-widget {
				.name { display: inline-block; }
				.pronouns {
						display: none;
				}
		}
}
/* Basic Tabs ('tabs on top' style) */
.uu-tabs-accordion-container {
    border-radius: 0;
    box-shadow: none;
    > div > ul,
    > div > ul > li { margin: 0; }
    .uu-accordion-content {
        border: 5px solid black;
    }
		.uu-tabs-accordion-content > ul {
        margin: 0;
        > li { margin: 0; }
        .uu-accordion-content {
            background-color: white;
            padding: 10px;
            &.open {
                display: grid;
                gap: 20px;
            }
            > img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
            > div {
                display: flex;
                flex-flow: column;
                gap: 10px;
            }
						.buttons { margin-top: auto; }
        }
    }
}
.residency-footer .uu-tabs-accordion-container .uu-tabs-accordion-content > ul .uu-accordion-content.open {
		display: block;
}
.uu-tabs-accordion-container .uu-tabs-accordion-menu .uu-accordion-btn span {
    font-weight: normal;
    text-transform: uppercase;
}
/* Audience Picker */
.audience .uu-tabs-container {
    border-radius: 0;
    background-color: transparent;
    
    .uu-tabs-accordion-menu > ul {
        display: flex;
        flex-flow: row wrap;
        gap: 10px;
        justify-content: flex-start;
        padding: 10px !important;
        > li {
            margin: 0;
            flex-grow: 0 !important;
        }
        button.uu-accordion-btn {
            background-color: white;
            color: black;
            height: auto;
            display: inline-block;
            padding: 0 10px;
            border-radius: 0 !important;
            clip-path: var(--corner-clip-small);
            span {
                line-height: initial;
                font-family: var(--body);
                font-weight: normal;
                font-size: var(--mod--2);
                &::after {
                    content: ' ↴';
                    font-size: 0.8em;
                    margin-left: 3px;
                    opacity: 0;
                    transition: all .3s;
                    position: relative;
                    right: 15px;
                }
            }
            &:hover {
                background-color: var(--accent-blue);
            }
            &.open {
                background-color: var(--accent-blue);
                span::after {
                    opacity: 1; right: 0;
                }
            }
        }
    }
    
    .uu-tabs-accordion-content > ul {
        margin: 0;
        > li { margin: 0; }
        .uu-accordion-content {
            background-color: white;
            padding: 10px;
            margin: 0 10px;
            &.open {
                display: grid;
                gap: 20px;
            }
            > img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
            > div {
                display: flex;
                flex-flow: column;
                gap: 10px;
            }
						.buttons { margin-top: auto; }
        }
    }
}
@media (min-width: 800px) {
    .uu-accordion-content { grid-template-columns: 1fr 1fr; }
}
/* Image Gallery */
.gallery {
		display: grid;
		gap: 0 10px;
}
.gallery .gallery-item {
    position: relative;
		img { width: 100%; }
		figcaption {
				position: absolute;
				bottom: 9px;
				left: 0;
				right: 0;
				background-color: transparent;
				background-image: linear-gradient(to top, rgba(0,0,0,0.6) 55%, rgba(0,0,0,0));
				color: white;
				font-weight: bold;
				padding: 40px 10px 10px;
				font-size: var(--mod-1);
		}
}
@media (min-width: 800px) {
    .gallery { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1100px) {
		.gallery { grid-template-columns: 1fr 1fr 1fr; }
}

/* The Nest */
.category-thenest :is(h1,h2,h3,h4,h5,h6) {
  text-wrap: balance;
}
.category-thenest .entry-meta { display: none; }
.category-thenest .entry-header > p {
		margin-block: .5em 0;
}
.category-thenest .entry-header hr {
  background-color: transparent;
  background-image: repeating-linear-gradient(to right,
			var(--accent-gray), var(--accent-gray) 7px,
			transparent 7px, transparent 14px);
  max-width: 100%;
  margin-block: 1em 0;
}
.category-thenest ~ .post-navigation { display: none; }
.category-thenest {
		.panel-layout {
				padding-top: 1em;
		}
		@media (min-width: 850px) {
				.entry-header:has(~ .entry-content > .post-thumbnail) {
						margin-bottom: max(calc(50vw - 40vh), 25vh);
				}
				.post-thumbnail {
						position: absolute;
						left: 0;
						top: -30px;
						width: 100vw;
						z-index: -1;
						@supports (animation-timeline: view()) {
								animation-timeline: view(block 30% 100%);
								animation-name: fade-away;
								animation-duration: 1ms; /* Firefox needs this :( */
								animation-timing-function: linear;
								animation-fill-mode: both;
						}
						&::after {
								content: '';
								display: block;
								pointer-events: none;
								width: 100%;
								height: 300px;
								background-image: linear-gradient(to bottom, #fff, #fffb 50%, transparent);
								position: fixed;
								top: calc(
										var(--title-bar-height) + 
										var(--admin-bar-height) + 
										var(--alert-bar-height));
						}
						& ~ .panel-layout {
								background: white;
								margin-inline: -30px;
								padding-inline: 30px;
						}
						img {
								width: 100%;
						}
				}
		}
}
@keyframes fade-away {
		from { opacity: 1; }
		to { opacity: 0; }
}

.category-thenest .entry-content :is(h1,h2,h3,h4,h5,h6):not(.widget-title) {
		border-bottom: none;
		text-transform: none;
		--h1-size: 34px;
    --h2-size: 30px;
    --h3-size: 28px;
    --h4-size: 26px;
    --h5-size: 24px;
    --h6-size: 20px;
}
.category-thenest .entry-content #nest-byline { display: none; }

#recent-posts {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(325px, 1fr));
		.widget-title {
				grid-column: 1 / -1;
				border-block-end: 3px solid var(--utah-red);
		}
		.uu-card-cats { display: none; }
		.uu-card-body > p { display: none; }
		.uu-card-body .uu-link { display: none; }
}

.nestnav {
		.widget { padding: 0; }
		p { margin: 0; }
		.textwidget a {
				display: block;
				padding: 20px;
		}
		> div {
				border: 1px solid var(--utah-red);
				border-radius: 20px;
				overflow: hidden;
		}
}
.nest-toc {
		> div {
				display: grid;
				gap: 20px;
				> div { padding: 0; }
				> :first-child {
						grid-column: 1 / -1;
				}
		}
}
.story-card {
		border: 1px solid var(--utah-red);
    border-radius: 20px;
    overflow: hidden;
		position: relative;
		> div > div > div > div { padding: 0; }
		> div > div > div > :last-child {
				position: absolute;
				bottom: 0; left: 0; right: 0;
				background-color: #ffffffbb;
				pointer-events: none;
		}
		img {
				aspect-ratio: 4 / 3;
				object-fit: cover;
		}
		h3 {
				font-size: var(--mod-0);
				color: var(--utah-red);
				margin: 0;
				padding: 10px 10px 0;
		}
		p {
				margin: 0;
				padding: 10px;
		}
}
@media (min-width: 850px) {
		.nest-toc > div { grid-template-columns: 1fr 1fr; }
}

/* Header font in accordion widget tabs is missing, this fixes it */
.uu-tabs-accordion-container .uu-tabs-accordion-menu .uu-accordion-btn span {
		font-family: 'factoria', 'vitesse', sans-serif !important;
		font-size: 18px;
}

/* Chatbot covers up back to top button on mobile, this fixes it */
#page:has(~ webchat-widget) #back-to-top-btn.active {
		right: 1.5rem;
		bottom: calc(1.5rem + 56px + 10px); /* Space from bottom + height of button + spacing between buttons */
		background-color: var(--utah-red);
		opacity: 1;
		color: white;
		border-radius: 100px;
		display: flex;
		min-width: 56px;
		width: fit-content;
		height: 56px;
		padding: 0;
		justify-content: center;
		align-items: center;
}

/* Testing - remove logged-in admin bar *//*
#wpadminbar { display: none; }
body.admin-bar .uu-header.fixed { top: 0 !important; }
body.admin-bar { margin-top: 0 !important; }
html { margin-top: 0 !important; }
/* End Testing */