/*!
Theme Name:        Joyful Heart Foundation Theme
Theme URI:         https://github.com/a8cteam51/joyfulheart-foundation
Author:            WordPress Special Projects
Author URI:        https://wpspecialprojects.wordpress.com
Description:       A WordPress theme for Joyful Heart Foundation.
Version:           1.0.0
Requires at least: 6.1
Requires PHP:      8.1
License:           GNU General Public License v3 or later
License URI:       http://www.gnu.org/licenses/gpl-3.0.html
Text Domain:       joyfulheart-foundation
Domain Path:       /languages
*/

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

/* Set core body defaults */

html {
	scroll-behavior: smooth;
}

body {
	box-sizing: border-box;
	min-height: 100vh;
	margin: 0;
	text-rendering: geometricprecision;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Box sizing rules */

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

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

nav ul {
	list-style: none;
}

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

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

/* 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;
}

/* Text wrap on elements */

p,
li,
blockquote,
figcaption {
	text-wrap: pretty;
}

/* --- Variables --- */

:root {

	--top-offset: 0px; /* stylelint-disable-line length-zero-no-unit -- variable needs unit*/

	/* --- Transition speeds --- */
}

:root .admin-bar {
		--top-offset: 32px;
	}

@media (max-width: 781px) {

:root .admin-bar {
			--top-offset: 46px
	}
		}

@media (max-width: 37.5em) {

:root .admin-bar {
			--top-offset: 0px /* stylelint-disable-line length-zero-no-unit -- variable needs unit*/
	}
		}

:root {
	--speed-fast: 0.15s;
	--speed: 0.33s;
	--speed-slow: 0.5s;

	--wider-size: 1360px;
}

/**
 * Breakpoints
 */

/* 520px */

/* 600px */

/* WordPress column breakpoint */

/* 900px */

/* 1200px */

/* ----------------------------------------
	Styles for site header and toolbar
---------------------------------------- */

body {
	overflow-x: clip;
}

body:has(.site-header .mobile-nav-button[aria-expanded="true"]) {
		overflow: hidden;
	}

/* --- Fix Jetpack Search style override --- */

.skip-link.screen-reader-text:focus {
	clip: auto;
}

/* --- Toolbar --- */

@media (max-width: 1120px) {

.header-toolbar {
		display: none
}
	}

.header-toolbar .wp-block-buttons,
	.header-toolbar .wp-block-button {
		flex: 1;
		width: 100%;
	}

.header-toolbar .wp-block-buttons {
		padding-bottom: 2px;
	}

.header-toolbar .wp-block-button {
		display: grid;
		place-items: center;
	}

.header-toolbar .wp-block-button__link {
		align-content: center;
		height: 100%;
		width: 100%;
	}

.header-toolbar .wp-block-button__link:focus-visible {
			outline-offset: -2px;
		}

.header-toolbar .header-toolbar-content,
	.header-toolbar .wp-block-buttons {
		align-items: stretch;
		background-color: var(--wp--preset--color--accent-gold);
		gap: 2px;
	}

.header-toolbar .header-toolbar-content .wp-block-button__link, .header-toolbar .wp-block-buttons .wp-block-button__link {
			position: relative;
		}

.header-toolbar .header-toolbar-content .wp-block-button__link::after, .header-toolbar .wp-block-buttons .wp-block-button__link::after {
				content: "";
				background-color: transparent;
				margin-left: 0.5em;
				-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
				        mask-image: url(./assets/img/icon-arrow-right.svg);
				-webkit-mask-size: contain;
				        mask-size: contain;
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-position: center;
				        mask-position: center;
				height: 1lh;
				width: 0.6em;
				position: absolute;
				transition: background-color var(--speed-fast) linear;
			}

.header-toolbar .header-toolbar-content .wp-block-button__link:hover::after, .header-toolbar .header-toolbar-content .wp-block-button__link:focus::after, .header-toolbar .wp-block-buttons .wp-block-button__link:hover::after, .header-toolbar .wp-block-buttons .wp-block-button__link:focus::after {
					background-color: currentcolor;
					transition-duration: var(--speed-slow);
				}

.header-toolbar .header-quick-exit,
	.header-toolbar .header-search-toggle {
		flex-shrink: 0;
		max-width: max-content;
	}

.header-toolbar .header-quick-exit {
		border: none;
		border-width: 1px 0;
		margin-bottom: -2px;
		transition: border-color var(--speed) ease-in-out;
	}

.header-toolbar .header-search-toggle {
		background-color: var(--wp--preset--color--base);
		border-bottom: 2px solid var(--wp--preset--color--accent-gold);
		cursor: pointer;
		display: grid;
		overflow: hidden;
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
		position: relative;
	}

.header-toolbar .header-search-toggle::before {
			content: "";
			aspect-ratio: 1 / 1;
			background-color: var(--wp--preset--color--accent-gold);
			border-radius: 50%;
			height: 0;
			opacity: 0;
			position: absolute;
			transition: width var(--speed) ease-in-out, height var(--speed) ease-in-out, opacity var(--speed) ease-in-out;
			transform: translate(-50%, -50%);
			width: 0;
		}

.header-toolbar .header-search-toggle:hover::before {
			height: auto;
			left: var(--left);
			top: var(--top);
			width: 300%;
			opacity: 1;
		}

.header-toolbar .header-search-toggle::after {
			content: "";
			background-color: currentcolor;
			-webkit-mask-image: url(./assets/img/icon-search.svg);
			        mask-image: url(./assets/img/icon-search.svg);
			-webkit-mask-size: contain;
			        mask-size: contain;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-position: center;
			        mask-position: center;
			height: var(--wp--preset--spacing--30);
			width: var(--wp--preset--spacing--30);
		}

.header-toolbar .header-search-toggle:focus-visible {
			outline-offset: -2px;
		}

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

.site-header {
	--wp--style--global--wide-size: 1440px;
	background-color: var(--wp--preset--color--base);
	border-bottom: 2px solid var(--wp--preset--color--accent-gold);
	margin-block: 0;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30);
	position: relative;
	transition: padding var(--speed) ease-in-out;
	will-change: padding;
	transform: translateZ(0);
	z-index: 101;
	overflow: visible;

	/* Mobile nav button */
}

.site-header .wp-block-button__link {
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.site-header .wp-block-button__link:hover {
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.site-header .wp-block-site-logo {
		height: 88px;
		transition: height var(--speed-fast) ease-in-out;
		will-change: height, transform;
		transform: translateZ(0);
		backface-visibility: hidden;
	}

.site-header .quick-exit-button-sticky {
		display: none;
	}

.site-header:not(.sticky-header) {
		transition-delay: 50ms;
	}

.site-header.sticky-header {
		padding-block: var(--wp--preset--spacing--20);
		position: sticky;
		top: var(--top-offset);
	}

.site-header.sticky-header .wp-block-site-logo {
			height: var(--wp--preset--spacing--80);
		}

.site-header.sticky-header .wp-block-site-logo a {
				background-image: url(./assets/img/joyful-heart-foundation-mark.svg);
				background-size: contain;
				background-repeat: no-repeat;
				background-position: center;
				opacity: 0;
				height: var(--wp--preset--spacing--80);
				width: var(--wp--preset--spacing--80);
				transition: opacity var(--speed-slow) ease-in-out;
				animation: fadeIn var(--speed-slow) ease-in-out forwards;
			}

.site-header.sticky-header .wp-block-site-logo img {
				display: none;
			}

.site-header.sticky-header .quick-exit-button-sticky {
			opacity: 0;
			display: block;
			transition: opacity var(--speed) ease-in-out;
			animation: fadeIn var(--speed) ease-in-out forwards;
			animation-delay: var(--speed-fast);
		}

@media (max-width: 1120px) {

.site-header:has(.mobile-nav-button[aria-expanded="true"]) {
			overflow: auto;
			position: fixed;
			top: var(--top-offset);
			bottom: 0;
			left: 0;
			right: 0;
			z-index: 100
	}
		}

.site-header .wp-block-navigation__responsive-container-open,
	.site-header .wp-block-navigation__responsive-container-close {
		display: none !important;
	}

.site-header .mobile-nav-button {
		--button-line-height: 2px;
		--button-line-offset: 0.5em;
		background: none;
		border: none;
		cursor: pointer;
		display: none;
		height: 2.5em;
		margin-left: auto;
		padding: 0;
		position: relative;
		width: 2.5em;
		transition: transform var(--speed) ease;
	}

.site-header .mobile-nav-button span {
			display: block;
			position: absolute;
			top: 50%;
			left: 0;
			right: 0;
			height: var(--button-line-height);
			background: var(--wp--preset--color--contrast);
			transform: translateY(-50%);
			transition: background-color var(--speed-fast) linear;
		}

.site-header .mobile-nav-button span::before,
			.site-header .mobile-nav-button span::after {
				content: "";
				display: block;
				position: absolute;
				height: var(--button-line-height);
				left: 0;
				right: 0;
				background: var(--wp--preset--color--contrast);
				transition: transform var(--speed) ease;
			}

.site-header .mobile-nav-button span::before {
				top: calc(var(--button-line-offset) * -1);
			}

.site-header .mobile-nav-button span::after {
				bottom: calc(var(--button-line-offset) * -1);
			}

.site-header .mobile-nav-button[aria-expanded="true"] span {
				background: transparent;
			}

.site-header .mobile-nav-button[aria-expanded="true"] span::before {
					transform: translateY(var(--button-line-offset)) rotate(45deg);
				}

.site-header .mobile-nav-button[aria-expanded="true"] span::after {
					transform: translateY(calc(var(--button-line-offset) * -1)) rotate(-45deg);
				}

@media (max-width: 1120px) {

.site-header .mobile-nav-button {
			display: block
	}

			.site-header .mobile-nav-button.toggle-block-hidden {
				display: block;
			}
		}

@media (max-width: 1120px) {

		.site-header .primary-nav.wp-block-navigation {
			display: none;
		}

			.site-header .mobile-nav-button[aria-expanded="true"] ~ .primary-nav.wp-block-navigation {
				display: flex !important;
			}

				.site-header .mobile-nav-button[aria-expanded="true"] ~ .primary-nav.wp-block-navigation .primary-nav.wp-block-navigation {
					display: flex !important;
				}

				.site-header .mobile-nav-button[aria-expanded="true"] ~ .primary-nav.wp-block-navigation .wp-block-navigation__responsive-container {
					display: block !important;
				}

			.site-header .mobile-nav-button[aria-expanded="true"] ~ .toolbar-on-mobile {
				display: flex;
			}
	}

.site-header-content {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

/* Primary navigation */

.primary-nav.wp-block-navigation {
	--wp--style--global--wide-size: calc(1440px + 2 * var(--wp--preset--spacing--30));
	position: static;
}

@media (max-width: 1120px) {

.primary-nav.wp-block-navigation {
		gap: var(--wp--preset--spacing--20)
}
	}

.primary-nav.wp-block-navigation .wp-block-navigation__responsive-container,
	.primary-nav.wp-block-navigation .wp-block-navigation__responsive-dialog,
	.primary-nav.wp-block-navigation .wp-block-navigation-item {
		position: static;
	}

.primary-nav.wp-block-navigation .wp-block-navigation-submenu__toggle {
		padding-right: 1.1em;
	}

.primary-nav.wp-block-navigation .wp-block-navigation__submenu-icon {
		background-color: var(--wp--preset--color--accent-blue);
		margin-left: -0.6em !important;
		-webkit-mask-image: url(./assets/img/icon-arrow-down.svg);
		        mask-image: url(./assets/img/icon-arrow-down.svg);
		-webkit-mask-size: contain;
		        mask-size: contain;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-position: center;
		        mask-position: center;
		height: 1em;
		width: 0.6em;
		transition: background-color var(--speed-fast) ease-in-out;
	}

.primary-nav.wp-block-navigation .wp-block-navigation__submenu-icon svg {
			display: none;
		}

.primary-nav.wp-block-navigation .jhf-mega-menu-heading {
		font-size: var(--wp--preset--font-size--heading-four);
		font-weight: 600;
		letter-spacing: 0.1em;
		text-transform: uppercase;
	}

.primary-nav.wp-block-navigation .jhf-mega-menu-image {
		clip-path: path("M 0 16 A 16 16 0 0 1 16 0 L 150 10 A 16 16 0 0 1 166 26 L 176 99 A 16 16 0 0 1 160 115 L 16 115 A 16 16 0 0 1 0 99 Z");
		margin: 0;
		height: 115px;
		width: 176px;
	}

.primary-nav.wp-block-navigation .jhf-mega-menu-image img {
			object-fit: cover;
			object-position: center;
			height: 100%;
			width: 100%;
		}

.primary-nav.wp-block-navigation .jhf-mega-menu-subtitle {
		font-size: var(--wp--preset--font-size--heading-one);
		font-weight: 800;
		line-height: 1.3;
		text-wrap: pretty;
		max-width: 800px;
		transition: opacity var(--speed) ease-in-out;
	}

.primary-nav.wp-block-navigation .jhf-mega-menu-link {
		align-items: center;
		background-color: transparent;
		border: none;
		color: inherit;
		font-size: 0.875rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		margin-top: var(--wp--preset--spacing--10);
		padding: 0 1em 0 0;
		position: relative;
		-webkit-text-decoration: underline;
		text-decoration: underline;
		text-decoration-color: transparent;
		text-decoration-thickness: 0.0625em;
		text-underline-offset: 0.125em;
		text-transform: uppercase;
		transition: text-decoration-color var(--speed) ease-in-out, opacity var(--speed) ease-in-out;
	}

.primary-nav.wp-block-navigation .jhf-mega-menu-link::after {
			content: "";
			background-color: var(--wp--preset--color--dark-blue);
			flex-shrink: 0;
			height: 1.5em;
			margin-left: 0.5em;
			-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
			        mask-image: url(./assets/img/icon-arrow-right.svg);
			-webkit-mask-position: center;
			        mask-position: center;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: contain;
			        mask-size: contain;
			position: absolute;
			width: 0.57em;
			transition: all var(--speed) ease-in-out;
		}

.primary-nav.wp-block-navigation .jhf-mega-menu-link:hover::after {
				background-color: currentcolor;
				transform: translateX(0.125em);
			}

.primary-nav.wp-block-navigation .jhf-mega-menu-link:focus {
			outline: 3px solid currentcolor;
			outline-offset: 1em;
		}

@media (min-width: 1121px) {

		.primary-nav.wp-block-navigation .jhf-mega-menu {
			animation: fadeIn var(--speed-fast) forwards;
			animation-delay: 0.1s;
			background-color: var(--wp--preset--color--accent-blue);
			border: none;
			display: none;
			gap: var(--wp--preset--spacing--80);
			grid-template-columns: repeat(8, 1fr);
			opacity: 0;
			overflow: visible;
			padding-inline: var(--wp--preset--spacing--30);
			position: absolute !important;
			top: 100% !important;
			left: 50% !important;
			transform: translateX(-50%) !important;
			height: auto !important;
			width: 100% !important;
			max-width: var(--wp--style--global--wide-size) !important;
			visibility: visible;
			backface-visibility: hidden;
			will-change: opacity;
		}

			.primary-nav.wp-block-navigation .jhf-mega-menu::before {
				content: "";
				background-color: inherit;
				border-bottom: 2px solid var(--wp--preset--color--contrast);
				position: absolute;
				top: 0;
				bottom: -2px;
				left: calc((100% - 100vw) / 2);
				right: calc((100% - 100vw) / 2);
				z-index: -1;
			}

					.primary-nav.wp-block-navigation .jhf-mega-menu:has(.wp-block-navigation-submenu__toggle[aria-expanded="true"]) .jhf-mega-menu-content .jhf-mega-menu-subtitle,
					.primary-nav.wp-block-navigation .jhf-mega-menu:has(.wp-block-navigation-submenu__toggle[aria-expanded="true"]) .jhf-mega-menu-content .jhf-mega-menu-link {
						pointer-events: none;
					}

				.primary-nav.wp-block-navigation .jhf-mega-menu:has(.wp-block-navigation-submenu__toggle[aria-expanded="true"]) .jhf-mega-menu-tree {
					position: relative;
					transform: translateX(-80%);
					transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
					z-index: 2;
					backface-visibility: hidden;
					will-change: transform;
				}

					.primary-nav.wp-block-navigation .jhf-mega-menu:has(.wp-block-navigation-submenu__toggle[aria-expanded="true"]) .jhf-mega-menu-tree::before {
						background-color: rgba(45, 41, 42, 0.6);
						transition: background-color 0.3s ease-in-out;
					}

			.primary-nav.wp-block-navigation .jhf-mega-menu > * {
				animation: fadeIn var(--speed) forwards;
				animation-delay: 0.1s;
				opacity: 0;
				backface-visibility: hidden;
			}
	}

@media (min-width: 1121px) {

			.primary-nav.wp-block-navigation .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .jhf-mega-menu {
				display: grid;
				opacity: 1;
				animation: fadeIn var(--speed-fast) forwards;
			}
		}

.primary-nav.wp-block-navigation .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-icon {
			background-color: var(--wp--preset--color--accent-gold);
		}

.primary-nav.wp-block-navigation .jhf-mega-menu-content {
		display: flex;
		flex-direction: column;
		gap: var(--wp--preset--spacing--20);
		grid-column: 1 / span 5;
		order: -1;
		padding: var(--wp--preset--spacing--80) var(--wp--preset--spacing--30);
	}

@media (max-width: 1120px) {

.primary-nav.wp-block-navigation .jhf-mega-menu-content {
			display: none
	}
		}

@media (min-width: 1121px) {

.primary-nav.wp-block-navigation .jhf-mega-menu-tree {
			align-items: center;
			background-color: var(--wp--preset--color--accent-blue);
			border-left: 1px solid var(--wp--preset--color--contrast);
			display: flex;
			grid-column: 6 / span 3;
			transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)

			/* Box shadow only when submenu is expanded within the tree */
	}
			.primary-nav.wp-block-navigation .jhf-mega-menu-tree:has(.wp-block-navigation-submenu__toggle[aria-expanded="true"]) {
				box-shadow: -16px 4px 29px 0 rgba(0, 69, 115, 0.50);
			}

				.primary-nav.wp-block-navigation .jhf-mega-menu-tree:has(.wp-block-navigation-submenu__toggle[aria-expanded="true"])::after {
					background-color: var(--wp--preset--color--blue);
				}

			.primary-nav.wp-block-navigation .jhf-mega-menu-tree::before {
				content: "";
				background-color: transparent;
				pointer-events: none;
				position: absolute;
				top: 0;
				right: 100%;
				height: 100%;
				width: 80vw;
				z-index: -1;
				transition: background-color var(--speed) ease-in-out;
			}

			.primary-nav.wp-block-navigation .jhf-mega-menu-tree::after {
				content: "";
				background-color: transparent;
				position: absolute;
				top: 0;
				left: 100%;
				height: 100%;
				width: 50vw;
				z-index: -1;
				transition: background-color var(--speed-fast) ease-in-out;
			}
		}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu {
			background-color: transparent;
			border: none;
			opacity: 1;
			position: static;
			height: max-content;
			width: 100%;
			visibility: visible;
		}

@media (min-width: 1121px) {

.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu {
				margin-block: var(--wp--preset--spacing--50)
		}
			}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item {
				padding-block: 0.375em;
			}

@media (min-width: 1121px) {

.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item {
						padding-inline: var(--wp--preset--spacing--50)
			}

					.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item .wp-block-navigation-item__content {
						animation: jhfSlideUp var(--speed) ease-out forwards;
						animation-delay: 0.25s;
						opacity: 0;
						transform: translateY(var(--wp--preset--spacing--10));
						backface-visibility: hidden;
					}
						.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item:nth-child(1) .wp-block-navigation-item__content {
							animation-delay: 0.3s;
						}
						.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item:nth-child(2) .wp-block-navigation-item__content {
							animation-delay: 0.35s;
						}
						.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item:nth-child(3) .wp-block-navigation-item__content {
							animation-delay: 0.4s;
						}
						.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item:nth-child(4) .wp-block-navigation-item__content {
							animation-delay: 0.45s;
						}
						.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item:nth-child(5) .wp-block-navigation-item__content {
							animation-delay: 0.5s;
						}
						.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item:nth-child(6) .wp-block-navigation-item__content {
							animation-delay: 0.55s;
						}
						.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item:nth-child(7) .wp-block-navigation-item__content {
							animation-delay: 0.6s;
						}
						.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item:nth-child(8) .wp-block-navigation-item__content {
							animation-delay: 0.65s;
						}
				}

@media (min-width: 1121px) {

.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item:has(> .wp-block-navigation-submenu__toggle[aria-expanded="true"]) {
						background-color: var(--wp--preset--color--blue);
						color: var(--wp--preset--color--base)
				}
					}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item a,
				.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item button {
					-webkit-text-decoration: underline;
					text-decoration: underline;
					text-decoration-color: transparent;
					text-decoration-thickness: 0.0625em;
					text-underline-offset: 0.125em;
					transition: text-decoration-color var(--speed) ease-in-out;
				}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item a:hover, .primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item button:hover {
						text-decoration-color: currentcolor;
					}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree > .wp-block-navigation-submenu > .wp-block-navigation-item.current-menu-item a {
						text-decoration-color: currentcolor;
					}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation__submenu-container {
			font-size: var(--wp--preset--font-size--heading-three);
			font-weight: 800;
			gap: 0;
			line-height: 1.3;
			overflow: visible;
			position: relative;
			top: auto;
			left: auto !important;
			right: auto !important;
		}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
				animation: jhfSlideIn var(--speed) forwards;
				animation-delay: 0.1s;
				background-color: transparent;
				border: none;
				display: none;
				margin-left: var(--wp--preset--spacing--20);
				opacity: 0;
				padding-left: 0;
				position: absolute;
				left: 100% !important;
				top: 50% !important;
				right: auto !important;
				transform: translateY(-50%);
				width: 100%;
			}

@media (min-width: 1121px) {

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
					padding-left: var(--wp--preset--spacing--50)
			}
				}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-item__content {
			padding: 0 !important;
		}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation__submenu-icon {
			display: none !important;
		}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label {
			position: relative;
		}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label::after {
				content: "";
				background-color: var(--wp--preset--color--dark-blue);
				display: inline-block;
				flex-shrink: 0;
				height: 1em;
				margin-left: 0.5em;
				-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
				        mask-image: url(./assets/img/icon-arrow-right.svg);
				-webkit-mask-position: center;
				        mask-position: center;
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: contain;
				        mask-size: contain;
				position: absolute;
				bottom: 0;
				transform: translateY(-10%);
				width: 0.5rem;
				transition: all var(--speed) ease-in-out;
			}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label:hover::after {
					background-color: currentcolor;
					transform: translateX(0.125em) translateY(-10%);
				}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label:focus {
				outline: 3px solid currentcolor;
				outline-offset: 1em;
			}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation-submenu {
				color: var(--wp--preset--color--base);
				display: flex;
				gap: var(--wp--preset--spacing--30);
				width: 80%;
			}

@media (max-width: 1120px) {

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation-submenu {
					gap: var(--wp--preset--spacing--20);
					margin-block: var(--wp--preset--spacing--30)
			}
				}

@media (max-width: 1120px) {

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation-submenu .wp-block-navigation-item__label {
						color: var(--wp--preset--color--contrast)
				}
					}

@media (min-width: 1121px) {

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation-submenu .wp-block-navigation-item__label {
						font-size: var(--wp--preset--font-size--heading-four);
						font-weight: 600;
						text-transform: uppercase
				}
					}

@media (min-width: 1121px) {

					.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle[aria-expanded="true"] .wp-block-navigation-item__label::after {
						background-color: transparent;
						background-image: url(./assets/img/icon-circle-close.svg);
						background-size: contain;
						background-repeat: no-repeat;
						background-position: center;
						-webkit-mask-image: none;
						        mask-image: none;
						width: 1em;
						transition: filter var(--speed) ease-in-out;
					}

						.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle[aria-expanded="true"] .wp-block-navigation-item__label:hover::after {
							filter: brightness(0.8);
							transform: translateY(-10%);
						}
				}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-podcast,
		.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-one-pager,
		.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-blog,
		.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-bookclub,
		.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-heartshop,
		.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-impact-report,
		.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-webinar {
			font-size: 0.8125em;
			font-weight: 400;
		}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-podcast a, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-one-pager a, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-blog a, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-bookclub a, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-heartshop a, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-impact-report a, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-webinar a {
				align-items: center;
				display: flex;
				gap: 0.5em;
			}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-podcast a::before, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-one-pager a::before, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-blog a::before, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-bookclub a::before, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-heartshop a::before, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-impact-report a::before, .primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-webinar a::before {
					content: "";
					background-color: currentcolor;
					-webkit-mask-image: url(./assets/img/icon-podcast-simple.svg);
					        mask-image: url(./assets/img/icon-podcast-simple.svg);
					-webkit-mask-size: contain;
					        mask-size: contain;
					-webkit-mask-repeat: no-repeat;
					        mask-repeat: no-repeat;
					-webkit-mask-position: center;
					        mask-position: center;
					height: 1lh;
					width: 1.25em;
				}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-one-pager a::before {
					-webkit-mask-image: url(./assets/img/icon-one-pagers-simple.svg);
					        mask-image: url(./assets/img/icon-one-pagers-simple.svg);
				}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-bookclub a::before {
					-webkit-mask-image: url(./assets/img/icon-bookclub-simple.svg);
					        mask-image: url(./assets/img/icon-bookclub-simple.svg);
				}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-blog a::before {
					-webkit-mask-image: url(./assets/img/icon-blog-simple.svg);
					        mask-image: url(./assets/img/icon-blog-simple.svg);
				}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-heartshop a::before {
					-webkit-mask-image: url(./assets/img/icon-heartshop-simple.svg);
					        mask-image: url(./assets/img/icon-heartshop-simple.svg);
				}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-impact-report a::before {
					-webkit-mask-image: url(./assets/img/icon-report-simple.svg);
					        mask-image: url(./assets/img/icon-report-simple.svg);
				}

.primary-nav.wp-block-navigation .jhf-mega-menu-tree .is-webinar a::before {
					-webkit-mask-image: url(./assets/img/icon-webinar-simple.svg);
					        mask-image: url(./assets/img/icon-webinar-simple.svg);
				}

@media (max-width: 1120px) {

		.primary-nav.wp-block-navigation .wp-block-navigation-item__label {
			font-size: 1.25rem;
			font-weight: 600;
		}

		.primary-nav.wp-block-navigation .wp-block-navigation__responsive-container {
			align-items: flex-start;
			flex-direction: column;
			padding: 0;
		}

			.primary-nav.wp-block-navigation .wp-block-navigation__responsive-container .wp-block-navigation__submenu-icon {
				display: none;
			}

		.primary-nav.wp-block-navigation .wp-block-navigation__responsive-container-content {
			justify-content: flex-start;
		}

		.primary-nav.wp-block-navigation .wp-block-navigation__submenu-container {
			animation: none !important;
			background-color: transparent;
			border: none;
			flex-direction: column;
			opacity: 1 !important;
			padding-left: 0;
			position: static !important;
			transform: none !important;
			width: auto !important;
		}

			.primary-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
				font-size: 1.125rem !important;
				font-weight: 400;
				margin-block: var(--wp--preset--spacing--10);
			}

			.primary-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
				font-size: 1.125rem;
				font-weight: 400;
			}

			.primary-nav.wp-block-navigation .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
				padding-left: var(--wp--preset--spacing--20);
			}

		.primary-nav.wp-block-navigation .wp-block-navigation-item__label::after {
			opacity: 0;
		}

			.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle > .wp-block-navigation-item__label, .primary-nav.wp-block-navigation .wp-block-navigation-submenu__toggle > .wp-block-navigation-item__label {
				position: relative;
			}

				.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle > .wp-block-navigation-item__label::after, .primary-nav.wp-block-navigation .wp-block-navigation-submenu__toggle > .wp-block-navigation-item__label::after {
					content: "";
					background-color: var(--wp--preset--color--accent-blue);
					display: inline-block;
					flex-shrink: 0;
					height: 1em !important;
					margin-left: 0.5em;
					-webkit-mask-image: url(./assets/img/icon-arrow-down.svg) !important;
					        mask-image: url(./assets/img/icon-arrow-down.svg) !important;
					-webkit-mask-position: center;
					        mask-position: center;
					-webkit-mask-repeat: no-repeat;
					        mask-repeat: no-repeat;
					-webkit-mask-size: contain;
					        mask-size: contain;
					opacity: 1;
					position: absolute;
					bottom: 0;
					transform: translateY(-10%) !important;
					width: 0.7rem !important;
					transition: none !important;
				}

					.primary-nav.wp-block-navigation .jhf-mega-menu-tree .wp-block-navigation-submenu__toggle[aria-expanded="true"] > .wp-block-navigation-item__label::after, .primary-nav.wp-block-navigation .wp-block-navigation-submenu__toggle[aria-expanded="true"] > .wp-block-navigation-item__label::after {
						background-color: var(--wp--preset--color--accent-blue) !important;
						transform: rotate(180deg) translateY(-1%) !important;
					}

		.primary-nav.wp-block-navigation .wp-block-navigation-item {
			display: block;
			width: 100%;
		}

		.primary-nav.wp-block-navigation .wp-block-navigation-item__content {
			justify-content: flex-start;
		}
	}

.primary-nav.wp-block-navigation .is-style-has-space-above {
		margin-top: var(--wp--preset--spacing--40);
	}

.jhf-close-button {
	all: unset;
	border: none;
	cursor: pointer;
	background-color: var(--wp--preset--color--contrast);
	height: var(--wp--preset--spacing--30);
	-webkit-mask-image: url(./assets/img/icon-close.svg);
	        mask-image: url(./assets/img/icon-close.svg);
	-webkit-mask-size: contain;
	        mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
	position: absolute;
	right: var(--wp--preset--spacing--30);
	top: var(--wp--preset--spacing--30);
	width: var(--wp--preset--spacing--30);
	z-index: 100;
	transition: background-color var(--speed) ease-in-out;
}

@media (max-width: 1120px) {

.jhf-close-button.jhf-mega-menu-close {
			display: none
	}
		}

.jhf-close-button:hover {
		background-color: var(--wp--preset--color--dark-blue);
	}

.jhf-mega-menu.has-open-submenu .jhf-close-button {
		background-color: var(--wp--preset--color--base);
	}

.jhf-mega-menu.has-open-submenu .jhf-close-button:hover {
			background-color: var(--wp--preset--color--accent-gold);
		}

.toolbar-on-mobile {
	display: none;
	width: 100%;
}

.toolbar-on-mobile .header-toolbar-content {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

.toolbar-on-mobile .header-quick-exit {
		display: none;
	}

.toolbar-on-mobile .wp-block-buttons {
		flex-direction: column;
		width: 100%;
	}

.toolbar-on-mobile .wp-block-button {
		width: 100%;
	}

.toolbar-on-mobile .wp-block-button__link {
		border: 2px solid var(--wp--preset--color--accent-gold) !important;
		width: 100%;
	}

@keyframes fadeIn {
	to {
		opacity: 1;
	}
}

@keyframes jhfSlideIn {
	to {
		opacity: 1;
		margin-left: 0;
	}
}

@keyframes jhfSlideUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ----------------------------------------
	Styles for site footer & get involved
---------------------------------------- */

/* --- Get involved bar --- */

.get-involved-bar {
	margin-block: 0;
}

.get-involved-bar-content .wp-block-heading {
		max-width: 520px;
	}

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

.site-footer .site-footer-content {
		flex-wrap: nowrap;
	}

@media (max-width: 56.25em) {

.site-footer .site-footer-content {
			flex-wrap: wrap
	}
		}

.site-footer .site-footer-logo-column {
		flex-shrink: 0;
	}

@media (min-width: 782px) {

.site-footer .site-footer-links-badges {
			justify-content: flex-end
	}
		}

.site-footer .wp-block-list {
		min-width: 180px;
	}

/* --- Form styles --- */

input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="date"],
input[type="time"],
input[type="url"],
textarea {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	box-sizing: border-box;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.4;
	padding: 0.75em 1.25em;
	transition: outline var(--speed-fast) ease-in-out;
	width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
	outline: 2px solid var(--wp--preset--color--contrast);
}

label {
	color: currentcolor;
	display: block;
	font-size: var(--font-size-base);
	font-weight: 700;
	margin-bottom: var(--wp--preset--spacing--10);
}

/* --- Jetpack forms --- */

.wp-block-jetpack-contact-form {
	gap: var(--wp--preset--spacing--30);
}

/* --- Checkbox styling --- */

input[type="checkbox"].grunion-field {
	width: 1em;
	height: 1lh;
	margin: 0;
	accent-color: var(--wp--preset--color--contrast);
	cursor: pointer;
	vertical-align: top;
	flex-shrink: 0;
}

/* --- Query Filter Select Styling --- */

.wp-block-query-filter {
	align-items: center;
	flex-direction: row;
	gap: 0.5em;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	line-height: 1.1;
	padding: 0.5em 1em;
	padding-right: 2.5em;
	position: relative;
}

@media (max-width: 37.5em) {

.wp-block-query-filter {
		width: 100%
}
	}

.jhf-option-placeholder {
	height: 1px;
	margin: 0 -11px 0 1px;
	opacity: 0;
	width: 1px;
	z-index: -1;
}

.wp-block-query-filter[style*="--jhf-select-offset"] .jhf-option-placeholder {
		margin-right: 0;
		width: auto;
	}

.wp-block-query-filter[style*="--jhf-select-offset"] .wp-block-query-filter__select {
		height: 100%;
		left: 0;
		padding-left: var(--jhf-select-offset);
		padding-right: 2.5em;
		position: absolute;
		top: 0;
		text-align: right;
		width: 100%;
	}

.wp-block-query-filter__label {
	font-weight: 700;
	font-size: inherit;
	margin: 0;
	display: inline;
}

.wp-block-query-filter__select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: transparent;
	border: none;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	font-family: inherit;
	font-size: inherit;
	font-weight: 400;
	padding: 0;
	margin: 0;
	min-width: 0;
	outline: none;
}

.wp-block-query-filter__select:focus {
	outline: none;
}

.wp-block-query-filter__select:hover {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

/* Custom dropdown arrow */

.wp-block-query-filter::after {
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
	height: 10px;
	background-color: var(--wp--preset--color--accent-blue);
	-webkit-mask-image: url(./assets/img/icon-arrow-down.svg);
	        mask-image: url(./assets/img/icon-arrow-down.svg);
	-webkit-mask-size: contain;
	        mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
	pointer-events: none;
}

/* --- Search Filter Styling --- */

.wp-block-query-filter:has(.wp-block-query-filter-search__input) {
	border: none;
	padding: 0;
	background: transparent;
}

.wp-block-query-filter:has(.wp-block-query-filter-search__input)::after {
		display: none;
	}

.wp-block-query-filter-search__label {
		font-weight: 700;
		font-size: inherit;
		margin: 0 0 var(--wp--preset--spacing--10);
		display: block;
	}

.wp-block-query-filter-search__input {
		background: var(--wp--preset--color--base);
		border: 1px solid var(--wp--preset--color--contrast);
		box-sizing: border-box;
		color: var(--wp--preset--color--contrast);
		font-family: inherit;
		font-size: var(--wp--preset--font-size--small);
		line-height: 1.4;
		padding: 0.75em 1.25em;
		transition: outline var(--speed-fast) ease-in-out;
		width: 100%;

		/* Remove default search input styling */
	}

.wp-block-query-filter-search__input:focus {
			outline: 2px solid var(--wp--preset--color--contrast);
		}

.wp-block-query-filter-search__input::placeholder {
			color: color-mix(in srgb, var(--wp--preset--color--contrast) 60%, transparent);
		}

.wp-block-query-filter-search__input::-webkit-search-decoration,
		.wp-block-query-filter-search__input::-webkit-search-cancel-button,
		.wp-block-query-filter-search__input::-webkit-search-results-button,
		.wp-block-query-filter-search__input::-webkit-search-results-decoration {
			appearance: none;
		}

/* --- Multi-Select Taxonomy Filter Styling --- */

.wp-block-query-filter:has(.wp-block-query-filter-taxonomy-multiselect__fieldset) {
	border: none;
	padding: 0;
	background: transparent;
}

.wp-block-query-filter:has(.wp-block-query-filter-taxonomy-multiselect__fieldset)::after {
		display: none;
	}

.wp-block-query-filter-taxonomy-multiselect__fieldset {
		border: none;
		padding: 0;
		margin: 0;
		min-width: 0;
	}

.wp-block-query-filter-taxonomy-multiselect__checkboxes {
		display: flex;
		flex-direction: column;
		gap: 0.5em;
	}

.wp-block-query-filter-taxonomy-multiselect__checkbox-label {
		display: flex;
		align-items: center;
		gap: 0.5em;
		cursor: pointer;
		font-weight: 400;
		margin: 0;
	}

.wp-block-query-filter-taxonomy-multiselect__checkbox {
		appearance: none;
		width: 1lh;
		height: 1lh;
		border: 2px solid var(--wp--preset--color--hrh-purple);
		background-color: transparent;
		cursor: pointer;
		margin: 0;
		flex-shrink: 0;
		transition: background-color var(--speed-fast) ease, border-color var(--speed-fast) ease;
	}

.wp-block-query-filter-taxonomy-multiselect__checkbox:hover {
			background-color: color-mix(in srgb, var(--wp--preset--color--hrh-purple-dark) 50%, transparent);
		}

.wp-block-query-filter-taxonomy-multiselect__checkbox:checked {
			background-color: var(--wp--preset--color--hrh-purple-dark);
		}

.wp-block-query-filter-taxonomy-multiselect__checkbox:focus {
			outline: 2px solid color-mix(in srgb, var(--wp--preset--color--hrh-purple-dark) 20%, transparent);
		}

.grunion-field-label.checkbox {
	cursor: pointer;
	line-height: 1.4;
	margin-bottom: 0;
	display: inline-block;
	vertical-align: top;
}

.contact-form__checkbox-wrap {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--10);
}

/* --- Jetpack form error box --- */

.contact-form__error a {
		color: inherit;
	}

.contact-form :where(.grunion-label-required),
.contact-form :where(label span.required) {
	opacity: 0.85;
}

/* ------------------------------------
	Styles for component and blocks
------------------------------------ */

.site-main {
	margin-block: 0;
}

.site-main p:empty {
		display: none;
	}

::selection {
	background-color: var(--wp--preset--color--accent-gold);
	color: var(--wp--preset--color--contrast);
}

.has-accent-gold-background-color ::selection {
		background-color: var(--wp--preset--color--contrast);
		color: var(--wp--preset--color--base);
	}

/* --- Links --- */

:root :where(a:where(:not(.wp-element-button))) {
	-webkit-text-decoration: underline;
	text-decoration: underline;
	text-decoration-color: currentcolor;
	text-decoration-thickness: 0.0625em;
	text-underline-offset: 0.125em;
	transition: text-decoration-color var(--speed-fast) ease-in-out;
}

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

.site-header a, .site-footer a, .wp-block-heading a, .wp-block-post-title a {
		-webkit-text-decoration: underline;
		text-decoration: underline;
		text-decoration-color: transparent;
		text-decoration-thickness: 0.0625em;
		text-underline-offset: 0.075em;
		transition: text-decoration-color var(--speed-fast) ease-in-out;
	}

.site-header a:hover, .site-footer a:hover, .wp-block-heading a:hover, .wp-block-post-title a:hover {
			text-decoration-color: currentcolor;
		}

/* --- Elements --- */

sup {
	color: var(--wp--preset--color--accent-gold);
	line-height: 1;
}

[id] {
	scroll-margin-top: calc(var(--top-offset) + 100px + var(--wp--preset--spacing--30));
}

/* --- Heading block styles --- */

.is-style-wrap-pretty {
	text-wrap: pretty;
}

.is-style-wrap-balance {
	text-wrap: balance;
}

/* --- Paragrpah link style --- */

.is-style-special-link a {
		font-weight: 600;
		text-decoration-color: transparent;
	}

.is-style-special-link a:hover {
			text-decoration-color: currentcolor;
		}

/* --- Cover block / Hero --- */

.wp-block-cover.is-hero {
	min-height: 560px;
}

.wp-block-cover.is-hero .wp-block-cover__inner-container {
		margin-inline: auto !important;
		width: 100% !important;
		max-width: var(--wider-size);
	}

.wp-block-cover.is-hero .wp-block-cover__inner-container > * {
			width: 85% !important;
			max-width: 990px;
		}

@media (max-width: 37.5em) {

.wp-block-cover.is-hero .wp-block-cover__inner-container > * {
				width: 100% !important
		}
			}

.wp-block-cover.is-hero.is-position-center-left .wp-block-cover__inner-container > *, .wp-block-cover.is-hero.is-position-top-left .wp-block-cover__inner-container > *, .wp-block-cover.is-hero.is-position-bottom-left .wp-block-cover__inner-container > * {
			margin-left: 0 !important;
		}

.wp-block-cover.is-hero.is-position-center-right .wp-block-cover__inner-container > *, .wp-block-cover.is-hero.is-position-top-right .wp-block-cover__inner-container > *, .wp-block-cover.is-hero.is-position-bottom-right .wp-block-cover__inner-container > * {
			margin-right: 0 !important;
		}

@media (max-width: 37.5em) {

.wp-block-cover.is-hero {
		min-height: 400px
}

		.wp-block-cover.is-hero h1 {
			font-size: 1.75rem;
			font-weight: 400;
			line-height: 1.3;
			margin-block: 1em;
		}

		.wp-block-cover.is-hero .is-style-eyebrow {
			font-size: 0.875rem;
		}

		.wp-block-cover.is-hero .wp-block-button__link {
			font-size: 0.875rem;
		}
	}

.podcast-hero .wp-block-image img {
			width: 100%;
		}

@media (max-width: 781px) {

.podcast-hero .wp-block-image {
			max-width: 200px
	}
		}

@media (max-width: 781px) {

		.podcast-hero .wp-block-columns > .wp-block-column:last-of-type {
			order: -1;
		}
	}

/* --- Group block --- */

/* Position sticky */

.is-position-sticky {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--position-offset, 0) + var(--site-header-height) + var(--wp--preset--spacing--30));
}

/* Heart backgrounds */

.is-style-heart-bg-1 {
	position: relative;
	overflow-x: clip;
}

.is-style-heart-bg-1::before {
		content: "";
		background-color: var(--wp--preset--color--accent-gold);
		-webkit-mask-image: url(./assets/img/overlapping-heart-outline-thin.svg);
		        mask-image: url(./assets/img/overlapping-heart-outline-thin.svg);
		-webkit-mask-size: contain;
		        mask-size: contain;
		-webkit-mask-position: top left;
		        mask-position: top left;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		position: absolute;
		top: calc(var(--wp--preset--spacing--60) * -1);
		bottom: 0;
		left: 50%;
		transform: translateX(-80%);
		width: 60%;
		min-width: 300px;
		max-width: 820px;
		z-index: -1;
	}

/* Common styles for heart backgrounds */

.is-style-heart-bg-2,
.is-style-heart-bg-3,
.is-style-heart-bg-4 {
	position: relative;
	overflow-x: clip;
}

.is-style-heart-bg-2::before,
	.is-style-heart-bg-2::after,
	.is-style-heart-bg-3::before,
	.is-style-heart-bg-3::after,
	.is-style-heart-bg-4::before,
	.is-style-heart-bg-4::after {
		content: "";
		background: linear-gradient(
			to bottom,
			var(--wp--preset--color--accent-gold) 0%,
			var(--wp--preset--color--accent-gold) 50%,
			color-mix(in srgb, var(--wp--preset--color--accent-gold) 20%, #fff) 50%,
			color-mix(in srgb, var(--wp--preset--color--accent-gold) 20%, #fff) 100%
		);
		background-size: 100% 200%;
		background-position: 0 100%;
		-webkit-mask-image: url(./assets/img/overlapping-heart-outline-thin.svg);
		        mask-image: url(./assets/img/overlapping-heart-outline-thin.svg);
		-webkit-mask-size: contain;
		        mask-size: contain;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		position: absolute;
		z-index: -1;
	}

.is-style-heart-bg-2.inview::before,
	.is-style-heart-bg-2.inview::after,
	.is-style-heart-bg-3.inview::before,
	.is-style-heart-bg-3.inview::after,
	.is-style-heart-bg-4.inview::before,
	.is-style-heart-bg-4.inview::after {
		background-position: 0 0;
	}

/* Specific styles for heart-bg-2 */

.is-style-heart-bg-2::before,
	.is-style-heart-bg-2::after {
		top: calc(var(--wp--preset--spacing--60) * -1);
		bottom: 0;
		transition: background-position 3s cubic-bezier(0.3, 0, 0.1, 1);
	}

.is-style-heart-bg-2::before {
		left: -18%;
		width: 55%;
	}

.is-style-heart-bg-2::after {
		top: calc(var(--wp--preset--spacing--120) * -1);
		right: -28%;
		bottom: calc(var(--wp--preset--spacing--90) * -1);
		width: 75%;
		z-index: -1;
	}

/* Specific styles for heart-bg-3 */

.is-style-heart-bg-3::before,
	.is-style-heart-bg-3::after {
		top: calc(var(--wp--preset--spacing--120) * -1);
		bottom: 0;
		min-width: 300px;
		transition: background-position 3s cubic-bezier(0.3, 0, 0.1, 1);
	}

.is-style-heart-bg-3::before {
		left: 0;
		width: 45%;
		transform: translate(-27%, -3%) rotate(-3deg) scaleX(-1);
	}

.is-style-heart-bg-3::after {
		bottom: calc(var(--wp--preset--spacing--120) * -1);
		left: 40%;
		width: 130%;
		transform: translate(6%, -9%) rotate(6deg);
		z-index: -1;
	}

/* Specific styles for heart-bg-4 */

.is-style-heart-bg-4::before,
	.is-style-heart-bg-4::after {
		top: 40%;
		bottom: 0;
		min-width: 300px;
		transition: background-position 3s cubic-bezier(0.3, 0, 0.1, 1);
	}

.is-style-heart-bg-4::before {
		top: 50%;
		left: -10%;
		width: 50%;
	}

.is-style-heart-bg-4::after {
		right: -28%;
		width: 75%;
		z-index: -1;
	}

/* --- Hanging heart --- */

.is-style-hanging-heart {
	position: relative;
	overflow-x: clip;
}

.is-style-hanging-heart::before {
		content: "";
		background: linear-gradient(
			90deg,
			var(--wp--preset--color--accent-gold) 0%,
			var(--wp--preset--color--accent-gold) 40%,
			var(--wp--preset--color--accent-gold) 60%,
			color-mix(in srgb, var(--wp--preset--color--accent-gold) 15%, #fff) 80%,
			color-mix(in srgb, var(--wp--preset--color--accent-gold) 15%, #fff) 100%
		);
		background-size: 330% 100%;
		background-position: 70% center;
		-webkit-mask-image: url(./assets/img/overlapping-heart-outline-thin.svg);
		        mask-image: url(./assets/img/overlapping-heart-outline-thin.svg);
		-webkit-mask-size: contain;
		        mask-size: contain;
		-webkit-mask-position: top right;
		        mask-position: top right;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		position: absolute;
		top: calc(var(--wp--preset--spacing--30) * -1);
		right: 65%;
		bottom: calc(var(--wp--preset--spacing--200) * -1);
		width: 150%;
		transition: background-position 1.5s ease-out;
		z-index: -1;
	}

/* When in view, slide gradient to reveal full gold */

.is-style-hanging-heart.inview::before {
		background-position: left center;
	}

/* --- Columns block / Overlap --- */

@media (min-width: 782px) {

			.is-style-overlap .wp-block-column:not(:first-of-type):not(:last-of-type) {
				margin-inline: calc(var(--wp--preset--spacing--20) * -1);
			}

				.is-style-overlap .wp-block-column:not(:first-of-type):not(:last-of-type) > .wp-block-group {
					padding-inline: calc(var(--wp--preset--spacing--90) - 2px)!important;
				}

			.is-style-overlap .wp-block-column:first-of-type {
				margin-inline: 0 calc(var(--wp--preset--spacing--40) * -1);
			}

				.is-style-overlap .wp-block-column:first-of-type > .wp-block-group {
					padding-right: var(--wp--preset--spacing--90) !important;
				}

			.is-style-overlap .wp-block-column:last-of-type {
				margin-inline: calc(var(--wp--preset--spacing--40) * -1) 0;
			}

				.is-style-overlap .wp-block-column:last-of-type > .wp-block-group {
					padding-left: var(--wp--preset--spacing--90) !important;
				}
	}

@media (max-width: 781px) {

		.is-style-overlap .wp-block-column {
			padding-top: 0 !important;
		}
	}

/* --- Heading block, paragraph block / Eyebrow --- */

.is-style-eyebrow {
	font-size: var(--wp--preset--font-size--heading-four);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* --- Buttons --- */

.wp-block-button {

	/* Arrow variation */
}

.wp-block-button:not(:is(.is-style-arrow, .is-style-arrow-down)) .wp-block-button__link {
		display: block;
		line-height: 1;
		overflow: hidden;
		position: relative;
		z-index: 1;
	}

.wp-block-button:not(:is(.is-style-arrow, .is-style-arrow-down)) .wp-block-button__link:hover {
			color: var(--wp--preset--color--contrast) !important;
			transition: color var(--speed-fast) ease-in-out;
		}

.site-main .wp-block-button:not(:is(.is-style-arrow, .is-style-arrow-down)) .wp-block-button__link:focus {
				outline: 3px solid var(--wp--preset--color--contrast);
				outline-offset: 2px;
			}

.has-dark-blue-background-color .wp-block-button:not(:is(.is-style-arrow, .is-style-arrow-down)) .wp-block-button__link:focus {
				outline-color: var(--wp--preset--color--base);
			}

.wp-block-button:not(:is(.is-style-arrow, .is-style-arrow-down)) .wp-block-button__link::before {
			content: "";
			aspect-ratio: 1 / 1;
			background-color: var(--wp--preset--color--accent-gold);
			border-radius: 50%;
			height: 0;
			opacity: 0;
			position: absolute;
			transition: width var(--speed) ease-in-out, height var(--speed) ease-in-out, opacity var(--speed) ease-in-out;
			transform: translate(-50%, -50%);
			width: 0;
			z-index: -1;
		}

.wp-block-button:not(:is(.is-style-arrow, .is-style-arrow-down)) .wp-block-button__link:hover::before {
			height: auto;
			left: var(--left);
			top: var(--top);
			width: 300%;
			opacity: 1;
		}

.wp-block-button.is-style-arrow .wp-block-button__link, .wp-block-button.is-style-arrow-down .wp-block-button__link {
			align-items: center;
			background-color: transparent;
			border: none;
			color: inherit;
			font-size: 0.875rem;
			font-weight: 700;
			letter-spacing: 0.1em;
			padding: 0 1em 0 0;
			position: relative;
			text-align: left;
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-decoration-color: transparent;
			text-decoration-thickness: 0.0625em;
			text-underline-offset: 0.125em;
			transition: text-decoration-color var(--speed) ease-in-out;
		}

.wp-block-button.is-style-arrow .wp-block-button__link::after, .wp-block-button.is-style-arrow-down .wp-block-button__link::after {
				content: "";
				background-color: var(--wp--preset--color--accent-gold);
				flex-shrink: 0;
				height: 1.5em;
				margin-left: 0.5em;
				-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
				        mask-image: url(./assets/img/icon-arrow-right.svg);
				-webkit-mask-position: center;
				        mask-position: center;
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: contain;
				        mask-size: contain;
				position: absolute;
				width: 0.57em;
				transition: all var(--speed) ease-in-out;
			}

.wp-block-button.is-style-arrow .wp-block-button__link:hover, .wp-block-button.is-style-arrow-down .wp-block-button__link:hover {
				text-decoration-color: currentcolor;
			}

.wp-block-button.is-style-arrow .wp-block-button__link:hover::after, .wp-block-button.is-style-arrow-down .wp-block-button__link:hover::after {
					background-color: currentcolor;
					transform: translateX(0.125em);
				}

.wp-block-button.is-style-arrow .wp-block-button__link:focus, .wp-block-button.is-style-arrow-down .wp-block-button__link:focus {
				outline: 3px solid currentcolor;
				outline-offset: 1em;
			}

.has-dark-blue-background-color .wp-block-button.is-style-arrow .wp-block-button__link:hover::after, .has-dark-blue-background-color .wp-block-button.is-style-arrow-down .wp-block-button__link:hover::after {
					background-color: var(--wp--preset--color--accent-blue);
				}

.has-accent-green-background-color .wp-block-button.is-style-arrow .wp-block-button__link::after, .has-accent-green-background-color .wp-block-button.is-style-arrow-down .wp-block-button__link::after {
					background-color: currentcolor;
				}

.wp-block-button.is-style-arrow-down .wp-block-button__link::after {
				-webkit-mask-image: url(./assets/img/icon-arrow-down.svg);
				        mask-image: url(./assets/img/icon-arrow-down.svg);
				width: 0.8em;
			}

.wp-block-button.is-style-arrow-down .wp-block-button__link:hover::after {
					transform: translateX(0) translateY(0.125em);
				}

/* --- VideoPress --- */

.jetpack-videopress-player__wrapper {
	position: relative;
	width: 100%;
}

.jetpack-videopress-player__wrapper iframe {
		aspect-ratio: 16 / 9;
		border: none;
		display: block;
		height: auto;
		width: 100%;
	}

/* --- Lists --- */

.wp-block-list {
	list-style: none;
	padding-left: 0;
}

.wp-block-list:is(ul, ol) li {
			padding-left: 1.2em;
			position: relative;
		}

.wp-block-list:is(ul, ol) li::before {
				content: "";
				height: 1lh;
				position: absolute;
				left: 0.1em;
				top: 0;
			}

.wp-block-list:is(ul) li::before {
				background: currentcolor;
				border-radius: 50%;
				margin-right: 0.5em;
				height: 0.25lh;
				width: 0.25lh;
				top: 0.5lh;
				transform: translateY(-50%);
			}

.wp-block-list:is(ol) > li {
			counter-increment: list-counter;
			padding-left: 1.65em;
		}

.wp-block-list:is(ol) > li::before {
				content: counter(list-counter) ".";
				font-weight: 600;
				left: 0;
				text-align: center;
				width: 1.5em;
			}

.is-style-no-bullets:is(ul, ol) {
	list-style: none;
	padding-left: 0;
}

.is-style-no-bullets:is(ul, ol) li {
		padding-left: 0;
	}

.is-style-no-bullets:is(ul, ol) li::before {
			display: none;
		}

/* --- Post terms --- */

.wp-block-post-terms.is-style-no-link a {
		pointer-events: none;
		-webkit-text-decoration: none;
		text-decoration: none;
	}

/* --- Show/hide section --- */

.wp-block-happyprime-show-hide-section {
	--left-padding: 2rem;
	padding-left: var(--left-padding);
}

.wp-block-happyprime-show-hide-section + .wp-block-happyprime-show-hide-section {
		border-top: 3px solid var(--wp--preset--color--accent-gold);
	}

.single-product .wp-block-happyprime-show-hide-section {
		padding-left: 0;
	}

.single-product .wp-block-happyprime-show-hide-section .wp-block-happyprime-show-hide-summary {
			margin-left: 0;
		}

.wp-block-happyprime-show-hide-summary {
	cursor: pointer;
	gap: var(--wp--preset--spacing--30);
	margin-left: calc(var(--left-padding) * -1);
	list-style: none;
	-webkit-appearance: none;
	padding-left: var(--left-padding);
	position: relative;
}

.wp-block-happyprime-show-hide-summary::-webkit-details-marker {
		display: none;
	}

.wp-block-happyprime-show-hide-summary::before {
		content: "";
		background-color: currentcolor;
		flex-shrink: 0;
		-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
		        mask-image: url(./assets/img/icon-arrow-right.svg);
		-webkit-mask-size: contain;
		        mask-size: contain;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-position: center;
		        mask-position: center;
		position: absolute;
		top: 0;
		left: 0;
		height: 1lh;
		transition: background-color var(--speed) ease-in-out;
		width: 0.5em;
	}

.wp-block-happyprime-show-hide-section[open] .wp-block-happyprime-show-hide-summary::before {
			transform: rotate(90deg);
		}

.wp-block-happyprime-show-hide-summary:hover {
		color: currentcolor;
	}

.wp-block-happyprime-show-hide-summary:hover::before {
			background-color: var(--wp--preset--color--accent-gold);
		}

/* --- Board member card and modal --- */

.has-open-modal {
	overflow: hidden;
}

.board-member-modal {
	background: none;
	border: none;
	padding: 0;
}

.is-layout-grid .board-member-modal {
		margin: auto;
	}

.board-member-modal:focus {
		outline: none;
	}

.board-member-modal::backdrop {
		background-color: rgb(from var(--wp--preset--color--contrast) r g b / 0.8);
	}

.board-member-modal .is-style-modal-close .wp-element-button {
		all: unset;
		cursor: pointer;
		display: block;
		overflow: hidden;
		height: var(--wp--preset--spacing--30);
		width: var(--wp--preset--spacing--30);
	}

.board-member-modal .is-style-modal-close .wp-element-button::before {
			content: "";
			background-color: currentcolor;
			display: block;
			-webkit-mask-image: url(./assets/img/icon-close.svg);
			        mask-image: url(./assets/img/icon-close.svg);
			-webkit-mask-size: contain;
			        mask-size: contain;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-position: center;
			        mask-position: center;
			height: var(--wp--preset--spacing--30);
			width: var(--wp--preset--spacing--30);
			transition: background-color var(--speed) ease-in-out;
		}

.board-member-modal .is-style-modal-close .wp-element-button:hover::before {
			background-color: var(--wp--preset--color--base);
		}

.board-member-modal .is-style-modal-close .wp-element-button::after {
			content: none;
		}

.board-member-modal .wp-block-columns {
		align-items: center;
	}

.board-member-modal .wp-block-image img {
			filter: grayscale(100%) contrast(105%) brightness(110%);
			height: 100%;
			object-fit: cover;
			width: 100%;
		}

.board-member-modal .name-and-title {
		font-size: var(--wp--preset--font-size--heading-three);
		font-weight: 800;
		line-height: 1.3;
	}

/* --- Board member cards and layout --- */

.people-card-layout {
	row-gap: var(--wp--preset--spacing--140);
}

.board-member-card {
	height: 100%;
}

.board-member-card .wp-block-image {
		aspect-ratio: 2 / 3;
		cursor: pointer;
	}

.board-member-card .wp-block-image img {
			filter: grayscale(100%) contrast(105%) brightness(110%);
			height: 100%;
			object-fit: cover;
			width: 100%;
		}

/* --- News card --- */

.news-card .wp-block-post-terms a {
		text-decoration-color: transparent;
		text-decoration-thickness: 0.0625em;
		text-underline-offset: 0.125em;
		transition: text-decoration-color var(--speed) ease-in-out;
	}

.news-card .wp-block-post-terms a:hover {
			text-decoration-color: currentcolor;
		}

/* --- Podcast transcript --- */

.transcript-wrapper {
	position: relative;
	margin-top: var(--wp--preset--spacing--30);
}

.transcript-wrapper .is-transcript-toggle-button:has([aria-expanded="false"]) {
		bottom: 0;
		left: 0;
		position: absolute;
		right: 0;
	}

.transcript-wrapper .is-transcript-toggle-button:not(:has([aria-expanded="false"])) {
		margin-bottom: var(--wp--preset--spacing--30);
	}

.transcript-wrapper .is-transcript[aria-hidden="true"] {
		height: 400px;
		-webkit-mask-image: linear-gradient(to bottom, #000, transparent);
		        mask-image: linear-gradient(to bottom, #000, transparent);
		overflow: hidden;
	}

/* --- Social sharing --- */

.is-jhf-social-sharing .wp-social-link-chain {
		position: relative;
	}

.is-jhf-social-sharing .wp-social-link-chain .message {
			display: none;
			font-size: var(--wp--preset--font-size--medium);
			font-weight: 400px;
			position: absolute;
			width: max-content;
			z-index: 1;
		}

.is-jhf-social-sharing .wp-social-link-chain .message.is-displayed {
				animation-delay: 0.5s;
				animation-duration: 1s;
				animation-fill-mode: forwards;
				animation-name: copiedNoticeFadeOut;
				display: block;
				opacity: 1;
			}

@keyframes copiedNoticeFadeOut {

	0% {
		opacity: 1;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

/* --- 404 page --- */

.error404 .is-style-heart-bg-1::before {
		left: 40%;
	}

/* --- Search --- */

.wp-block-search .wp-block-search__label {
		font-weight: 400;
		margin-bottom: var(--wp--preset--spacing--10);
	}

.wp-block-search .wp-block-search__button {
		display: block;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 0.1em;
		line-height: 1;
		overflow: hidden;
		position: relative;
		text-transform: uppercase;
		z-index: 1;
	}

.wp-block-search .wp-block-search__button:hover {
			color: var(--wp--preset--color--contrast) !important;
			transition: color var(--speed-fast) ease-in-out;
		}

.wp-block-search .wp-block-search__button:focus {
			outline: 3px solid var(--wp--preset--color--contrast);
			outline-offset: 2px;
		}

.has-dark-blue-background-color .wp-block-search .wp-block-search__button:focus {
				outline-color: var(--wp--preset--color--base);
			}

.wp-block-search .wp-block-search__button::before {
			content: "";
			aspect-ratio: 1 / 1;
			background-color: var(--wp--preset--color--accent-gold);
			border-radius: 50%;
			height: 0;
			opacity: 0;
			position: absolute;
			transition: width var(--speed) ease-in-out, height var(--speed) ease-in-out, opacity var(--speed) ease-in-out;
			transform: translate(-50%, -50%);
			width: 0;
			z-index: -1;
		}

.wp-block-search .wp-block-search__button:hover::before {
			height: auto;
			left: var(--left);
			top: var(--top);
			width: 300%;
			opacity: 1;
		}

/* --- Toggle block --- */

.wp-block-happyprime-toggle-block {
	cursor: pointer;
	text-align: left;
}

.wp-block-happyprime-toggle-block.is-style-line-behind {
		background-color: transparent;
		border: none;
		color: currentcolor;
		display: flex;
		justify-content: center;
		position: relative;
		text-align: center;
		text-transform: uppercase;
		width: 100%;
	}

.wp-block-happyprime-toggle-block.is-style-line-behind::after {
			content: "";
			background-color: var(--wp--preset--color--accent-gold);
			height: 3px;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			width: 100%;
			z-index: -1;
		}

.wp-block-happyprime-toggle-block.is-style-line-behind span {
			background-color: var(--wp--preset--color--base);
			display: flex;
			gap: var(--wp--preset--spacing--30);
			padding-inline: var(--wp--preset--spacing--25);
		}

.wp-block-happyprime-toggle-block.is-style-line-behind span::before {
				content: "";
				background-color: currentcolor;
				-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
				        mask-image: url(./assets/img/icon-arrow-right.svg);
				-webkit-mask-size: contain;
				        mask-size: contain;
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-position: center;
				        mask-position: center;
				height: 1lh;
				width: 0.75em;
			}

.wp-block-happyprime-toggle-block.is-style-line-behind[aria-expanded="true"] span::before {
				transform: rotate(90deg);
			}

.wp-block-happyprime-toggle-block.is-style-toggle-buttonized {
		background-color: transparent;
		border: none;
		color: currentcolor;
		display: flex;
		font-weight: 600;
		letter-spacing: 0.1em;
		gap: 0.5em;
		padding: 0;
		-webkit-text-decoration: underline;
		text-decoration: underline;
		text-decoration-color: transparent;
		text-decoration-thickness: 0.0625em;
		text-underline-offset: 0.125em;
		text-transform: uppercase;
		transition: text-decoration-color var(--speed) ease-in-out;
	}

.wp-block-happyprime-toggle-block.is-style-toggle-buttonized:hover {
			text-decoration-color: currentcolor;
		}

.wp-block-happyprime-toggle-block.is-style-toggle-buttonized:hover::after {
				background-color: var(--wp--preset--color--accent-blue);
			}

.wp-block-happyprime-toggle-block.is-style-toggle-buttonized::after {
			content: "";
			background-color: var(--wp--preset--color--accent-gold);
			-webkit-mask-image: url(./assets/img/icon-arrow-down.svg);
			        mask-image: url(./assets/img/icon-arrow-down.svg);
			-webkit-mask-size: contain;
			        mask-size: contain;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-position: center;
			        mask-position: center;
			height: 1lh;
			width: 0.75em;
			transition: background-color var(--speed) ease-in-out;
		}

.wp-block-happyprime-toggle-block.is-style-toggle-buttonized[aria-expanded="true"]::after {
				transform: rotate(180deg);
			}

.wp-block-happyprime-toggle-block.is-style-solid-button {
		background-color: var(--wp--preset--color--contrast);
		border: 1px solid var(--wp--preset--color--contrast);
		color: var(--wp--preset--color--base);
		font-weight: 600;
		letter-spacing: 0.1em;
		padding: calc(0.667em + 2px) calc(1.333em + 2px);
		text-transform: uppercase;
		transition: all var(--speed) ease-in-out;
	}

.wp-block-happyprime-toggle-block.is-style-solid-button:hover {
			background-color: var(--wp--preset--color--accent-gold);
			color: var(--wp--preset--color--contrast);
		}

/* --- Event block --- */

p:has(> .jhf-event-day) {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 0 var(--wp--preset--spacing--10);
}

.jhf-event-day {
	font-weight: 700;
}

.jhf-event-time {
	text-transform: uppercase;
}

/* --- Heartshop --- */

.heartshop-layout .wp-block-post-template {
		display: flex;
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--50);
		margin: 0;
		justify-content: center;
	}

.heartshop-layout .wp-block-post-template > * {
			margin: 0;
			flex: 0 0 calc(33.333% - var(--wp--preset--spacing--50));
			max-width: calc(33.333% - var(--wp--preset--spacing--50));
		}

@media (max-width: 37.5em) {

.heartshop-layout .wp-block-post-template {
			flex-direction: column;
			gap: var(--wp--preset--spacing--30)
	}

			.heartshop-layout .wp-block-post-template > * {
				flex: 0 0 100%;
				max-width: 100%;
			}
		}

@media (max-width: 781px) {

.event-group-with-image {
		flex-direction: column !important
}
	}

.heartshop-card {
	background-color: var(--wp--preset--color--white);
	display: flex;
	min-height: 400px;
	margin: 0;
	position: relative;
}

.heartshop-card > * {
		height: 100%;
		min-height: 0;
		padding: 0;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}

.heartshop-card .wp-block-cover__inner-container {
		height: 100%;
		width: 100%;
	}

.heartshop-card .card-title {
		margin: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		opacity: 1;
		visibility: visible;
		transition: opacity var(--speed) ease-in-out, visibility var(--speed) ease-in-out;
	}

.heartshop-card .card-content {
		align-items: center;
		color: var(--wp--preset--color--base);
		display: flex;
		margin: 0;
		padding: var(--wp--preset--spacing--50);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		visibility: hidden;
		transition: opacity var(--speed) ease-in-out, visibility var(--speed) ease-in-out;
	}

.heartshop-card .card-content .wp-block-post-content {
			width: 100%;
		}

.heartshop-card .card-content::before {
			content: "";
			background-color: var(--wp--preset--color--dark-blue-90);
			height: 100%;
			width: 100%;
			position: absolute;
			top: 0;
			left: 0;
			z-index: -1;
		}

.heartshop-card:hover .card-title {
			opacity: 0;
			visibility: hidden;
		}

.heartshop-card:hover .card-content {
			opacity: 1;
			visibility: visible;
		}

@media (max-width: 37.5em) {

.heartshop-card {
		min-height: 300px
}
	}

.wp-block-jhf-product > * {
		margin-block: var(--wp--preset--spacing--30);
	}

.wp-block-jhf-product .jhf-product-vendor a {
		text-decoration-color: transparent;
	}

.wp-block-jhf-product .jhf-product-vendor a:hover {
			text-decoration-color: currentcolor;
		}

.wp-block-jhf-product .jhf-product-purchase-button {
		max-width: max-content;
	}

.wp-block-jhf-product .jhf-product-purchase-button .wp-block-button__link {
			align-items: center;
			display: flex;
			gap: var(--wp--preset--spacing--10);
		}

.wp-block-jhf-product .jhf-product-purchase-button .wp-block-button__link::after {
				content: "";
				background-color: var(--wp--preset--color--accent-gold);
				-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
				        mask-image: url(./assets/img/icon-arrow-right.svg);
				-webkit-mask-size: contain;
				        mask-size: contain;
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-position: center;
				        mask-position: center;
				height: 1lh;
				width: 0.57em;
			}

.wp-block-jhf-product .jhf-product-purchase-button .wp-block-button__link:hover::after {
				background-color: var(--wp--preset--color--contrast);
			}

.wp-block-gallery.is-style-no-wrap-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--20);
}

.wp-block-gallery.is-style-no-wrap-gallery > .wp-block-image {
		width: 100% !important;
	}

/* --- Heartshop featured carousel --- */

.featured-heartshop-items > .wp-block-post {
		width: 100%;
	}

.featured-heartshop-items .heartshop-featured-card {
		min-height: 70vh;
		height: 100%;
	}

@media (max-width: 37.5em) {

.featured-heartshop-items .heartshop-featured-card {
			padding-inline: var(--wp--preset--spacing--60) !important
	}
		}

.featured-heartshop-items .heartshop-featured-card .wp-block-cover__image-background {
			object-position: center right;
		}

.featured-heartshop-items .heartshop-featured-card .featured-card-details {
			display: -webkit-box;
			-webkit-line-clamp: 3;
			-webkit-box-orient: vertical;
			overflow: hidden;
		}

.featured-heartshop-items .heartshop-featured-product .wp-block-gallery {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: var(--wp--preset--spacing--20);
			max-height: 175px;
			max-width: 678px;
		}

.featured-heartshop-items .heartshop-featured-product .wp-block-gallery .wp-block-image {
				aspect-ratio: 4 / 3;
				height: 100% !important;
				width: auto !important;
			}

.wp-block-wpcomsp-carousel.center-middle-nav:has(.wp-block-post-template li:only-child) .wp-block-wpcomsp-carousel-nav {
				display: none;
			}

.wp-block-wpcomsp-carousel.center-middle-nav .wp-block-wpcomsp-carousel-nav {
			justify-content: space-between;
			pointer-events: none;
			position: absolute;
			top: 0;
			left: var(--wp--preset--spacing--30);
			right: var(--wp--preset--spacing--30);
			height: 100%;
			width: auto;
			z-index: 1;
		}

@media (max-width: 37.5em) {

.wp-block-wpcomsp-carousel.center-middle-nav .wp-block-wpcomsp-carousel-nav {
				left: var(--wp--preset--spacing--10);
				right: var(--wp--preset--spacing--10)
		}
			}

.wp-block-wpcomsp-carousel.center-middle-nav .wp-block-wpcomsp-carousel-nav--button {
			background-color: var(--wp--preset--color--contrast);
			border-radius: 100%;
			pointer-events: auto;
		}

.wp-block-wpcomsp-carousel.center-middle-nav .wp-block-wpcomsp-carousel-nav--button[aria-disabled="true"] {
				pointer-events: none;
			}

@media (max-width: 37.5em) {

.wp-block-wpcomsp-carousel.center-middle-nav .wp-block-wpcomsp-carousel-nav--button {
				height: var(--wp--preset--spacing--40);
				padding: var(--wp--preset--spacing--10);
				width: var(--wp--preset--spacing--40)
		}
			}

.wp-block-wpcomsp-carousel.center-middle-nav .wp-block-wpcomsp-carousel-nav--button svg {
				display: none;
			}

.wp-block-wpcomsp-carousel.center-middle-nav .wp-block-wpcomsp-carousel-nav--button::after {
				content: "";
				background-color: var(--wp--preset--color--base);
				-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
				        mask-image: url(./assets/img/icon-arrow-right.svg);
				-webkit-mask-size: contain;
				        mask-size: contain;
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-position: center;
				        mask-position: center;
				height: 1rem;
				width: 1rem;
				transform: translateX(15%);
				transition: background-color var(--speed) ease-in-out;
			}

.wp-block-wpcomsp-carousel.center-middle-nav .wp-block-wpcomsp-carousel-nav--button.wp-block-wpcomsp-carousel-nav--button_prev::after {
				-webkit-mask-image: url(./assets/img/icon-arrow-left.svg);
				        mask-image: url(./assets/img/icon-arrow-left.svg);
				transform: translateX(-15%);
			}

.wp-block-wpcomsp-carousel.center-middle-nav .wp-block-wpcomsp-carousel-nav--button:hover::after {
				background-color: var(--wp--preset--color--accent-gold);
			}

.carousel-three-up > .wp-block-post {
		flex: 0 0 calc((100% - 2 * var(--wp--preset--spacing--50)) / 3);
		min-width: 175px;
	}

/* Heartshop banner */

.heartshop-banner a {
		align-items: center;
		display: inline-flex;
		font-weight: 700;
		gap: 0.5em;
		text-decoration-color: transparent;
	}

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

.heartshop-banner a:hover::after {
				background-color: var(--wp--preset--color--accent-blue);
			}

.heartshop-banner a::after {
			content: "";
			background-color: currentcolor;
			margin-bottom: 0.125em;
			-webkit-mask-image: url(./assets/img/icon-heartshop-simple.svg);
			        mask-image: url(./assets/img/icon-heartshop-simple.svg);
			-webkit-mask-position: center;
			        mask-position: center;
			-webkit-mask-size: contain;
			        mask-size: contain;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			height: 1lh;
			width: 1.25em;
			transition: background-color var(--speed) ease-in-out;
		}

.heartshop-page .heartshop-banner a {
			text-decoration-color: transparent;
		}

.heartshop-page .heartshop-banner a:hover {
				text-decoration-color: currentcolor;
			}

/* --- HRH banner --- */

@media (min-width: 1121px) {

.hrh-head-banner {
		position: sticky;
		top: calc(var(--wp-admin--admin-bar--height) + var(--site-header-sticky-height));
		z-index: 10
}
	}

.hrh-banner a {
		font-weight: 700;
		text-decoration-color: transparent;
	}

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

/* --- Pagination --- */

.wp-block-query-pagination a {
		text-decoration-color: transparent;
	}

.wp-block-query-pagination a:hover {
			text-decoration-color: currentcolor;
		}

.wp-block-query-pagination-numbers {
	display: flex;
	justify-content: center;
	gap: var(--wp--preset--spacing--20);
}

.wp-block-query-pagination-numbers .current {
		font-weight: 900;
		-webkit-text-decoration: underline;
		text-decoration: underline;
		text-decoration-thickness: 0.0625em;
		text-underline-offset: 0.125em;
		text-decoration-color: currentcolor;
	}

.wp-block-post-terms.has-background.term-joyful-heart,
	.wp-block-post-terms.has-background.term-brand-collection {
		background-color: var(--wp--preset--color--accent-gold) !important;
		color: var(--wp--preset--color--contrast);
	}

.wp-block-post-terms.has-background.term-joyful-heart a, .wp-block-post-terms.has-background.term-brand-collection a {
			color: inherit;
		}

/* --- File block link --- */

.wp-block-file.is-style-simple-link .wp-block-file__button {
			align-items: center;
			background-color: transparent;
			border: none;
			color: inherit;
			font-size: 0.875rem;
			font-weight: 700;
			letter-spacing: 0.1em;
			padding: 0 1em 0 0;
			position: relative;
			text-align: left;
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-decoration-color: transparent;
			text-decoration-thickness: 0.0625em;
			text-underline-offset: 0.125em;
			text-transform: uppercase;
			transition: text-decoration-color var(--speed) ease-in-out;
		}

.wp-block-file.is-style-simple-link .wp-block-file__button::after {
				content: "";
				background-color: var(--wp--preset--color--accent-gold);
				flex-shrink: 0;
				height: 1.5em;
				margin-left: 0.5em;
				-webkit-mask-image: url(./assets/img/icon-arrow-down.svg);
				        mask-image: url(./assets/img/icon-arrow-down.svg);
				-webkit-mask-position: center;
				        mask-position: center;
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: contain;
				        mask-size: contain;
				position: absolute;
				width: 0.8em;
				transition: all var(--speed) ease-in-out;
			}

.wp-block-file.is-style-simple-link .wp-block-file__button:hover {
				text-decoration-color: currentcolor;
			}

.wp-block-file.is-style-simple-link .wp-block-file__button:hover::after {
					background-color: currentcolor;
					transform: translateX(0) translateY(0.125em);
				}

.wp-block-file.is-style-simple-link .wp-block-file__button:focus {
				outline: 3px solid currentcolor;
				outline-offset: 1em;
			}

.has-dark-blue-background-color .wp-block-file.is-style-simple-link .wp-block-file__button:hover::after {
					background-color: var(--wp--preset--color--accent-blue);
				}

.has-accent-green-background-color .wp-block-file.is-style-simple-link .wp-block-file__button::after {
					background-color: currentcolor;
				}

/* --- Featured cards --- */

.current-highlights:has(.featured-posts-landing:empty) {
	display: none;
}

.featured-posts-landing ul {
		display: flex;
		flex-wrap: nowrap;
		gap: var(--wp--preset--spacing--80);
	}

@media (max-width: 56.25em) {

.featured-posts-landing ul {
			flex-wrap: wrap
	}

			.featured-posts-landing ul > * {
				min-width: 300px;
			}
		}

.featured-posts-landing ul:has(li:nth-child(3):last-child) {
			gap: var(--wp--preset--spacing--50);
		}

@media (min-width: 56.251em) {

					.featured-posts-landing ul:has(li:nth-child(3):last-child) > *:nth-of-type(2n){
						margin-top: var(--wp--preset--spacing--80);
					}
				}

.featured-posts-landing ul > * {
			container-type: inline-size;
			flex: 1;
			flex-shrink: 0;
			margin-top: 0;
		}

.featured-posts-landing ul .wp-block-post-title {
			font-size: clamp(2rem, 0.705rem + 5.181cqi, 2.625rem) !important;
		}

.featured-posts-landing li {
		container-type: inline-size;
		container-name: default-card;
	}

@container default-card (min-width: 800px) {

		.featured-posts-landing .featured-card-default,
		.featured-posts-landing .featured-card-webinar,
		.featured-posts-landing .featured-card-product,
		.featured-posts-landing .featured-card-resource-item {
			align-items: center;
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--80);
			padding-right: var(--wp--preset--spacing--60) !important;

		}

		.featured-posts-landing .wp-block-post-title {
			margin-top: var(--wp--preset--spacing--60) !important;
		}

		.featured-posts-landing .wp-block-post-featured-image {
			margin-top: var(--wp--preset--spacing--60) !important;
		}

		.featured-posts-landing .featured-product-head {
			grid-column: 1 / -1;
		}
	}

.featured-posts-landing .type-product .wp-block-post-featured-image {
			margin-top: 0 !important;
		}

.featured-posts-landing .type-product .wp-block-post-title {
			margin-top: 0 !important;
		}

.featured-posts-landing .type-book-club {
		container-type: inline-size;
		container-name: book-club-card;
	}

@container book-club-card (min-width: 800px) {

			.featured-posts-landing .type-book-club .featured-card-book-club {
				display: grid;
				grid-template-columns: 1fr 1fr;
				gap: var(--wp--preset--spacing--40);
				align-items: center;
			}

			.featured-posts-landing .type-book-club .wp-block-post-title {
				margin-top: 0 !important;
			}

			.featured-posts-landing .type-book-club .wp-block-post-featured-image {
				margin-top: 0 !important;
			}
		}

@container book-club-card (max-width: 799px) {

			.featured-posts-landing .type-book-club .featured-card-book-club {
				padding-block: 1px var(--wp--preset--spacing--120) !important;
			}
		}

.featured-posts-landing .type-book-club,
	.featured-posts-landing .type-hh-resource-item {
		container-type: inline-size;
		container-name: right-image-card;
	}

.featured-posts-landing .type-book-club .featured-resource-flag, .featured-posts-landing .type-hh-resource-item .featured-resource-flag {
			margin-left: calc(var(--wp--preset--spacing--80) * -1) !important;
		}

@container right-image-card (min-width: 800px) {

			.featured-posts-landing .type-book-club .featured-card-book-club,
			.featured-posts-landing .type-book-club .featured-card-resource-item,
			.featured-posts-landing .type-hh-resource-item .featured-card-book-club,
			.featured-posts-landing .type-hh-resource-item .featured-card-resource-item {
				display: grid;
				grid-template-columns: 1fr 1fr;
				gap: var(--wp--preset--spacing--40);
				align-items: center;
			}

			.featured-posts-landing .type-book-club .wp-block-post-title, .featured-posts-landing .type-hh-resource-item .wp-block-post-title {
				margin-top: 0 !important;
			}

			.featured-posts-landing .type-book-club .wp-block-post-featured-image, .featured-posts-landing .type-hh-resource-item .wp-block-post-featured-image {
				order: 1;
				margin-top: 0 !important;
			}
		}

@container right-image-card (max-width: 799px) {

			.featured-posts-landing .type-book-club .featured-card-book-club, .featured-posts-landing .type-hh-resource-item .featured-card-book-club {
				padding-block: 1px var(--wp--preset--spacing--120) !important;
			}

			.featured-posts-landing .type-book-club .featured-card-resource-item, .featured-posts-landing .type-hh-resource-item .featured-card-resource-item {
				padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--120) !important;
			}

			.featured-posts-landing .type-book-club .featured-card-resource-content, .featured-posts-landing .type-hh-resource-item .featured-card-resource-content {
				display: contents;
			}

			.featured-posts-landing .type-book-club .featured-resource-flag, .featured-posts-landing .type-hh-resource-item .featured-resource-flag {
				margin-top: 0 !important;
				position: absolute;
				top: var(--wp--preset--spacing--200);
			}

				.featured-posts-landing .type-book-club .featured-resource-flag .wp-block-heading, .featured-posts-landing .type-hh-resource-item .featured-resource-flag .wp-block-heading {
					padding-left: calc(var(--wp--preset--spacing--80) + var(--wp--preset--spacing--20)) !important;
				}
		}

.featured-posts-landing .wp-block-post-excerpt__excerpt {
		display: -webkit-box;
		-webkit-line-clamp: 5;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

@container default-card (max-width: 800px) {

.featured-posts-landing .wp-block-post-excerpt__excerpt {
			-webkit-line-clamp: 3
	}
		}

.featured-card-book-club {
	--tag-top: clamp(4.375rem, 0.625rem + 15cqi, 6.25rem);
	position: relative;
}

.featured-card-book-club .card-tag {
		position: absolute;
		left: 0;
		top: var(--tag-top);
	}

.featured-card-book-club .wp-block-post-title {
		margin-top: calc(var(--tag-top) + var(--wp--preset--spacing--90));
	}

.jhf-upcoming-event-tag {
	display: flex;
	gap: 0.25em;
}

.jhf-upcoming-event-tag::before {
		content: "";
		background-color: var(--wp--preset--color--blue);
		-webkit-mask-image: url(./assets/img/icon-event-simple.svg);
		        mask-image: url(./assets/img/icon-event-simple.svg);
		-webkit-mask-position: center;
		        mask-position: center;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-size: contain;
		        mask-size: contain;
		width: 1.5em;
		height: 1lh;
	}

.book-club-landing-featured .jhf-upcoming-event-tag::before {
		background-color: var(--wp--preset--color--accent-gold);
	}

.book-club-landing-featured .wp-block-post-excerpt__more-link {
		display: none;
	}

.js-make-card-anchored {
	cursor: pointer;
	position: relative;
}

.js-make-card-anchored::before {
		content: "";
		background-color: transparent;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transition: background-color var(--speed) ease-in-out;
	}

.js-make-card-anchored.has-base-background-color:hover::before {
				background-color: rgba(from var(--wp--preset--color--accent-gold) r g b / 0.1) !important;
			}

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

.js-make-card-anchored:hover .wp-block-post-title a::after {
				transform: translateX(0.125em);
			}

.js-make-card-anchored .wp-block-post-title a {
		position: relative;
		display: inline;
		padding-right: 0.75em;
	}

.js-make-card-anchored .wp-block-post-title a::after {
			content: "";
			background-color: var(--wp--preset--color--accent-gold);
			margin-left: 0.25em;
			-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
			        mask-image: url(./assets/img/icon-arrow-right.svg);
			-webkit-mask-position: center;
			        mask-position: center;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: contain;
			        mask-size: contain;
			display: inline-block;
			width: 0.4em;
			height: 1lh;
			vertical-align: middle;
			transition: transform var(--speed-fast) ease-in-out;
		}

/* --- Graph --- */

.graph-container {
	--graph-max-value: 100;
	--graph-item-value: 40;
	--animation-duration: 2s;
	--track-animation-duration: 0.5s;
	--opacity-animation-duration: 0.5s;
	--paragraph-animation-duration: 0.3s;
	min-height: 500px;
}

@media (max-width: 37.5em) {

.graph-container {
		flex-direction: column;
		min-height: 200px
}
	}

.graph-container .graph-item-track {
		flex: 1;
		transition: background-color var(--track-animation-duration) ease-out;
	}

.graph-container .graph-item-track .graph-item {
			container: inline-size;
			fill: currentcolor;
			height: 30%;
			width: 100%;
			opacity: 0;
			transition-property: opacity, height;
			transition-duration: var(--opacity-animation-duration), calc(var(--animation-duration) * var(--graph-item-value) / var(--graph-max-value));
			transition-timing-function: ease-in, cubic-bezier(0.34, 1.3, 0.64, 1);
			transition-delay: var(--track-animation-duration), calc(var(--track-animation-duration) + var(--opacity-animation-duration) * 0.6);
		}

@media (max-width: 37.5em) {

.graph-container .graph-item-track .graph-item {
				flex-direction: row-reverse;
				height: var(--wp--preset--spacing--80);
				transition-property: opacity, width
		}
			}

.graph-container .graph-item-track .graph-item > *:last-child {
				opacity: 0;
				transition: opacity var(--paragraph-animation-duration) ease-in;
				transition-delay: calc(var(--track-animation-duration) + var(--animation-duration) - 0.15s);
			}

.graph-container .graph-item-track p {
			font-size: clamp(0.75rem, -0.75rem + 2.667vw, 1.25rem);
			opacity: 0;
			transition: opacity var(--paragraph-animation-duration) ease-in;
			transition-delay: calc(var(--track-animation-duration) + var(--animation-duration));
		}

@media (max-width: 37.5em) {

.graph-container .graph-item-track p {
				font-size: var(--wp--preset--font-size--body-l)
		}
			}

.graph-container.in-view .graph-item-track {
			background-color: color-mix(in srgb, var(--wp--preset--color--accent-gold) 40%, transparent) !important;
		}

.graph-container.in-view .graph-item-track p {
				opacity: 1;
			}

.graph-container.in-view .graph-item-track .graph-item > *:last-child {
				opacity: 1;
			}

.graph-container.in-view .graph-item {
			height: calc(var(--graph-item-value) / var(--graph-max-value) * 100%);
			opacity: 1;
		}

@media (max-width: 37.5em) {

.graph-container.in-view .graph-item {
				gap: var(--wp--preset--spacing--10);
				width: calc(var(--graph-item-value) / var(--graph-max-value) * 100%)
		}
			}

/* --- Query Loop --- */

@media (min-width: 782px) {
				.wp-block-post-template.is-style-offset-second-column > *:nth-child(3n+2) {
					margin-top: var(--wp--preset--spacing--90);
				}
		}

/* --- Post navigation --- */

.post-navigation > * {
		color: var(--wp--preset--color--accent-gold);
		display: flex;
		gap: 0.5em;
	}

.post-navigation .wp-block-post-navigation-link__arrow-previous,
	.post-navigation .wp-block-post-navigation-link__arrow-next {
		background-color: var(--wp--preset--color--accent-gold);
		height: 1lh;
		margin: 0;
		-webkit-mask-position: center;
		        mask-position: center;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-size: contain;
		        mask-size: contain;
		width: 0.6em;
	}

.post-navigation .wp-block-post-navigation-link__arrow-previous {
		-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
		        mask-image: url(./assets/img/icon-arrow-right.svg);
		transform: rotate(180deg);
	}

.post-navigation .wp-block-post-navigation-link__arrow-next {
		-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
		        mask-image: url(./assets/img/icon-arrow-right.svg);
	}

/* --- Utilities --- */

.no-shrink {
	flex-shrink: 0;
}

.is-style-hover-link a {
		text-decoration-color: transparent;
		transition: text-decoration-color var(--speed) ease-in-out;
	}

.is-style-hover-link:hover a {
			text-decoration-color: currentcolor;
		}

/* ----------------------------------------------------------
   Healing Resources Hub
---------------------------------------------------------- */

/* --- Archive --- */

.hrh-archive-header-part {
	margin-top: 0;
}

/* --- Healing Resources Hub item modal --- */

.wp-block-jhf-item-link button.wp-block-button__link {
		align-items: center;
		background-color: transparent;
		border: none;
		color: inherit;
		font-size: 0.875rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		padding: 0 1em 0 0;
		position: relative;
		text-align: left;
		-webkit-text-decoration: underline;
		text-decoration: underline;
		text-decoration-color: transparent;
		text-decoration-thickness: 0.0625em;
		text-underline-offset: 0.125em;
		text-transform: uppercase;
		transition: text-decoration-color var(--speed) ease-in-out;
	}

.wp-block-jhf-item-link button.wp-block-button__link::after {
			content: "";
			background-color: var(--wp--preset--color--accent-gold);
			flex-shrink: 0;
			height: 1.5em;
			margin-left: 0.5em;
			-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
			        mask-image: url(./assets/img/icon-arrow-right.svg);
			-webkit-mask-position: center;
			        mask-position: center;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: contain;
			        mask-size: contain;
			position: absolute;
			width: 0.57em;
			transition: all var(--speed) ease-in-out;
		}

.wp-block-jhf-item-link button.wp-block-button__link:hover {
			text-decoration-color: currentcolor;
		}

.wp-block-jhf-item-link button.wp-block-button__link:hover::after {
				background-color: currentcolor;
				transform: translateX(0.125em);
			}

.wp-block-jhf-item-link button.wp-block-button__link:focus {
			outline: 3px solid currentcolor;
			outline-offset: 1em;
		}

.jhf-resource-item-modal {
	background-color: var(--wp--preset--color--base);
	border: none;
	border-radius: 1rem;
	color: var(--wp--preset--color--hrh-purple-dark);
	width: min(90vw, 640px + var(--wp--preset--spacing--60) * 2);
	max-width: 90vw;
	max-height: 90vh;
	position: fixed;
	padding: 0;
	z-index: 1000;
}

.jhf-resource-item-modal:focus {
		outline: none;
	}

.jhf-resource-item-modal::backdrop {
		background-color: rgb(from var(--wp--preset--color--contrast) r g b / 0.8);
	}

.jhf-resource-item-modal__content {
		overflow: auto;
		max-height: calc(90vh - calc(var(--wp--preset--spacing--60) * 2));
		padding: var(--wp--preset--spacing--60);
	}

.jhf-resource-item-modal__title {
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 400;
		line-height: 1.3;
		margin-block: var(--wp--preset--spacing--20);
	}

.jhf-resource-item-modal__close {
		all: unset;
		cursor: pointer;
		display: block;
		overflow: hidden;
		height: var(--wp--preset--spacing--30);
		width: var(--wp--preset--spacing--30);
		position: absolute;
		top: var(--wp--preset--spacing--30);
		right: var(--wp--preset--spacing--30);
		color: currentcolor;

		/* Hide button text visually */
		font-size: 0;
		line-height: 0;
		text-indent: -9999px;
	}

.jhf-resource-item-modal__close::before {
			content: "";
			background-color: currentcolor;
			display: block;
			-webkit-mask-image: url(./assets/img/icon-close.svg);
			        mask-image: url(./assets/img/icon-close.svg);
			-webkit-mask-size: contain;
			        mask-size: contain;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-position: center;
			        mask-position: center;
			height: var(--wp--preset--spacing--30);
			width: var(--wp--preset--spacing--30);
			transition: background-color var(--speed) ease-in-out;
			position: absolute;
			top: 0;
			left: 0;
		}

.jhf-resource-item-modal__close:hover::before {
			background-color: var(--wp--preset--color--accent-gold);
		}

.resource-modal-open {
	overflow: hidden;
}

/* --- Audio/video player --- */

.mejs-container {
	--border-radius: 0.25em;
	border-radius: var(--border-radius);
	margin-inline: auto;
	display: none;
}

.resource-modal-open .mejs-container {
		display: block;
	}

.mejs-container .mejs-controls {
		background-color: var(--wp--preset--color--hrh-purple-dark);
		border-radius: var(--border-radius);
	}

.mejs-container iframe {
		border-radius: var(--border-radius);
	}

/* ----------------------------------------
	Triggered animations and transitions
---------------------------------------- */

.observe-trigger-90-top-add-fadein {
	opacity: 0;
	transition: opacity var(--speed-slow) ease-in-out;
}

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

/* ----------------------------------------
	Jetpack instant search
---------------------------------------- */

.wp-theme-joyfulheart-foundation .jetpack-instant-search__overlay {
		padding: 0;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-wrapper {
		border-radius: 0;
		margin: 0;
		max-width: none;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results {
		background-color: var(--wp--preset--color--accent-blue);
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-controls {
		border-bottom: 1px solid var(--wp--preset--color--contrast);
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-controls .jetpack-instant-search__box,
		.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-controls .jetpack-instant-search__overlay-close {
			border: none;
		}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-controls .gridicon {
			fill: var(--wp--preset--color--contrast);
		}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__box-input.search-field,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__box input[type="search"].jetpack-instant-search__box-input:focus,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__box input[type="search"].jetpack-instant-search__box-input:hover {
		background-color: transparent;
		color: var(--wp--preset--color--contrast);
		outline: none;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__box-input.search-field::placeholder {
		color: var(--wp--preset--color--contrast);
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__box input[type="button"],
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__box input[type="button"]:hover {
		color: var(--wp--preset--color--contrast);
		-webkit-text-decoration: underline;
		text-decoration: underline;
		text-decoration-color: transparent;
		text-decoration-thickness: 0.0625em;
		text-underline-offset: 0.125em;
		transition: text-decoration-color var(--speed) ease-in-out;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__box input[type="button"]:hover {
		text-decoration-color: currentcolor;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-secondary {
		border: none;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__sidebar > .jetpack-instant-search__search-filters,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-filter-sub-heading,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-result-title .gridicon,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__path-breadcrumb,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-result-minimal-cats-and-tags {
		display: none;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-content {
		padding-top: var(--wp--preset--spacing--80);
	}

@media (min-width: 992px) {

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-form-controls {
			margin-top: var(--wp--preset--spacing--80)
	}
		}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-form-controls .jetpack-instant-search__search-sort-with-links {
			font-size: var(--wp--preset--font-size--medium);
		}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-form-controls .jetpack-instant-search__search-sort .jetpack-instant-search__search-sort-option {
			color: var(--wp--preset--color--contrast);
			line-height: 1.75;
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-decoration-color: transparent;
			text-decoration-thickness: 0.0625em;
			text-underline-offset: 0.125em;
			transition: text-decoration-color var(--speed) ease-in-out;

			/*
			 * The JP stylesheet has `.is-selected` set to `font-weight: 600` and `text-decoration: none`.
			 * It's fairly subtle, but kind of nice? I'm choosing not to override it for now.
			 */
		}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-form-controls .jetpack-instant-search__search-sort .jetpack-instant-search__search-sort-option.is-selected,
			.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-form-controls .jetpack-instant-search__search-sort .jetpack-instant-search__search-sort-option:hover {
				color: var(--wp--preset--color--contrast);
				text-decoration-color: currentcolor;
			}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-filter-button,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-filter-button:hover,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-filter-button:focus {
		color: var(--wp--preset--color--contrast);
		-webkit-text-decoration: underline;
		text-decoration: underline;
		text-decoration-color: transparent;
		text-decoration-thickness: 0.0625em;
		text-underline-offset: 0.125em;
		transition: text-decoration-color var(--speed) ease-in-out;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-filter-button:hover,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-filter-button:focus {
		text-decoration-color: currentcolor;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-title,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__sidebar .widgettitle {
		font-size: var(--wp--preset--font-size--heading-four);
		font-weight: 600;
		line-height: 1.3;
		margin-top: 0;
		letter-spacing: 0.1em;
		text-transform: uppercase;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__sidebar {
		padding-top: 0;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-list li::before {
		content: none;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-result-title {
		font-size: var(--wp--preset--font-size--heading-two);
		font-weight: 800;
		line-height: 1.2;
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-result-title .jetpack-instant-search__search-result-title-link {
			color: var(--wp--preset--color--contrast);
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-decoration-color: transparent;
			text-decoration-thickness: 0.0625em;
			text-underline-offset: 0.075em;
			transition: text-decoration-color var(--speed-fast) ease-in-out;
		}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-result-title .jetpack-instant-search__search-result-title-link:focus,
			.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-result-title .jetpack-instant-search__search-result-title-link:hover {
				color: var(--wp--preset--color--contrast);
				text-decoration-color: currentcolor;
				text-decoration-thickness: 0.0625em;
				text-underline-offset: 0.075em;
			}

.wp-theme-joyfulheart-foundation .jetpack-instant-search *::selection,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-results-list,
	.wp-theme-joyfulheart-foundation .jetpack-instant-search .jetpack-instant-search__search-results .jetpack-instant-search__search-results-primary .jetpack-instant-search__search-result mark {
		background-color: transparent;
		color: var(--wp--preset--color--contrast);
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-result-minimal-content {
		font-size: var(--wp--preset--font-size--large);
	}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-filter-list > div {
			align-items: center;
			margin-top: var(--wp--preset--spacing--20);
		}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-filter-list .jetpack-instant-search__search-filter-list-label {
			font-size: var(--wp--preset--font-size--large);
			margin-left: 1.5rem;
		}

.wp-theme-joyfulheart-foundation .jetpack-instant-search__search-filter-list .jetpack-instant-search__search-filter-list-input {
			border: 2px solid var(--wp--preset--color--contrast);
			height: var(--wp--preset--font-size--heading-four);
			width: var(--wp--preset--font-size--heading-four);
		}

.safety-popup-open {
	overflow: hidden;
}

.safety-popup-dialog {
	background: none;
	border: none;
	padding: 0;
	z-index: 110;
}

.safety-popup-dialog::backdrop {
		background-color: var(--wp--preset--color--contrast);
		opacity: 0.8;
	}

.safety-popup-dialog .safety-popup {
		margin-bottom: 0;
	}

/* --- Complianz --- */

/* Banner */

.cmplz-cookiebanner.cmplz-cookiebanner {
	--cmplz_banner_width: 526px;
    --cmplz_banner_background_color: var(--wp--preset--color--base);
    --cmplz_banner_border_color: var(--wp--preset--color--accent-gold);
    --cmplz_banner_border_width: 0;
    --cmplz_banner_border_radius: var(--wp--preset--spacing--20);
    --cmplz_banner_margin: var(--wp--preset--spacing--10);
    --cmplz_categories-height: 110px;
    --cmplz_title_font_size: var(--wp--preset--font-size--medium);
    --cmplz_text_line_height: calc(var(--cmplz_text_font_size) * 1.5);
    --cmplz_text_color: var(--wp--preset--color--contrast);
    --cmplz_hyperlink_color: var(--wp--preset--color--contrast);
    --cmplz_text_font_size: var(--wp--preset--font-size--small);
    --cmplz_link_font_size: var(--wp--preset--font-size--small);
    --cmplz_category_body_font_size: var(--wp--preset--font-size--small);
    --cmplz_button_accept_background_color: var(--wp--preset--color--dark-blue);
    --cmplz_button_accept_border_color: var(--wp--preset--color--dark-blue);
    --cmplz_button_accept_text_color: var(--wp--preset--color--base);
    --cmplz_button_deny_background_color: var(--wp--preset--color--base);
    --cmplz_button_deny_border_color: var(--wp--preset--color--base);
    --cmplz_button_deny_text_color: var(--wp--preset--color--contrast);
    --cmplz_button_settings_background_color: var(--wp--preset--color--base);
    --cmplz_button_settings_border_color: var(--wp--preset--color--base);
    --cmplz_button_settings_text_color: var(--wp--preset--color--contrast);
    --cmplz_button_border_radius: 0;
    --cmplz_button_font_size: var(--wp--preset--font-size--small);
    --cmplz_category_header_always_active_color: #008000;
    --cmplz_category_header_title_font_size: var(--wp--preset--font-size--small);
    --cmplz_category_header_active_font_size: var(--wp--preset--font-size--small);
    --cmplz-manage-consent-height: 50px;
    --cmplz-manage-consent-offset: -35px;
    --cmplz_slider_active_color: var(--wp--preset--color--dark-blue);
    --cmplz_slider_inactive_color: var(--wp--preset--color--accent-gold);
    --cmplz_slider_bullet_color: var(--wp--preset--color--base);
	padding: var(--wp--preset--spacing--30);
}

.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
		transition: all var(--speed) ease-in-out;
	}

.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover {
			background-color: var(--wp--preset--color--accent-gold) !important;
			border-color: var(--wp--preset--color--accent-gold) !important;
			color: var(--wp--preset--color--contrast) !important;
		}

.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-title {
		font-weight: 800;
	}

.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-links .cmplz-link {
		-webkit-text-decoration: underline;
		text-decoration: underline;
		text-decoration-color: currentcolor;
		text-decoration-thickness: 0.0625em;
		text-underline-offset: 0.125em;
		transition: text-decoration-color var(--speed-fast) ease-in-out;
	}

.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-links .cmplz-link:hover {
			text-decoration-color: transparent;
		}

.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-close {
		transition: color var(--speed-fast) ease-in-out;
	}

.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-close:hover {
			color: var(--wp--preset--color--accent-gold);
		}

.cmplz-cookiebanner.cmplz-dismissed {
  display: none;
}

/* Content block */

.wp-site-blocks #cmplz-document a {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-decoration-color: currentcolor;
			text-decoration-thickness: 0.0625em;
			text-underline-offset: 0.125em;
			transition: text-decoration-color var(--speed-fast) ease-in-out;
		}

.wp-site-blocks #cmplz-document a:hover {
				text-decoration-color: transparent;
			}

.wp-site-blocks #cmplz-document h2,
		.wp-site-blocks #cmplz-document .cmplz-dropdown h2 {
			font-size: var(--wp--preset--font-size--heading-three);
			margin-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--30);
			padding: 0;
		}

.wp-site-blocks #cmplz-document h3,
		.wp-site-blocks #cmplz-document .cmplz-dropdown h3 {
			font-size: var(--wp--preset--font-size--heading-four);
			padding: 0;
		}

.wp-site-blocks #cmplz-document h4,
		.wp-site-blocks #cmplz-document .cmplz-dropdown h4 {
			font-size: var(--wp--preset--font-size--heading-five);
			margin-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--30);
			padding: 0;
			text-transform: uppercase;
		}

.wp-site-blocks #cmplz-document p,
		.wp-site-blocks #cmplz-document li,
		.wp-site-blocks #cmplz-document .cmplz-dropdown li {
			font-size: var(--wp--preset--font-size--medium);
			margin-block: var(--wp--preset--spacing--30);
			padding: 0;
		}

.wp-site-blocks #cmplz-document p.cmplz-subtitle {
			font-size: var(--wp--preset--font-size--medium);
			font-weight: 800;
		}

.wp-site-blocks #cmplz-document .cmplz-dropdown br {
			display: none;
		}

.wp-site-blocks #cmplz-document .cmplz-dropdown {
			font-size: var(--wp--preset--font-size--small);
			padding: var(--wp--preset--spacing--30) 0;
		}

.wp-site-blocks #cmplz-document .cmplz-dropdown li,
			.wp-site-blocks #cmplz-document .cmplz-dropdown p {
				font-size: inherit;
			}

.wp-site-blocks #cmplz-document .cmplz-dropdown summary {
				align-items: center;
				cursor: pointer;
				display: flex !important;
				gap: var(--wp--preset--spacing--30);
				margin-left: calc(var(--left-padding) * -1);
				list-style: none;
				-webkit-appearance: none;
			}

.wp-site-blocks #cmplz-document .cmplz-dropdown summary::-webkit-details-marker {
					display: none;
				}

.wp-site-blocks #cmplz-document .cmplz-dropdown summary::before {
					content: "";
					background-color: currentcolor;
					flex-shrink: 0;
					-webkit-mask-image: url(./assets/img/icon-arrow-right.svg);
					        mask-image: url(./assets/img/icon-arrow-right.svg);
					-webkit-mask-size: contain;
					        mask-size: contain;
					-webkit-mask-repeat: no-repeat;
					        mask-repeat: no-repeat;
					-webkit-mask-position: center;
					        mask-position: center;
					height: 0.75em;
					transition: background-color var(--speed) ease-in-out;
					width: 0.75em;
				}

.wp-site-blocks #cmplz-document .cmplz-dropdown summary:hover {
					color: currentcolor;
				}

.wp-site-blocks #cmplz-document .cmplz-dropdown summary:hover::before {
						background-color: var(--wp--preset--color--accent-gold);
					}

.wp-site-blocks #cmplz-document .cmplz-dropdown[open] {
				padding-bottom: var(--wp--preset--spacing--50);
			}

.wp-site-blocks #cmplz-document .cmplz-dropdown[open] summary::before {
						transform: rotate(90deg);
					}

.wp-site-blocks #cmplz-document .cmplz-dropdown:first-of-type {
				border-top: 3px solid var(--wp--preset--color--accent-gold);
			}

.wp-site-blocks #cmplz-document .cmplz-dropdown:last-of-type {
				border-bottom: 3px solid var(--wp--preset--color--accent-gold);
			}

.wp-site-blocks #cmplz-document .cmplz-dropdown + .cmplz-dropdown {
				border-top: 3px solid var(--wp--preset--color--accent-gold) !important;
			}

.wp-site-blocks #cmplz-document .cmplz-service-description,
		.wp-site-blocks #cmplz-document .cmplz-sharing-data {
			padding-top: var(--wp--preset--spacing--30);
		}

.wp-site-blocks #cmplz-document .cmplz-service-description > *:first-child, .wp-site-blocks #cmplz-document .cmplz-sharing-data > *:first-child {
				margin-top: 0;
			}

.wp-site-blocks #cmplz-document .name-header > *, .wp-site-blocks #cmplz-document .retention-header > *, .wp-site-blocks #cmplz-document .function-header > * {
				margin-block: 0 var(--wp--preset--spacing--20);
			}

.wp-site-blocks #cmplz-datarequest-form {
		border: 3px solid var(--wp--preset--color--accent-gold);
		border-width: 3px 0;
		display: flex;
		flex-direction: column;
		gap: var(--wp--preset--spacing--10);
		margin-block: var(--wp--preset--spacing--80);
		padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30);
	}

.wp-site-blocks #cmplz-datarequest-form > div {
			margin-block: var(--wp--preset--spacing--10);
		}

.wp-site-blocks #cmplz-datarequest-form > div.cmplz_datarequest {
			margin-block: var(--wp--preset--spacing--30) 0;
		}

.wp-site-blocks #cmplz-datarequest-form > div.cmplz_datarequest + div.cmplz_datarequest {
				margin-block: 0;
			}

.wp-site-blocks #cmplz-datarequest-form > div.cmplz_datarequest + div.cmplz_datarequest:last-of-type {
					margin-bottom: var(--wp--preset--spacing--30);
				}

.wp-site-blocks #cmplz-datarequest-form label {
			font-size: var(--wp--preset--font-size--small);
			font-weight: 700;
			margin-bottom: 0.25em;
		}

.wp-site-blocks #cmplz-datarequest-form input[type="button"] {
			background-color: var(--wp--preset--color--dark-blue);
			border: 1px solid var(--wp--preset--color--dark-blue);
			color: var(--wp--preset--color--base);
			cursor: pointer;
			padding: calc(0.667em + 2px) calc(1.333em + 2px);
			min-width: 180px;
			width: max-content;
			transition: all var(--speed) ease-in-out;
		}

.wp-site-blocks #cmplz-datarequest-form input[type="button"]:hover {
				background-color: var(--wp--preset--color--accent-gold);
				border-color: var(--wp--preset--color--accent-gold);
				color: var(--wp--preset--color--contrast);
			}
