/*
Theme Name: Agrilife Single 2024
Author: Happy Prime
Author URI: https://happyprime.co
Description: A WordPress theme for single sites at Texas A&M Agrilife
Requires at least: 6.6
Tested up to: 6.6
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: agrilife-single-2024
*/

/**
 * From https://github.com/hankchizljaw/modern-css-reset
 */

/* Set core body defaults */

body {
	box-sizing: border-box;
	min-height: 100vh;
	margin: 0;
	scroll-behavior: smooth;
	text-rendering: optimizespeed;
}

/* Box sizing rules */

*,
*::before,
*::after {
	box-sizing: inherit;
}

/* Remove list styles on ul, ol elements with a class attribute */

/* stylelint-disable no-duplicate-selectors */

nav ul {
	list-style: none;
}

/* stylelint-enable no-duplicate-selectors */

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	        text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	height: auto;
	max-width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Remove animations and transitions for people that prefer not to see them */

@media (prefers-reduced-motion: reduce) {

	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Wrap pre tag content */

pre {
	overflow-x: auto;
	white-space: pre-wrap;
	word-wrap: break-word;
}

:root {

	/*--------------------------------------------------------------
		# Typography
	--------------------------------------------------------------*/

	/* Font size variables in theme.json */

	/*
	--wp--preset--font-size--hero: clamp(2.625rem, -0.25rem + 9.2vw, 5.5rem);
    --wp--preset--font-size--1: clamp(2.25rem, 7.2vw, 4.5rem);
    --wp--preset--font-size--2: clamp(2rem, 1rem + 3.2vw, 3rem);
    --wp--preset--font-size--3: 1.75rem;
    --wp--preset--font-size--4: 1.625rem;
    --wp--preset--font-size--1-5-rem: 1rem;
    --wp--preset--font-size--6: 1.375rem;
	*/

	/*--------------------------------------------------------------
		# Colors
	--------------------------------------------------------------*/

	/* Color variables in theme.json */

	/* Set default color for page-style-color variable */
	--page-style-color: var(--wp--preset--color--maroon);
	--page-style-color-on-color: var(--wp--preset--color--white);

	/*-------------------------------------------------------------
		# Spacing
	--------------------------------------------------------------*/
	--wp--preset--spacing--20: clamp(2rem, 1rem + 3.2vw, 3rem);
	--gutter: var(--wp--preset--spacing--25);

	/*-------------------------------------------------------------
		# Interactions
	--------------------------------------------------------------*/
	--speed: 0.22s;
	--speed-fast: 0.11s;
}

/* --------------------------------------------------------------
	# Inherited page colors
--------------------------------------------------------------*/

.has-inherited-style-responsive-agriculture {
	--wp--preset--color--page-default: var(--wp--preset--color--green);
	--wp--preset--color--on-page-default: var(--wp--preset--color--white);
}

.has-inherited-style-precision-nutrition {
	--wp--preset--color--page-default: var(--wp--preset--color--blue-light);
	--wp--preset--color--on-page-default: var(--wp--preset--color--white);
}

.has-inherited-style-healthy-living {
	--wp--preset--color--page-default: var(--wp--preset--color--maroon-light);
	--wp--preset--color--on-page-default: var(--wp--preset--color--white);
}

/* 600px */

/* 781px - WordPress column breakpoint */

/* 960px */

/* 1200px */

/* --- Main Nav breakpoints --- */

/* 928px */

/* -------------------------------------------------------------
# Anchors
--------------------------------------------------------------*/

/* Default anchor styles */

a:not(.wp-element-button) {
	-webkit-text-decoration: underline currentcolor max(0.05em, 1px);
	        text-decoration: underline currentcolor max(0.05em, 1px);
	text-underline-offset: 0.1em;
	transition: text-decoration-color 0.11s linear;
	transition: text-decoration-color var(--speed-fast) linear;
}

a:not(.wp-element-button):hover {
		text-decoration-color: transparent;
	}

/* Post title links in query block */

.wp-block-post-title a {
		text-decoration-color: transparent;
	}

.wp-block-post-title a:hover {
			text-decoration-color: currentcolor;
		}

/*--------------------------------------------------------------
# Form elements
--------------------------------------------------------------*/

/* Base styles for form elements */

input,
textarea,
select,
button {
	background-color: transparent;
	border-color: var(--wp--preset--color--gray-light);
	color: inherit;
	font-family: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
}

/* Padding and margin for better readability */

input,
textarea,
select {
	padding: 0.5rem;
	margin: 0.5rem 0;
}

/* Form labels */

label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

/* Form buttons */

button {
	display: inline-block;
	padding: 0.75em 1.5em;
	border: 2px solid currentcolor;
	border-radius: 20em;
	-webkit-text-decoration: none;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

button:hover {
		background-color: var(--wp--preset--color--maroon-light);
		border-color: var(--wp--preset--color--maroon-light);
	}

/*--------------------------------------------------------------
# Pseudo elements
--------------------------------------------------------------*/

/* Selection styles */

::-moz-selection {
	background-color: var(--wp--preset--color--maroon-dark);
	color: var(--wp--preset--color--honey);
}

::selection {
	background-color: var(--wp--preset--color--maroon-dark);
	color: var(--wp--preset--color--honey);
}

/*--------------------------------------------------------------
# Global styles
--------------------------------------------------------------*/

/* Global padding redux for small viewports */

@media (max-width: 37.5em) {

:root {
		--wp--style--root--padding-right: 1rem;
        --wp--style--root--padding-left: 1rem;
}
	}

/*--------------------------------------------------------------
# Site header
--------------------------------------------------------------*/

.site-header a,
	.site-header a:visited {
		text-decoration-color: transparent;
	}

.site-header a:hover, .site-header a:visited:hover {
			text-decoration-color: currentcolor;
		}

.site-header .wp-block-site-title a {
		color: inherit;
	}

/* Site logo box */

.site-logo-box {
	aspect-ratio: 1 / 1;
	display: flex;
	margin: 0 0 -1rem 0;
	padding: 0.25rem 0.25rem 0.5rem;
	position: relative;
	width: 4.5rem;
	z-index: 1;
	transition: background-color 0.22s ease;
	transition: background-color var(--speed) ease;
}

.site-logo-box:has(a:hover) {
		background-color: var(--wp--preset--color--maroon-dark) !important;
	}

.site-logo-box svg {
		height: 100%;
		width: 100%;
	}

/* Site navigation */

.wp-block-navigation.site-navigation .wp-block-navigation__container {
		align-items: center;
		display: none;
		gap: 1.5rem;
		justify-content: flex-end;
		line-height: 1.2;
		list-style: none;
		max-width: 100%;
	}

@media (min-width: 58.00001em) {

.wp-block-navigation.site-navigation .wp-block-navigation__container {
			display: flex;
	}
		}

@media (max-width: 58em) {

.wp-block-navigation.site-navigation .wp-block-navigation__container {
			gap: 0 !important;
			width: 100%;
	}

			.wp-block-navigation.site-navigation .wp-block-navigation__container > li {
				border-bottom: 1px solid var(--wp--preset--color--gray-light);
			}

				.wp-block-navigation.site-navigation .wp-block-navigation__container > li a {
					padding: 0.5em 0 !important;
				}
		}

.wp-block-navigation.site-navigation .current-menu-item,
	.wp-block-navigation.site-navigation .has-child:has(.current-menu-item) {
		font-weight: 500;
		letter-spacing: 0;
	}

.wp-block-navigation.site-navigation .current-menu-item .wp-block-navigation-item:not(.current-menu-item), .wp-block-navigation.site-navigation .has-child:has(.current-menu-item) .wp-block-navigation-item:not(.current-menu-item) {
			font-weight: 400;
		}

.wp-block-navigation.site-navigation .wp-block-navigation__submenu-container {
		background-color: var(--wp--preset--color--maroon);
		border: 1px solid rgba(255, 255, 255, 0.3);
		color: var(--wp--preset--color--white);
		font-size: var(--wp--preset--font-size--small);
		letter-spacing: 0;
		line-height: 1.2;
		text-transform: none;
	}

@media (min-width: 58.00001em) {

.wp-block-navigation.site-navigation .wp-block-navigation__submenu-container {
			padding-top: 0.5em;
			padding-bottom: 0.5em;
	}
		}

@media (max-width: 58em) {

.wp-block-navigation.site-navigation .wp-block-navigation__submenu-container {
			display: none;
			gap: 0 !important;
			padding: 0 0 1em 1em !important;
	}
		}

.wp-block-navigation.site-navigation .wp-block-navigation__responsive-container-open {
		display: none;
	}

@media (max-width: 58em) {

.wp-block-navigation.site-navigation .wp-block-navigation__responsive-container-open {
			display: flex;
	}
		}

.wp-block-navigation.site-navigation .wp-block-navigation__responsive-container-open:hover {
			background-color: transparent;
		}

.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

@media (min-width: 58.00001em) {

.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
			display: block;
	}
		}

@media (max-width: 58em) {

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
					display: flex;
					height: 1em;
					margin-left: auto;
					width: 1em;
			}

					.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon[aria-expanded="true"] {
						transform: rotate(180deg);
					}

						.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon[aria-expanded="true"] + .wp-block-navigation__submenu-container {
							display: flex;
						}
				}

@media (max-width: 58em) {

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
					display: grid;
					font-size: 1.25em !important;
					grid-gap: 1rem;
					gap: 1rem;
					grid-template-columns: 1fr 3rem;
					width: 100%;
			}
				}

/* Top header */

.top-header-content a {
		text-decoration-color: transparent;
	}

.top-header-content a:hover {
			color: var(--wp--preset--color--white);
			text-decoration-color: currentcolor;
		}

/* Header toggle block */

.global-header-bar .wp-block-happyprime-toggle-block {
		align-items: center;
		align-self: stretch;
		border: none;
		border-radius: 0;
		display: flex;
		font-family: var(--wp--preset--font-family--oswald);
		font-weight: 400;
		gap: 0.5em;
		padding: 0.75em 1em;
		text-transform: uppercase;
		transition: all 0.22s ease;
		transition: all var(--speed) ease;
	}

.global-header-bar .wp-block-happyprime-toggle-block.header-search-toggle {
			border: 1px solid var(--wp--preset--color--vellum);
			border-top: none;
			border-bottom: none;
		}

.global-header-bar .wp-block-happyprime-toggle-block.header-search-toggle::after {
				content: "";
				background-color: currentcolor;
				height: 1em;
				-webkit-mask: url(./images/icon-search.svg) center / contain no-repeat;
				        mask: url(./images/icon-search.svg) center / contain no-repeat;
				width: 1.2em;
			}

@media (max-width: 37.5em) {

.global-header-bar .wp-block-happyprime-toggle-block.header-search-toggle {
				gap: 0;
				text-indent: -99999px;
		}
			}

.global-header-bar .wp-block-happyprime-toggle-block:hover {
			color: var(--wp--preset--color--white);
		}

/* Global breadcrumbs */

.global-breadcrumbs {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}

/* Header search bar */

.header-panel {
	animation: open-close 0.3s ease 0.1s forwards;
	max-height: 0;
	overflow: clip;
	position: relative;
}

.header-panel.is-layout-constrained > * {
		max-width: 54rem;
	}

.header-panel label {
		font-family: var(--wp--preset--font-family--oswald);
		text-transform: uppercase;
	}

.header-panel .wp-block-search__inside-wrapper button[type="submit"] {
			background-color: transparent;
			border-color: currentcolor;
			color: currentcolor;
		}

.header-panel .wp-block-search__inside-wrapper button[type="submit"]:hover {
				border-color: currentcolor;
				background-color: var(--wp--preset--color--maroon-light-2);
			}

/* Search bar open/close animation */

@keyframes open-close {
	from {
		max-height: 0;
		padding-top: 0;
		padding-bottom: 0;
	}

	to {
		max-height: 100%;
		padding-top: clamp(2rem, 1rem + 3.2vw, 3rem);
		padding-bottom: clamp(2rem, 1rem + 3.2vw, 3rem);
		padding-top: var(--wp--preset--spacing--20);
		padding-bottom: var(--wp--preset--spacing--20);
	}
}

/*--------------------------------------------------------------
# Search bar
--------------------------------------------------------------*/

.wp-block-search__inside-wrapper > * {
		background-color: transparent;
		border: 2px solid currentcolor;
		border-radius: 0;
		margin: 0;
	}

.wp-block-search__inside-wrapper .wp-block-search__input {
		padding: 0.5em 1.25em;
	}

.wp-block-search__inside-wrapper button[type="submit"] {
		background-color: var(--wp--preset--color--maroon);
		border-color: var(--wp--preset--color--body);
		color: var(--wp--preset--color--white);
		font-family: var(--wp--preset--font-family--oswald);
		margin-left: -2px;
		text-transform: uppercase;
	}

.wp-block-search__inside-wrapper button[type="submit"]:hover {
			border-color: var(--wp--preset--color--body) !important;
			color: var(--wp--preset--color--white);
			background-color: var(--wp--preset--color--maroon-light-2);
		}

.search-panel .wp-block-search__inside-wrapper button[type="submit"]:hover {
				border-color: var(--wp--preset--color--white) !important;
			}

/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/

.wp-site-blocks > main {
	overflow: clip;
}

/*--------------------------------------------------------------
# Site footer
--------------------------------------------------------------*/

.agrilife-bar {
	overflow: clip;
	position: relative;
}

.agrilife-bar::before {
		content: "";
		background-color: var(--wp--preset--color--maroon-dark);
		height: 260%;
		-webkit-mask: url(./images/agrilife-a-mark.svg) left center / contain no-repeat;
		        mask: url(./images/agrilife-a-mark.svg) left center / contain no-repeat;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-42.5%) translateX(-50%);
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
	}

.agrilife-bar > div {
		position: relative;
	}

@media (max-width: 60em) {

.agrilife-bar > div {
			flex-wrap: wrap !important;
	}
		}

.agrilife-bar .agrilife-bar-title {
		border-right: 1px solid var(--wp--preset--color--vellum);
		display: flex;
		flex-direction: column;
		flex-shrink: 0;
		line-height: 1.3;
		padding-right: clamp(2rem, 1rem + 3.2vw, 3rem);
		padding-right: var(--wp--preset--spacing--20);
	}

@media (max-width: 48.8125em) {

.agrilife-bar .agrilife-bar-title {
			border: none;
	}
		}

.agrilife-bar .agrilife-bar-title strong {
			font-size: var(--wp--preset--font-size--4);
			text-transform: capitalize;
		}

.agrilife-bar .agrilife-bar-nav {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5em var(--wp--preset--spacing--10);
		line-height: 1.25;
		list-style: none;
		padding: 0;
	}

@media (max-width: 37.5em) {

.agrilife-bar .agrilife-bar-nav {
			flex-direction: column;
	}
		}

.agrilife-bar .agrilife-bar-nav li {
			margin: 0;
		}

.agrilife-bar .agrilife-bar-nav li a {
				text-decoration-color: transparent;
			}

.agrilife-bar .agrilife-bar-nav li a:hover {
					text-decoration-color: currentcolor;
				}

.global-footer a {
		text-decoration-color: transparent;
	}

.global-footer a:hover {
			text-decoration-color: currentcolor;
		}

.global-footer .wp-block-separator {
		opacity: 0.3;
	}

ul.inline-pipe {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 0;
	line-height: 1.25;
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.inline-pipe li {
		border-right: 1px solid var(--wp--preset--color--vellum);
		margin-right: 0.75em;
		padding-right: 0.75em;
	}

ul.inline-pipe li:last-of-type {
			border: none;
		}

/*--------------------------------------------------------------
# Alert banner styles
--------------------------------------------------------------*/

.alert-banner .wp-block-query:empty {
		display: none;
	}

.alert-banner li a {
		color: inherit;
		text-decoration-color: transparent;
	}

.alert-banner li a:hover {
			text-decoration-color: currentcolor;
		}

.alert-banner .wp-block-post-title {
		align-items: center;
		display: flex;
		font-size: inherit;
		font-weight: inherit;
		gap: 0.5em;
		justify-content: center;
		margin: 0 auto;
	}

.alert-banner .wp-block-post-title::before {
			background-color: currentcolor;
			content: "";
			height: 1.5em;
			flex-shrink: 0;
			-webkit-mask: url(./images/icon-alert-simple.svg) no-repeat center / contain;
			        mask: url(./images/icon-alert-simple.svg) no-repeat center / contain;
			width: 1.5em;
		}

/*--------------------------------------------------------------
# Blocks
Core, block styles, and custom blocks
Most styles are handled in theme.json
--------------------------------------------------------------*/

/* Headings */

.wp-block-heading,
.wp-block-post-title,
.wp-block-excerpt {
	text-wrap: pretty;
}

/* Media Text Block */

@media (min-width: 48.8126em) {

.wp-block-media-text.alignfull .wp-block-media-text__content {
				margin-left: 0;
				margin-right: auto;
				padding-left: var(--gutter);
				padding-right: var(--gutter);
				width: 100%;
				max-width: calc(var(--wp--style--global--wide-size) / 2 + var(--gutter));
		}
			}

@media (min-width: 48.8126em) {

.wp-block-media-text.alignfull.has-media-on-the-right .wp-block-media-text__content {
					margin-left: auto;
					margin-right: 0;
			}
				}

@media (max-width: 48.8125em) {

.wp-block-media-text.is-stacked-on-mobile {
			grid-template-columns: 100%;
	}

			.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
				grid-column: 1;
				grid-row: 2;
				padding-top: var(--wp--preset--spacing--30);
				padding-bottom: var(--wp--preset--spacing--30);
			}

			.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
				grid-column: 1;
				grid-row: 1;
			}
		}

.wp-block-media-text .wp-block-media-text__content > *:first-child {
			margin-top: 0;
		}

/* Query Block */

/* Query Filters */

.wp-block-query .wp-block-query-filter__select,
	.wp-block-query .wp-block-search__input {
		margin: 0;
		padding: 0.5em;
	}

@media (min-width: 48.8126em) {

.wp-block-query .wp-block-query-filter__select,
	.wp-block-query .wp-block-search__input {
			height: clamp(2rem, 1rem + 3.2vw, 3rem);
			height: var(--wp--preset--spacing--20);
	}
		}

.wp-block-query .wp-block-search__button {
		display: none;
	}

/* Inline Template */

.wp-block-query .inline-template {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.5em 0.75ch;
	}

.wp-block-query .inline-template li:not(:last-of-type) p:last-of-type:after {
					content: ", ";
				}

/* Post Terms Block */

.wp-block-post-terms {
	display: flex;
	gap: var(--wp--preset--spacing--5);
}

.wp-block-post-terms a {
		display: block;
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.wp-block-post-terms .wp-block-post-terms__separator {
		display: none;
	}

/* Columns Block */

.wp-block-columns {
	margin-bottom: 0;
}

.wp-block-column.card {
		display: flex;
		flex-direction: column;
	}

.wp-block-column.card .wp-block-button__link {
			margin-top: 2rem;
		}

.wp-block-column.card > *:last-child {
			margin-top: auto;
		}

.wp-block-column.is-style-negative-offset {
		margin-top: calc(var(--wp--preset--spacing--30) * -1);
		z-index: 2;
	}

/* Buttons Block */

.wp-block-button__link {
	transition: all 0.22s ease;
	transition: all var(--speed) ease;
}

.is-style-arrow .wp-block-button__link {
		background-color: transparent !important;
		border: none;
		color: currentcolor;
		font-weight: 400;
		letter-spacing: 0.03em;
		padding: 0 2.5em 0 0 !important;
		position: relative;
		text-transform: uppercase;
	}

.is-style-arrow .wp-block-button__link::after {
			content: "";
			background-color: currentcolor;
			height: 0.75em;
			-webkit-mask: url(./images/icon-arrow.svg) center right / cover no-repeat;
			        mask: url(./images/icon-arrow.svg) center right / cover no-repeat;
			position: absolute;
			top: 50%;
			left: calc(100% - 2em);
			transform: translateY(-50%);
			width: 100%;
			max-width: 1.2em;
			transition: max-width 0.22s ease;
			transition: max-width var(--speed) ease;
		}

.is-style-arrow .wp-block-button__link:hover {
			color: currentcolor !important;
		}

.is-style-arrow .wp-block-button__link:hover::after {
				max-width: 1.8em;
			}

/* Hero Block */

.is-hero {
	position: relative;
}

.is-hero::before {
		content: "";
		background-image: url(./images/bg-topo-pattern-iha.svg);
		background-position: top left;
		background-repeat: no-repeat;
		background-size: cover;
		height: 100%;
		opacity: 0.5;
		position: absolute;
		top: 0;
		left: 40%;
		width: calc(60% + (var(--gutter) * 2));
		z-index: -1;
	}

@media (max-width: 48.8125em) {

.is-hero::before {
			left: 0;
			margin-right: calc(var(--gutter) * -1);
			width: calc(100% + var(--gutter));
	}
		}

/* Stacked Image Hero */

.is-hero.is-stacked-image-hero .wp-block-gallery {
			margin: 0;
			display: grid;
			grid-gap: 0;
			gap: 0;
			padding-left: var(--gutter);
		}

.is-hero.is-stacked-image-hero .wp-block-gallery > figure {
				aspect-ratio: 8 / 5;
				margin: 0 calc(var(--gutter) * -1) 0 0 !important;
				width: calc(100% + var(--gutter)) !important;
				max-width: none !important;
			}

.is-hero.is-stacked-image-hero .wp-block-gallery > figure img {
					height: 100%;
					-o-object-fit: cover;
					   object-fit: cover;
					width: 100%;
				}

.is-hero.is-stacked-image-hero .wp-block-gallery > figure:first-of-type {
					aspect-ratio: 16 / 9;
					margin: 0 0 calc(var(--gutter) * -1) calc(var(--gutter) * -0.5) !important;
					width: 63% !important;
					z-index: 1;
				}

.is-hero.is-stacked-image-hero .wp-block-gallery > figure:last-of-type {
					aspect-ratio: 16 / 9;
					margin: calc(var(--gutter) * -1) 0 0 calc(var(--gutter) * -1) !important;
					width: 58% !important;
					z-index: 1;
				}

/* Heavy Content Hero */

.is-hero.is-heavy-content-hero > .wp-block-columns {
			display: grid;
			grid-gap: clamp(2rem, 1rem + 3.2vw, 3rem);
			grid-gap: var(--wp--preset--spacing--20);
			gap: clamp(2rem, 1rem + 3.2vw, 3rem);
			gap: var(--wp--preset--spacing--20);
			grid-template-columns: 1fr;
		}

@media (min-width: 48.8126em) {

.is-hero.is-heavy-content-hero > .wp-block-columns {
				grid-template-columns: 38% 62%;
				margin-right: calc(var(--gutter) * -1);
		}
			}

@media (max-width: 48.8125em) {

.is-hero.is-heavy-content-hero > .wp-block-columns > .wp-block-column:first-of-type {
					order: 2;
			}
				}

@media (min-width: 48.8126em) {

.is-hero.is-heavy-content-hero > .wp-block-columns > .wp-block-column:first-of-type {
					padding-left: var(--gutter);
			}
				}

/* A Decoration (Group Block) */

.is-style-a-bg {
	overflow: hidden;
	position: relative;
}

.is-style-a-bg .wp-block-heading {
		position: relative;
	}

.is-style-a-bg::before {
		content: "";
		background-color: var(--wp--preset--color--maroon-dark);
		height: 180%;
		-webkit-mask: url(./images/agrilife-a-mark.svg) left center / contain no-repeat;
		        mask: url(./images/agrilife-a-mark.svg) left center / contain no-repeat;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%) translateX(-18%);
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
	}

/* Featured News Story Layout (Query Loop) */

@media (min-width: 48.8126em) {

.is-media-text-over {
		display: grid;
		grid-gap: clamp(2rem, 1rem + 3.2vw, 3rem);
		grid-gap: var(--wp--preset--spacing--20);
		gap: clamp(2rem, 1rem + 3.2vw, 3rem);
		gap: var(--wp--preset--spacing--20);
		grid-template-columns: repeat(6, 1fr);
		min-height: 500px;
}

		.is-media-text-over .wp-block-media-text__media {
			grid-column: 1 / span 5;
			grid-row: 1;
		}

		.is-media-text-over .wp-block-media-text__content {
			grid-column: 4 / span 3;
			grid-row: 1;
			margin-bottom: var(--gutter);
			padding: var(--wp--preset--spacing--15);
		}
	}

.is-media-text-over .wp-block-media-text__content {
		background-color: var(--wp--preset--color--white);
	}

/* Media Text Overlap and Vertical Offset */

@media (min-width: 48.8126em) {

.is-media-text-over-offset {
		display: grid;
		grid-gap: clamp(2rem, 1rem + 3.2vw, 3rem);
		grid-gap: var(--wp--preset--spacing--20);
		gap: clamp(2rem, 1rem + 3.2vw, 3rem);
		gap: var(--wp--preset--spacing--20);
		grid-template-columns: repeat(7, 1fr);
		min-height: 500px;
}

		.is-media-text-over-offset .wp-block-media-text__media {
			grid-column: 1 / span 4;
			grid-row: 1;
		}

		.is-media-text-over-offset .wp-block-media-text__content {
			grid-column: 4 / span 4;
			grid-row: 1;
			margin-top: var(--wp--preset--spacing--30);
			padding: var(--wp--preset--spacing--25);
		}
	}

.is-media-text-over-offset .wp-block-media-text__content {
		background-color: var(--wp--preset--color--light-gray);
	}

/* Topo Pattern */

.is-style-organic-back-light,
.is-style-organic-back-dark {
	background-image: url(./images/bg-topo-pattern-vert-dark.svg);
	background-position: left top;
	background-repeat: no-repeat;
	overflow: clip;
	position: relative;

	background-blend-mode: multiply;
}

.is-style-organic-back-light {
	background-image: url(./images/bg-topo-pattern-vert.svg);
	background-blend-mode: color-dodge;
}

/* Tabbed Panels */

.js-tabbed-groups {
	position: relative;
}

@media (min-width: 60.001em) {
		/* Show all panels on mobile */
		.js-tabbed-groups .is-inactive {
			display: none;
		}	
	}

/* Team Tabs */

.js-tabbed-groups.team-tabs {
	position: relative;
}

@media (min-width: 60.001em) {

.js-tabbed-groups.team-tabs {
		display: grid;
		grid-template-columns: 4fr 6fr;
		grid-gap: 0;
		gap: 0;
}
	}

@media (min-width: 48.8126em) {

.js-tabbed-groups.team-tabs {
		padding-left: var(--gutter);
		padding-right: var(--gutter);
}
	}

.js-tabbed-groups.team-tabs > .wp-block-buttons {
		grid-column: 1;
		height: 100%;
	}

.js-tabbed-groups.team-tabs > .wp-block-buttons:not(:last-of-type) .wp-block-button__link {
			border-bottom: 1px solid var(--wp--preset--color--gray-light-2) !important;
		}

.js-tabbed-groups.team-tabs > .wp-block-buttons .wp-block-button {
			height: 100%;
			width: 100%;
		}

@media (max-width: 60em) {

.js-tabbed-groups.team-tabs > .wp-block-buttons {
			/* Hide buttons on small screens */
			display: none;
	}
		}

.js-tabbed-groups.team-tabs > .wp-block-buttons .wp-block-button__link {
			align-items: center;
			background-color: var(--wp--preset--color--gray-light-3);
			border: none;
			border-radius: 0;
			color: var(--wp--preset--color--gray-dark);
			display: flex;
			flex: 1;
			font-family: var(--wp--preset--font-family--oswald);
			font-size: var(--wp--preset--font-size--3);
			font-weight: 400;
			gap: 0.5em;
			height: 100%;
			text-align: left;
			width: 100%;
			transition: background-color 0.22s ease;
			transition: background-color var(--speed) ease;
		}

.js-tabbed-groups.team-tabs > .wp-block-buttons .wp-block-button__link:hover {
				background-color: var(--wp--preset--color--white) !important;
				color: var(--wp--preset--color--body) !important;
			}

.js-tabbed-groups.team-tabs > .wp-block-buttons .wp-block-button__link::before {
				content: "";
				background-color: var(--tab-color);
				height: 1.25em;
				-webkit-mask: url(./images/icon-precision-nutrition.svg) left center / contain no-repeat;
				        mask: url(./images/icon-precision-nutrition.svg) left center / contain no-repeat;
				width: 1.25em;
			}

.js-tabbed-groups.team-tabs > .wp-block-buttons .wp-block-button__link[aria-selected="true"] {
				background-color: var(--wp--preset--color--white);
				border-left: 1rem solid var(--tab-color) !important;
			}

.js-tabbed-groups.team-tabs > .wp-block-buttons .precision-nutrition-toggle .wp-block-button__link {
			--tab-color: var(--wp--preset--color--blue-light);
		}

.js-tabbed-groups.team-tabs > .wp-block-buttons .responsive-ag-toggle .wp-block-button__link {
			--tab-color: var(--wp--preset--color--green);
		}

.js-tabbed-groups.team-tabs > .wp-block-buttons .responsive-ag-toggle .wp-block-button__link::before {
				-webkit-mask-image: url(./images/icon-responsive-agriculture.svg);
				        mask-image: url(./images/icon-responsive-agriculture.svg);
			}

.js-tabbed-groups.team-tabs > .wp-block-buttons .healthy-living-toggle .wp-block-button__link {
			--tab-color: var(--wp--preset--color--maroon-light);
		}

.js-tabbed-groups.team-tabs > .wp-block-buttons .healthy-living-toggle .wp-block-button__link::before {
				-webkit-mask-image: url(./images/icon-healthy-living.svg);
				        mask-image: url(./images/icon-healthy-living.svg);
			}

@media (min-width: 60.001em) {

.tabs-team-content {
		grid-column: 2;
		grid-row: 1 / span 3;
}
	}

.tabs-team-content .wp-block-heading {
		align-items: center;
		display: flex;
		gap: 1rem;
	}

.tabs-team-content .wp-block-heading::before {
			content: "";
			background-color: currentcolor;
			height: 1.5em;
			-webkit-mask: var(--mask-image) left center / contain no-repeat;
			        mask: var(--mask-image) left center / contain no-repeat;
			width: 1.5em;
		}

.tabs-team-content.precision-nutrition-content {
		--mask-image: url(./images/icon-precision-nutrition.svg);
	}

.tabs-team-content.responsive-ag-content {
		--mask-image: url(./images/icon-responsive-agriculture.svg);
	}

.tabs-team-content.healthy-living-content {
		--mask-image: url(./images/icon-healthy-living.svg);
	}

@media (max-width: 48.8125em) {

.tabs-team-content.toggle-block-hidden {
			display: block;
	}
		}

/* Styles for Entity Images in Query Loops */

.wp-block-query li > .wp-block-group:has(.taxonomy-og_entity_connect.wp-block-post-terms) {
	padding-bottom: var(--wp--preset--spacing--30) !important;
}

.wp-block-query li > .wp-block-group:has(.taxonomy-og_entity_connect.wp-block-post-terms) .taxonomy-og_entity_connect.wp-block-post-terms.has-post-thumbnails {
		position: absolute;
		bottom: var(--wp--preset--spacing--5);
	}

.taxonomy-og_entity_connect.wp-block-post-terms.has-post-thumbnails a {
		all: unset;
		cursor: pointer;
		display: flex;
		transition: filter 0.22s ease-in-out;
		transition: filter var(--speed) ease-in-out;
	}

.taxonomy-og_entity_connect.wp-block-post-terms.has-post-thumbnails a:hover {
			filter: brightness(0.25);
		}

.taxonomy-og_entity_connect.wp-block-post-terms.has-post-thumbnails a img {
			max-height: var(--wp--preset--spacing--15);
			max-width: var(--wp--preset--spacing--15);
		}

/*--------------------------------------------------------------
	# Search results and Archive pages
--------------------------------------------------------------*/

/* Styling for category taxonomy links */

.search .taxonomy-category, .archive .taxonomy-category {
		margin-bottom: 0.5em;
	}

.search .taxonomy-category a, .archive .taxonomy-category a {
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.search .taxonomy-category a:hover, .archive .taxonomy-category a:hover {
				-webkit-text-decoration: underline;
				text-decoration: underline;
				text-underline-offset: 1px;
				text-decoration-thickness: 1px;
			}

/*--------------------------------------------------------------
  # Accessibility
--------------------------------------------------------------*/

/* Text meant only for screen readers */

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	-webkit-text-decoration: none;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/*--------------------------------------------------------------
  # Alignments
--------------------------------------------------------------*/

.aligncenter {
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
  # Typography
--------------------------------------------------------------*/

/* Hero font size */

.has-hero-font-size {
	font-size: var(--wp--preset--font-size--hero);
	line-height: 1;
}

/* No bullet list style */

ul.is-style-no-bullets {
	list-style: none;
	padding: 0;
}

ul.is-style-no-bullets li {
		padding-left: 0;
	}

/* Eyebrow text style */

.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--oswald);
	font-weight: 200;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

/*--------------------------------------------------------------
  # Design items
--------------------------------------------------------------*/

/* Box shadow style */

.is-style-box-shadow {
	box-shadow: 0 0 10px rgba(112, 112, 112, 0.2);
}

li > .is-style-box-shadow {
		height: 100%;
	}

li:has(> .is-style-box-shadow) {
	padding-bottom: 10px;
}

/* Bottom line style */

.is-style-bottom-line::after {
		content: "";
		background-color: var(--wp--preset--color--maroon);
		display: block;
		height: 6px;
		margin-top: 1em;
		width: 25vw;
		max-width: 6rem;
	}

/* Dotted wide style */

.is-style-dotted-wide {
	border-bottom-style: dashed;
}

/* Fade in and slide up animation for elements with 'inview' class */

.observe-trigger-90-top-add-inview {
	opacity: 0;
	transform: translateY(1em);
}

.observe-trigger-90-top-add-inview.inview {
		animation: fadeInAndSlideUp 0.5s ease-out forwards;
	}

/* Fade in and slide up animation for elements with 'hero' class */

.observe-trigger-90-top-add-hero {
	opacity: 0;
	transform: translateY(1em);
}

.observe-trigger-90-top-add-hero.hero {
		animation: fadeInAndSlideUp 0.5s ease-out forwards;
	}

/* Fade in animation for elements with 'fadein' class */

.observe-trigger-90-top-add-fadein {
	opacity: 0;
}

.observe-trigger-90-top-add-fadein.fadein {
		animation: fadeIn 0.5s ease-out forwards;
	}

/* Keyframe animation for fading in and sliding up */

@keyframes fadeInAndSlideUp {
	0% {
		opacity: 0;
		transform: translateY(1em);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Keyframe animation for fading in */

@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}
