/*
Theme Name: US Report Theme
Theme URI: https://tandem.nyc/
Author: Tandem NYC
Author URI: https://tandem.nyc/
Description: Theme built for University Settlement Report
Tags: block-patterns, block-styles, custom-colors, custom-logo, custom-menu, editor-style, full-site-editing, one-column, template-editing, threaded-comments, translation-ready, wide-blocks
Requires at least: 6.2
Tested up to: 6.3.1
Requires PHP: 5.6
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: us_report
*/


/* Defaults
---------------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:ital,wght@0,400;0,700;1,700&family=Barlow:ital,wght@0,500;0,600;0,700;0,800;1,500;1,600;1,700;1,800&display=swap');


*,
*::before,
*::after {
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img)
{ 
	border-radius: 20px; 
}

html {
	scroll-behavior: smooth;
}

#wpadminbar {
	position: absolute;
}

.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

main {
	flex-grow: 1;
}

/* img.edit-site-site-icon__image {
	filter: invert(1);
} */

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

a,
a:not(.wp-element-button) {
	text-decoration: underline;
}

a:focus,
a:hover {
	text-decoration: none;
}

header.wp-block-template-part { 
	position: sticky; 
	top: 0; 
	z-index: 1000;
}

header.wp-block-template-part .wp-block-site-logo.is-default-size img {
    max-height: 3em;
    height: 50px; 
	width: auto; 
	margin-block-end: 0;
}

header.wp-block-template-part a {
	text-decoration: none;
	text-underline-offset: 4px;
}

header.wp-block-template-part .current-menu-item a {
	text-decoration: underline;
}

header.wp-block-template-part nav a:focus,
header.wp-block-template-part nav a:hover {
	opacity: 0.7;
}

a.wp-element-button { 
	transition: all 300ms ease 0ms;
	display: flex; 
	flex-direction: row;
	gap: 8px;
	align-items: center;
}

a.wp-element-button::after { 
	transition: all 300ms ease 0ms;
	line-height: 1em;
	font: var(--fa-font-solid);
	content: " \f054";
    opacity: 0;
	font-size: 0.8rem;
	padding-top: 1px;
	margin-left: -1.2em;
}

a.wp-element-button:hover::after,
a.wp-element-button:focus::after {
	opacity: 1;
	margin-left: 0; 
}

.wp-block-button.is-style-footer a.wp-element-button:hover { 
	border-color: rgba(0,0,0,.05); 
	background-color: rgba(0,0,0,.05);
}

.wp-block-button.is-style-footer a.wp-element-button { 
	border: 1px solid currentColor; 
}


.wp-block-button.is-style-outline a.wp-element-button:hover { 
	border-color: black; 
	background-color: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white) !important; 
}

b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--bold);
}

/* .alignfull > .alignwide:first-child, */
.wp-block-cover__inner-container.has-global-padding {
	padding-right: var(--wp--style--root--padding-right);
	padding-left: var(--wp--style--root--padding-left);
}

.inner-cover-padding-remove .wp-block-cover__inner-container.has-global-padding {
	padding-right: 0;
	padding-left: 0;
}

/* FY2024 VERTICAL LINES */

.vertical-line-section {
  position: relative;
}

.js-vertical-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--wp--style--root--padding-left) * 0.5 - 3px);
  width: 6px;
  background-color: var(--wp--preset--color--yellow);
  z-index: 998;
  pointer-events: none;
  margin: 0 !important;
}

.js-vertical-line-right {
	position: absolute;
	top: 0;
	bottom: 0;
	right: calc(var(--wp--style--root--padding-right) * 0.5 - 3px);
	width: 6px;
	background-color: var(--wp--preset--color--yellow);
	z-index: 998;
	pointer-events: none;
	margin: 0 !important;
}


.page-template-fy2024 .impact-stats .wp-block-column {
  position: relative;
}

.page-template-fy2024 .impact-stats .wp-block-column:nth-child(1)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(var(--wp--style--root--padding-left) * -0.5 - 9px);
    width: calc(var(--wp--style--root--padding-left) * 0.5 + 6px);
    height: 6px;
    background-color: var(--wp--preset--color--yellow);
    transform: translateY(-50%);
    z-index: 0;
}

.page-template-fy2024 .impact-stats .wp-block-column:nth-child(2):before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(var(--wp--preset--spacing--max-48-px) * -1 - 9px);
    width: calc(var(--wp--preset--spacing--max-48-px) + 6px);
    height: 6px;
    background-color: var(--wp--preset--color--yellow);
    transform: translateY(-50%);
    z-index: 0;
}

.page-template-fy2024 .impact-stats .wp-block-column:nth-child(2):after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(var(--wp--preset--spacing--max-48-px) * -1 - 9px);
    width: calc(var(--wp--preset--spacing--max-48-px) + 6px);
    height: 6px;
    background-color: var(--wp--preset--color--yellow);
    transform: translateY(-50%);
    z-index: 0;
}

.page-template-fy2024 .impact-stats .wp-block-column:nth-child(3):after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(var(--wp--style--root--padding-left) * -0.5 - 9px);
    width: calc(var(--wp--style--root--padding-left) * 0.5 + 6px);
    height: 6px;
    background-color: var(--wp--preset--color--yellow);
    transform: translateY(-50%);
    z-index: 0;
}

/* Right lines for impact stat boxes */
.vertical-line-right-section:first-of-type .js-vertical-line-right {
	top: calc(50% - 2px);
	bottom: calc(var(--wp--preset--spacing--max-48-px) / -2);
}

.vertical-line-right-section:not(:first-of-type) .js-vertical-line-right {
	top: calc(var(--wp--preset--spacing--max-48-px) / -2);
	bottom: calc(50% - 2px);
}

/* Make lines only halfway for impact stat boxes */
.page-template-fy2024 .impact-stats:first-of-type .js-vertical-line {
	bottom: calc(50% - 2px);
}

.page-template-fy2024 .impact-stats:not(:first-of-type) .js-vertical-line {
	top: calc(50% - 2px);
}

.vertical-node::before,
.page-template-fy2024 .impact-stats.vertical-node::after {
	content: "";
	position: absolute;
	transform: translateY(var(--dot-transform, 0px));
	height: 24px;
	width: 24px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--yellow);
	z-index: 10;
	transition: all 0.2s ease-in-out;
}

.node-glow::before,
.node-glow::after {
	box-shadow: 0px 0px 15px 5px var(--wp--preset--color--yellow);
	-webkit-box-shadow: 0px 0px 15px 5px var(--wp--preset--color--yellow);
	-moz-box-shadow: 0px 0px 15px 5px var(--wp--preset--color--yellow);
}

.vertical-node::before {
	left: calc(var(--wp--style--root--padding-right) * 0.5 - 12px);
}

/* add nodes for impact stats */
.page-template-fy2024 .impact-stats.vertical-node::before {
	left: calc(var(--wp--style--root--padding-right) - 9px);
}

.page-template-fy2024 .impact-stats.vertical-node::after {
	right: calc(var(--wp--style--root--padding-right) - 9px);
}


.fy2024-logo {
  position: relative;
}

.fy2024-logo-connector {
	position: absolute;
    bottom: 0;
    left: calc(var(--wp--style--root--padding-right) * 0.5 - 3px);
	z-index: 999;
}

.fy2024-hero {
	z-index: 999;
}

.fy2024-hero .wp-block-cover__inner-container.has-global-padding {
	padding-left: calc(var(--wp--style--root--padding-left) * 0.5 + 21px);
}

/* Allow footer connector to be visible */
.fy2024-donors {
	overflow-y: visible;
}

.fy2024-footer-connector {
	position: absolute;
    bottom: -125px;
    left: calc(var(--wp--style--root--padding-right) * 0.5 - 3px);
	z-index: 999;
}

.fy2024-footer .wp-block-columns .wp-block-column.has-orange-background-color {
	padding-left: calc(var(--wp--style--root--padding-left) * 0.5 + 42px);
	padding-top: 96px;
	padding-bottom: 96px;
	padding-right: var(--wp--preset--spacing--max-72-px);
}
.fy2024-footer .wp-block-columns .wp-block-column.has-white-background-color {
	padding-left: var(--wp--preset--spacing--max-72-px);
	padding-top: 96px;
	padding-bottom: 96px;
	padding-right: var(--wp--preset--spacing--max-72-px);
}

.fy24-remove-global-padding {
	margin-right: calc(var(--wp--style--root--padding-right) * -1) !important;
}

.fy2024-global-padding-left {
	padding-left: var(--wp--style--root--padding-left);
	/* margin-left: 0; */
	/* max-width: calc(var(--wp--style--global--wide-size) + (var(--wp--style--root--padding-right))); */
}

.fy2024-global-padding {
	padding-left: var(--wp--style--root--padding-left);
	padding-right: var(--wp--style--root--padding-right);
}


/* 
h1.vertical-node::before {
	transform: translateY(30px);
} */

/* .alignfull > .alignwide {
	margin-left: var(--wp--style--root--padding-left) !important; 
	margin-right: var(--wp--style--root--padding-right) !important;
} */

/* .alignfull  {
	padding-left: var(--wp--style--root--padding-left) !important; 
	padding-right: var(--wp--style--root--padding-right) !important;
} */

figure.graphic-element {
	display: flex;
}

.round-corner { 
	overflow: hidden; 
}

.min-height-100 { 
	min-height: 100%;
	max-height: 100%; 
}

:where(.wp-site-blocks) > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

.has-text-align-center,
.text-wrap-balance {
	text-wrap: balance;
}

.impact-stats > .wp-block-column > .wp-block-group {
    background-size: 100% 100% !important;
    background-position: 50% !important;
    background-repeat: no-repeat !important;
}

.ceo-letter-cover {
	overflow: visible;
}

.ceo-headshot {
	padding: 0;
    position: absolute;
    z-index: 999;
    top: 130px;
    right: -50px;
	width: 250px;
    height: 250px;
	background-size: 97% 97% !important;
    background-repeat: no-repeat;
    background-position: center;
}

/* .ceo-headshot figure {
	width: 93%;
    height: 93%;
} */

.our-approach-image {
	background-size: 97% 97% !important;
    background-repeat: no-repeat;
    background-position: center;
}

.background-multiply {
	background-blend-mode: multiply;
}

.outline-text-orange {
	color: var(--wp--preset--color--white);
	text-shadow: -1.5px -1.5px 0 var(--wp--preset--color--orange), 1.5px -1.5px 0 var(--wp--preset--color--orange), -1.5px 1.5px 0 var(--wp--preset--color--orange), 1.5px 1.5px 0 var(--wp--preset--color--orange);
}

.outline-text-blue {
	color: var(--wp--preset--color--white);
	text-shadow: -1.5px -1.5px 0 var(--wp--preset--color--blue), 1.5px -1.5px 0 var(--wp--preset--color--blue), -1.5px 1.5px 0 var(--wp--preset--color--blue), 1.5px 1.5px 0 var(--wp--preset--color--blue);
}

.approach-circle-bg {
	position: absolute !important;
    top: 0px;
    bottom: auto;
    left: 0px;
    right: auto;
    transform: translateX(1200px) translateY(-112px);
	z-index: -1;
}

.approach-circle-bg > div {
	height: 1890px;
    width: 1890px;
    background-color: #ff4611;
	border-radius: 50%;
}

.entry-content > .wp-block-group:has(.approach-circle-bg) {
	overflow: hidden;
}


#stories-from-fy24 .read-more-item { 
	position: relative;
	z-index: 5; 
}

#stories-from-fy24::after { 
	background: linear-gradient(transparent 0%, var(--wp--preset--color--purple) 75%, var(--wp--preset--color--purple) 100%);
	content: ''; 
	position: absolute;
	bottom: 0; 
	width: 100%; 
	height: 20%; 
	z-index: 0;
}

/* Accordion
---------------------------------------------------------------------------- */

/* .tm-accordion-wrapper {
	gap: var(--wp--preset--spacing--small);
	display: flex;
	flex-direction: column;
	margin: 0;
}

.tm-accordion-item-wrapper {
	border: 3px solid var(--wp--preset--color--clennon-navy);
	border-radius: 4px;
	gap: var(--wp--preset--spacing--x-small);
	overflow: hidden;
}

.tm-accordion-item-wrapper input {
	position: absolute;
	opacity: 0;
	z-index: -1;
}

.tm-accordion-item-wrapper input:checked ~ .tm-accordion-content {
	max-height: 9999px;
}

.tm-accordion-item-wrapper input:checked + .tm-accordion-header::after {
	transform: rotate(270deg);
}

.tm-accordion-header {
	display: flex;
	cursor: pointer;
	padding: var(--wp--preset--spacing--x-small) var(--wp--preset--spacing--small);
	background-color: var(--wp--preset--color--clennon-green);
	color: var(--wp--preset--color--clennon-white);
	justify-content: space-between;
	padding: 1rem;
	align-items: center;
}

.tm-accordion-header h2 {
	font-size: var(--wp--preset--font-size--max-36);
	margin: 0;
}

.tm-accordion-header::after {
	content: "\276F";
	width: 1em;
	height: 1em;
	text-align: center;
	transform: rotate(90deg);
	transition: all 0.35s;
	font-size: var(--wp--preset--font-size--x-large);
}

.tm-accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: all 0.5s;
}

.tm-accordion-content > * {
	margin: 0;
	padding-left: var(--wp--preset--spacing--small);
	padding-right: var(--wp--preset--spacing--small);
}

.tm-accordion-content > *:first-child {
	padding-top: var(--wp--preset--spacing--small);
}
.tm-accordion-content > *:last-child {
	padding-bottom: var(--wp--preset--spacing--small);
}

.tm-accordion-content p {
	margin-top: 10px;
}
.tm-accordion-content ul {
	margin-top: 10px;
	margin-left: 20px;
}

.tm-accordion-content h4:not(:first-child) {
	margin-top: 20px;
} */

/* Forms
--------------------------------------------- */

input,
select,
textarea {
	border-radius: 5px;
	font-size: var(--wp--preset--font-size--small);
	padding: 10px 20px;
	width: 100%;
}

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

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

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

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

/* Blocks
---------------------------------------------------------------------------- */

/* Code
--------------------------------------------- */

*:not(.wp-block-code) > code {
	background-color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--small);
	padding: 5px 8px;
}

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

.wp-block-group.is-style-shadow-regular {
	box-shadow: var(--wp--preset--shadow--regular);
}

.wp-block-group.is-style-shadow-solid {
	box-shadow: var(--wp--preset--shadow--shadow);
}

/* Image
--------------------------------------------- */

.wp-block-image.is-style-shadow-regular img {
	box-shadow: var(--wp--preset--shadow--regular);
}

.wp-block-image.is-style-shadow-solid img {
	box-shadow: var(--wp--preset--shadow--solid);
}

:root :where(.wp-block-image) {
	margin-top: auto;
    margin-right: 0;
    margin-bottom: auto;
    margin-left: 0;
}

.three-column-images .wp-block-cover__inner-container.has-global-padding {
	padding: 0;
}

.three-column-images .tm-read-more {
	border-radius: 0;
}

.three-column-images .read-more-button {
	border: 1px solid currentColor;
	background: none;
    color: inherit;
}

.three-column-images .read-more-button:hover {
	border-color: var(--wp--preset--color--white);
	background-color: var(--wp--preset--color--white);
    color: var(--wp--preset--color--black) !important;
}

.three-column-images .read-more-button::after {
	content: "";
	display: none;
}

/* List
--------------------------------------------- */

.is-style-no-disc {
	list-style-type: none;
	padding-left: 0;
}

/* Navigation
--------------------------------------------- */

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--max-24-px) var(--wp--style--root--padding-right) var(--wp--preset--spacing--max-24-px) var(--wp--style--root--padding-left);
	min-height: 100vh;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
	padding: 0;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	/* padding: 24px 48px; */
	padding: var(--wp--preset--spacing--max-24-px);
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: center;
	gap: var(--wp--preset--spacing--max-48-px);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	justify-content: center;
	gap: var(--wp--preset--spacing--max-32-px);
	width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container li:not(.mobile-link) .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--max-48);
	line-height: 1;
	/* margin-bottom: var(--wp--preset--spacing--max-32-px); */
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-button .wp-block-button__link {
	font-size: var(--wp--preset--font-size--max-30);
	/* padding-top: 8px; */
    padding-right: 20px;
    /* padding-bottom: 9px; */
    padding-left: 20px;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .mobile-link-first {
	padding-top: var(--wp--preset--spacing--max-48-px);
	border-top: 1px solid currentColor;
	width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item__content:focus {
	opacity: 1;
}

/* Navigation Submenu
--------------------------------------------- */

/* Quote
--------------------------------------------- */

.wp-block-quote.is-style-shadow-regular {
	box-shadow: var(--wp--preset--shadow--regular);
}

.wp-block-quote.is-style-shadow-solid {
	box-shadow: var(--wp--preset--shadow--solid);
}

/* Media Queries
---------------------------------------------------------------------------- */

@media only screen and (max-width: 600px) {

	/* Utility
	--------------------------------------------- */



}

@media only screen and (max-width: 782px) {

	/* Columns
	--------------------------------------------- */

	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}

	.wp-block-columns .wp-block-cover {
		min-height: 300px !important;
	}
	.is-style-hidden-mobile,
	.vertical-node::before,
	.vertical-node::after,
	.js-vertical-line,
	.js-vertical-line-right
	{
		display: none !important;
	}

	.impact-stats .wp-block-column:before { 
		display: none; 
	}

	.page-template-fy2024 .impact-stats .wp-block-column:nth-child(2):after,  
	.page-template-fy2024 .impact-stats .wp-block-column:nth-child(1):after
	{
	content: "";
    position: absolute;
    top: initial;
	bottom: 0%;
    right: 50%;
    height: calc(var(--wp--preset--spacing--max-24-px) + 6px);
    background-color: var(--wp--preset--color--yellow);
    transform: translateY(100%) !important;
    z-index: 0;
    width: 6px;
	}

	.page-template-fy2024 .impact-stats .wp-block-column:nth-child(3):after
	{
	content: "";
    position: absolute;
    top: initial;
	bottom: 0%;
    right: 50%;
    height: calc(var(--wp--preset--spacing--max-48-px) + 6px);
    background-color: var(--wp--preset--color--yellow);
    transform: translateY(100%) !important;
    z-index: 0;
    width: 6px;
	}

		.page-template-fy2024 .impact-stats:last-of-type .wp-block-column:nth-child(3):after
	{
	display: none; 
	}

	.ceo-headshot {
		top: auto;
		left: 50%;
		right: auto;
		transform: translateX(-50%) translateY(0px);
		bottom: -48px;
	}

	.mobile-root-padding {
		padding-left: var(--wp--style--root--padding-left) !important;
		padding-right: var(--wp--style--root--padding-right) !important;
	}

	.fy2024-hero .wp-block-cover__inner-container.has-global-padding {
		padding-left: var(--wp--style--root--padding-left);
	}

	.fy2024-footer .wp-block-columns .wp-block-column.has-orange-background-color,
	.fy2024-footer .wp-block-columns .wp-block-column.has-white-background-color {
		padding-top: var(--wp--preset--spacing--max-120-px);
		padding-bottom: var(--wp--preset--spacing--max-120-px);
	}

	.fy2024-global-padding-left {
		padding-left: var(--wp--style--root--padding-left);
		padding-right: var(--wp--style--root--padding-right);
	}

	.page-template-fy2024 .wp-block-cover__image-background.has-parallax {
		background-repeat: repeat;
    	background-size: contain;
	}

	.our-approach-image, .our-approach-image + div > h3, 
	.program-icons > div
	{
		text-align: center; 
	}

}

@media only screen and (min-width: 600px) {

	/* Navigation Link
	--------------------------------------------- */

	.wp-block-navigation-item.is-style-outline a {
		border: 1px solid currentColor;
		padding: 8px 15px;
	}

}
