@charset "UTF-8";
/* Web Solutions 4.0 Compatible */

:root {
	--ws-sidenav-padding: clamp(1.5em, -1.385em + 6.15vw, 4em); /* 750 - 1400 */
}

.anchor { top: -7em; }
body.management .anchor {	top: -9em; }




/* HOVER ------------------------------*/
a:is(:hover, :focus-visible),
a:is(:hover, :focus-visible) * {
	color: var(--ws-red);
}


a:is(:hover,:focus-visible) span.button,
:is(button, .button, input:is([type="button"], [type="submit"], [type="reset"])):is(:hover, :focus-visible) {
	background-color: transparent;
	border-color: var(--ws-dk-blue);
	color: var(--ws-dk-blue);
}

:is(.button, button).outlined:not(.white):is(:hover, :focus-visible) {
	background-color: var(--ws-dk-blue);
	color: #FFF;
}

:is(.button, button).outlined.white:is(:hover, :focus-visible) {
	background-color: #FFF;
	color: var(--ws-dk-blue)
}

:is(.button, button).blue:is(:hover, :focus-visible) {
	border-color: var(--ws-aqua);
	color: var(--ws-aqua);
}

:is(.button, button).pink:is(:hover, :focus-visible) {
	border-color: var(--ws-red);
	color: var(--ws-red);
}

:is(.button, button).purple:is(:hover, :focus-visible) {
	border-color: var(--ws-purple);
	color: var(--ws-purple);
}

:is(.button, button).green:is(:hover, :focus-visible) {
	border-color: var(--ws-green);
	color: var(--ws-green);
}


/* HEADER ------------------------------*/
body>header {
	background: #FFF;
	position: sticky;
	top: 0;
	z-index: 1;
	border-bottom: .25em solid var(--light-blue-40);
}

body.management>header {
	top: 35px;
}

body>header>.wrap {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

#brand {
	display: block;
	max-width: clamp(14em, 3.106em + 17.02vw, 15.4375em); /* 750 - 1024 */
}

#brand img {
	display: block;
	height: auto;
}

nav ul {
	margin: 0;
}

#mainnav {
	display: flex;
	overflow: visible;
}

#mainnav ul {
	margin: 0;
	overflow: visible;
	padding: 0;
	text-align: center;
}

#mainnav li {
	display: inline-block;
	position: relative;
}

#mainnav a {
	color: var(--blue);
	display: inline-block;
	font-size: clamp(1em, 0.856em + 0.31vw, 1.125em); /* 750 - 1400 */
	line-height: 1;
	padding: 2em clamp(0.688rem, 0.347rem + 0.53vw, 0.813rem); /* 1024 - 1400 */
	text-decoration: none;
	font-weight: 500;
}

#mainnav a[href^="tel:"] {
	font-weight: 800;
	position: relative;
	z-index: 1;
	margin-left: 1em;
}

#mainnav a[href^="tel:"]:is(:hover, :focus-visible) {
	color: #fff;
}

#mainnav a[href^="tel:"]:before {
	content: "";
	position: absolute;
	top:50%;
	left:0;
	width: 100%;
	height: 2em;
	transform: translateY(-50%);
	border-radius: 10em;
	background: var(--lightest-blue);
	z-index: -1;
	transition: ease all 200ms;
}

#mainnav a[href^="tel:"]:is(:hover, :focus-visible):before {
	background: var(--blue);
}

#mainnav>ul>li:hover>a,
#mainnav>ul>li>a:focus-visible {
	background: var(--lightest-blue);
	color:var(--blue);
}

#mainnav>ul>li.on>a {
	background: var(--blue);
	color: #fff;
}


/* Accessible dropdowns */
#mainnav>ul>li {
  align-items: center;
  display: inline-flex;
  justify-content: end;
  position: relative;
}

#mainnav>ul>li.menu-item-has-children>a {
	padding-right: 1.8125em;
}

#mainnav>ul>li>button {
  background: transparent;
  border: 0;
  color: inherit;
  font-size: 1rem;
  height: 1.5rem;
  inset: 50% clamp(0.625rem, 0.77rem + -0.02vw, 0.75rem) auto auto;
  margin: 0;
  min-width: 0;
  outline-offset: -3px;
  padding: 0;
  pointer-events: none;
  position: absolute;
  transform: translateY(-50%);
  width: 1.5rem;
}

#mainnav>ul>li>button::before {
  background: var(--blue);
  content: '';
  inset: 1px;
  mask: url('/images/icons/chevron-down.svg') no-repeat center / auto .625em;
  opacity: .5;
  position: absolute;
  transition: all .3s ease;
}

#mainnav>ul>li:hover>button::before,
#mainnav>ul>li>button:focus-visible::before,
#mainnav>ul>li>a:focus-visible + button::before {
	opacity: 1;
}

#mainnav>ul>li.on>button::before {
  background: #FFF;
  opacity: 1;
}


/* drop-down menu */
#mainnav>ul>li>:where(ul, .megamenu) {
	background: var(--lightest-blue);
	border-radius: 0 0 .5rem .5rem;
	border-top: 0;
	box-shadow: 2px 0 0 0 #fff, -2px 0 0 0 #fff, 0 2px 0 0 #fff;
	height: auto !important;
	opacity: 0;
	overflow: auto;
	padding: .5em 0;
	position: absolute;
	top: -200vh;
	transition: ease .2s opacity .3s;
	visibility: hidden;
	width: 15.625rem;
	z-index: -1;
}

#mainnav>ul>li.on>:where(ul, .megamenu) {
	background: var(--blue);
}


/* fade out */
#mainnav li:not(.expand) > :where(ul, .megamenu) {
	transition:
	opacity .2s ease-out 0.25s,
	visibility .2s ease-out 0.25s,
	top 0s linear 0.7s;
}

#mainnav li:hover > :where(ul, .megamenu),
#mainnav>ul>li.tapped > :where(ul, .megamenu),
#mainnav>ul>li>a:focus + :where(ul, .megamenu),
#mainnav>ul>li.expand>:where(ul, .megamenu) {
	opacity: 1;
	top: 100%;
	visibility: visible;
}

/* fade in */
#mainnav>ul>li:is(:hover, .expand)>:where(ul, .megamenu) {
	transition:
	opacity .2s ease-in .3s,
	visibility .2s ease-in 0s,
	top 0s linear .3s;
}


#mainnav>ul>li:last-child ul {
	right: 0;
}

#mainnav li ul li {
	display: block;
	width: 100%;
}

#mainnav ul li ul li a {
	background: none;
	color: var(--blue);
	display: block;
	font-size: 1em;
	line-height: 1.1em;
	padding: .3em .625em;
	text-align: left;
	width: 100%;
}

#mainnav ul li.on ul li a {
	color: #fff;
}

#mainnav li ul li a:is(:hover, :focus-visible) {
	background: var(--light-blue-40);
	color: var(--blue);
}

#mainnav li ul ul {
	display: none;
}


/* mobile */
#mobilenav, .menu, .mobileOnly, .toggleNav {
	content-visibility: hidden;
	display: none;
}

#mainnav .megamenu {
	display: flex;
	justify-content: center;
	left: 50%;
	max-width: calc(72.9375em + 2 * var(--ws-gap));
	padding: 3em var(--ws-gap) 2em;
	transform: translateX(-50%);
	width: 100%;
}

#mainnav .megamenu>div {
	text-align: left;
}

#mainnav .megamenu>div:last-child {
	padding-left: var(--ws-gap);
	width: 17.5em;
}

#mainnav .megamenu li>a {
	border-radius: 1em;
	padding: .5em 1em .5em 2em;
	position: relative;
}

#mainnav .megamenu li>a:is(:hover, :focus-visible) {
	background: #FFF;
	color: var(--ws-blue);
}

#mainnav .megamenu li a::before {
	background-size: .75em .75em;
	left: 0.625em;
	top: .45em;
}

#mainnav .megamenu>div:first-child ul {
	columns: 2;
}

#mainnav .megamenu ul{
	opacity: 1;
	position: static;
	visibility: visible;
	width: auto;
}



/* TEXT ELEMENTS ------------------------------ */
.twoCol {
	columns: 2;
}

.threeCol {
	columns: 3;
}

.resCol {
	columns: auto;
	column-width: 13em;
}

.formTable td {
	width: 50%
}

.formTable td {
	padding: 0 0 .5em .5em
}

.formTable td:first-child {
	padding: 0 .5em .5em 0
}

.formTable td[colspan="2"] {
	padding-right: 0
}

.formTable.formLoose,
.formTable.formLoose td {
	width: auto
}

.photoright {
	margin: 0 0 1em 2em;
}

.photoleft {
	margin: 0 2em 1em 0;
}

.content :is(.photoright, .photoleft) {
	max-width: 35%;
}

.content .photoright figcaption {
	text-align: right;
}

.wsManagementLogin td:first-child {
	text-align: right;
	width: 40%;
}

#popover .close:is(:hover, :focus-visible) {
	opacity: 0.5;
}

.shareIcons a:is(:hover, :focus-visible) {
	background-color: var(--ws-red);
}

.stats.one p{width: 40%;padding: 0 1%;line-height: 1;}
.stats.two p{width: 40%;padding: 0 1%;line-height: 1;}
.stats.three p{width: 31.5%;padding: 0 1%;line-height: 1;}
.stats.four p{width: 23.5%;padding: 0 1%;line-height: 1;}


.image-rows figure {
	width: calc(50% - var(--ws-gap) / 2);
}

.content details summary h2 {
	cursor: pointer;
	font-size: 1.25em;
	transition: ease all 200ms;
}

.content details summary h2:is(:hover, :focus-visible) {
	box-shadow: inset 0 0 0 2px var(--light-blue-40);
}


/* FOOTER ------------------------------ */
#exposure {
	float: right;
	margin-left: .75em;
}

.footer-middle a:is(:hover, :focus-visible) {
	color: var(--ws-lt-blue-3);
}

.footer-bottom a:is(:hover, :focus-visible) {
	color: var(--ws-magenta);
}

body>footer .wrap nav span:before {
	content: "|";
	margin: 0 0.5em
}

.footer-top .wrap {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.footer-top p {
	font-size: 1.125em;
	line-height: 1.2;
	padding-left: 1.5em;
}

.footer-middle .wrap {
	display: flex;
	justify-content: center;
	text-align: center;
}



.footer-middle .wrap .column form {
	max-width: 15.625em;
}

.footer-middle .wrap form input:is(:hover, :focus-visible),
.footer-middle .wrap form input:is(:hover, :focus-visible) + .button {
	background: none;
	border-color: var(--ws-aqua);
	color: #fff;
}

.footer-middle .wrap form button:is(:hover, :focus-visible) {
	color:#fff;
}

.footer-middle .wrap > .social {
	text-align: right;
}

.footer-middle .wrap > .social ul {
	justify-content: flex-end;
}


body>footer .social a:is(:hover, :focus-visible) {
	background: var(--ws-aqua);
	border-color: var(--ws-aqua);
}

body>footer .copyright :is(p, nav) {
	display: inline;
}

/* MAIN ------------------------------ */
main {
	position: relative;
}

main>div>aside {
	float: left;
	margin-top: 2em;
	overflow: hidden;
	padding-right: var(--ws-sidenav-padding);
	width: calc(14.375em + var(--ws-sidenav-padding));
}

main>div>#content {
	float: right;
	padding: 2em 0 4em;
	overflow: hidden;
	min-height: 600px;
	position: relative;
	width: calc(100% - (14.375em + var(--ws-sidenav-padding)));
}

body.fullWidth main>div>#content {
	float: none;
	margin: 0 auto;
	width: 100%;
}

main.interior {
	background-image:	url('/images/circles/interior-left.svg'),	url('/images/circles/text-c-right.svg');
	background-repeat: no-repeat;
	background-position: calc(50% - 52em) 10em,	calc(50% + 52em) 12em;
	background-size: clamp(20em, 12.067em + 16.92vw, 26.875em) auto;
}


body.fullWidth main.interior>.wrap {
	max-width: 60em;
}


/* PAGEHEADER ------------------------------ */


/* SHARED ELEMENTS ------------------------------ */

/* COLORED CIRCLES ------ *
- Homepage ribbon 4 (.cta ribbon)
- Programs & Services ribbon 3 (.cta ribbon)
- About Us ribbon 4 (#leadership ribbon)
*/

.circle a:is(:hover, :focus-visible) {
	transform: scale(1.05);
}

.circle a::after {
	transition: ease all 200ms;
}

.circle a:is(:hover, :focus-visible)::before,
.circle a:is(:hover, :focus-visible) strong {
	opacity: 0;
}


/* COLORED BORDERS ----- */
.border-top::before,
.border-bottom::before {
	background: var(--ws-yellow);
}



/* CTA RIBBON  ------------------------------ /
- Homepage ribbon 4 + 6
- Standard interior ribbon 3
- Programs & Services ribbon 3
- Get Involved ribbon 3
- About ribbon 5 + 6
*/

.cta {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.cta .outer-wrap {
	grid-column: 1 / -1;
	grid-row: 1 / 2;
}

.cta::after {
	background: var(--light-blue-40);
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

.cta.overlap li:nth-child(odd) a::before { background: var(--blue); }
.cta.overlap li:nth-child(even) a::before { background: var(--ws-blue); }

.cta .ws-grid {
	grid-column: 1 / -1;
	grid-row: 1 / 2;
	z-index: 0;
	--ws-column-count: 9;
}

.cta .image {
	grid-column: 5 / -1;
	position: relative;
}

.cta:not(.reversed) .image::before {
	background: linear-gradient(90deg, rgba(237,241,246,1) 0%, rgba(237,241,246,0) 100%);
	content: '';
	left: 0;
	right: calc(100% - 5em);
	top: 0;
	bottom: 0;
	position: absolute;
}

.cta .wrap {
	padding-inline: 0;
}

.cta .wrap::before {
	aspect-ratio: 1;
	background: var(--lightest-blue);
	border: 1px solid var(--light-blue);
	border-radius: 50%;
	content: '';
	opacity: .125;
	position: absolute;
	width: 31.25em;
}

.cta:not(.reversed) .wrap::before {
	left: 2em;
	top: 0.25em;
	transform: translate(-50%,-50%);
}

.cta .textbox {
	max-width: min(31em, 55%);
	padding-block: clamp(6em, 2.538em + 7.38vw, 9em) clamp(5em, 1.538em + 7.38vw, 8em); /* 750 - 1400 */
	position: relative;
}

.cta.callouts .textbox {
	max-width: min(27em, 55%);
}

.cta .textbox::before {
	aspect-ratio: 1;
	background: #FFF;
	border-radius: 50%;
	content: '';
	left: calc(50% - 1.5em);
	position: absolute;
	top: 0;
	transform: translate(-50%,0);
	width: clamp(41em, 36.168em + 10.31vw, 45.188em);
	z-index: -1;
}

.cta .textbox::after {
	aspect-ratio: 1;
	background: linear-gradient(269deg, rgba(247,248,250,.7) 0%, #ECEFF3 21%);
	border-radius: 50%;
	content: '';
	position: absolute;
	left: calc(50% - 3em);
	top: 12.5em;
	transform: translate(-50%,-50%);
	width: clamp(42.75rem, 26.596rem + 34.46vw, 56.75rem);
	z-index: -2;
}

.cta .textbox>div {
	padding-inline: 1.5em clamp(1.5em, -0.231em + 3.69vw, 3em); /* 750 - 1400 */
}





/* SERVICES ------------------------------------*/

/* Homepage - Ribbon 3 */
#our-services {
	background-repeat: no-repeat;
	background-image: url(/images/circles/text-c-right.svg), url(/images/circles/text-c-left.svg);
	background-position: calc(50% - 53em) -11em, calc(50% + 60em) 25em;
	background-size: clamp(35.875em, 28.952em + 14.77vw, 41.875em) auto, clamp(43em, 36.077em + 14.77vw, 49em) auto;
}

#our-services ul.ws-flex {
	--ws-column-count: 3;
}

#our-services ul.ws-flex li:not(:nth-child(2), :nth-child(5)) {
	margin-top: 5em;
}

#our-services a:is(:hover, :focus-visible) .image {
	transform: scale(.95);
}



/* About Page - Ribbon 3 */

#services {
	background-color: var(--lightest-blue);
	background-image: url('/images/circles/text-c-left.svg'), url('/images/circles/text-c-right.svg');
	background-position: calc(50% - 46em) 2em, calc(50% + 47em) 50%;
	background-repeat: no-repeat;
	background-size: clamp(35.875em, 28.952em + 14.77vw, 41.875em) auto, clamp(43em, 36.077em + 14.77vw, 49em) auto;
}

#services .wrap {
	max-width: calc(100vw - clamp(1rem, -0.273rem + 6.36vw, 4.5rem));
}

#services ul.ws-flex {
	--ws-column-count: 4;
}

#services ul.twoCol {
	margin-inline: auto;
	max-width: 49.0625rem;
}


#services ul.ws-flex>li:nth-child(1n)>a:is(:hover,:focus-visible)::before {
	background-color: var(--ws-red);
}

#services ul.ws-flex li>a:is(:hover,:focus-visible)>span.button {
	border-color: var(--ws-red);
	color: var(--ws-red);
}


/* Services Landing Page - Ribbon 2 */
#services-list {
	background-repeat: no-repeat;
	background-image: url(/images/circles/text-c-right.svg), url(/images/circles/text-c-left.svg), url(/images/circles/text-c-right.svg), url(/images/circles/text-c-left.svg);
	background-position: calc(50% + 53em) -11em, calc(50% - 60em) 25em, calc(50% + 53em) 85%, calc(50% - 60em) calc(100% + 10em);
	background-size: clamp(35.875em, 28.952em + 14.77vw, 41.875em) auto, clamp(43em, 36.077em + 14.77vw, 49em) auto;
}

#services-list li.ws-grid-inner {
	--ws-column-count: 8;
	--ws-gap: 2em;
}

#services-list .image {
	top: -1.5em;
}

#services-list .textbox {
	max-width: 48em;
	padding: 3.5em 2.5em;
	width: 100%;
}

#services-list :is(.image, .textbox) {
	grid-row: 1 / 2;
}

#services-list li:nth-child(2n+1) .image {
	grid-column: 1 / 4;
}

#services-list li:nth-child(2n+1) .textbox {
	grid-column: 2 / -1;
}

#services-list li:nth-child(2n+2) .image {
	grid-column: 6 / -1;
	/*margin-left: auto;*/
}

#services-list li:nth-child(2n+2) .textbox {
	grid-column: 1 / 8;
	margin-left: auto;
}

#services-list li:nth-child(2n+1) .textbox>div {
	margin-left: auto;
	max-width: min(30em, 70%);
}

#services-list li:nth-child(2n+2) .textbox>div {
	max-width: min(27em, 70%);
}



/* CTA RIBBON (Reversed Variation) ------------------------------ /
- Homepage ribbon 6
- About page ribbon 6
*/
.cta.reversed .image {
	grid-column: 1 / 8;
	margin-inline: -3em;
}

.cta.reversed .textbox {
	margin-left: auto;
	max-width: min(31em, 55%);
	padding-block: clamp(5em, 1.538em + 7.38vw, 8em); /* 750 - 1400 */
}

.cta.reversed .textbox>div {
	max-width: 31em;
	padding-inline: clamp(1.5em, -0.231em + 3.69vw, 3em) 1.5em; /* 750 - 1400 */
}

.cta.reversed .textbox::before {
	left: calc(50% + 1.5em);
	top: 50%;
	transform: translate(-50%,-50%);
}

.cta.reversed .textbox::after {
	display: none;
}

.cta.reversed .wrap::before {
	bottom: 4.5em;
	right: 2em;
	transform: translate(50%,50%);
}



/* Get Involved page: */
.cta.reversed.long-text .wrap {
	max-width: calc(78em + 2 * var(--ws-gap));
}

.cta.reversed.long-text .textbox {
	max-width: min(36em, 65%);
}

.cta.reversed.long-text .textbox>div {
	max-width: 36em;
	padding-inline: clamp(1.5em, -4.333em + 12.44vw, 5em) 1.5em;
}






/* Contact Form - table removed ----- */
.form-flex .half {
	width: calc(50% - .5em); /* Full on mobile */
}

.form-flex .third {
	width: calc(33.33% - .5em); /* Full on mobile */
}

.form-flex .quarter {
	width: calc(25% - .5em); /* Half on mobile */
}

/* CTA RIBBON (Image Overlap Variation) ------------------------------ /
- About ribbon 5
*/
.cta.overlap {
	background: var(--ws-aqua) url('/images/circles/cta-callouts.svg') no-repeat calc(50% + 36em) calc(100% + 3em);
}

.cta.overlap .ws-grid {
	align-items: center;
	pointer-events: none;
	z-index: 2;
}

.cta.overlap .ws-grid img {
	grid-column: 6 / wrap-end;
}

.cta.overlap .textbox::after {
	background: rgba(255,255,255,0.05);
}



/* MAP RIBBON (Map Variation) ------------------------------ /
- Homepage ribbon 2
*/
#ribbon2 {text-align: center;}
.map {
	background-repeat: no-repeat;
	background-image: url(/images/circles/text-c-left.svg), url(/images/circles/text-c-left.svg);
	background-position: calc(50% - 53em) calc(100% - 15em), calc(50% + 53em) calc(100% + 4em);
	background-size: clamp(35.875em, 28.952em + 14.77vw, 41.875em) auto, clamp(43em, 36.077em + 14.77vw, 49em) auto;
}

.map .wrap {

}

.map .wrap .button:is(:hover, :focus-visible) {
	border-color: #fff;
}

.map .wrap h2{
	padding-top: 1.5em;
}



.map .wrap .div-tooltip {
	background-color: var(--dark-grey);
	color: #fff;
	display: none;
	font-size: 0.875rem;
	padding: 0.5em 1em;
	position: absolute;
	z-index: 2;
}






/* CTA RIBBON (Callouts Overlap Variation) ------------------------------ /
- Homepage ribbon 4
- Programs & Services ribbon 3
*/

.cta.overlap ul.ws-flex {
	--ws-column-count: 2;
	grid-column: 6 / wrap-end;
	flex-wrap: wrap;
	margin: 0;
	padding-block: 2.5em;
	row-gap: 3em;
}


.cta.overlap ul.ws-flex.left {
	--ws-column-count: 2;
	grid-column: 3 / 7;
	flex-wrap: wrap;
	margin: 0;
	padding-block: 2.5em;
	row-gap: 3em;
}

.cta.overlap li {
	position: relative;
}

.cta.overlap ul.ws-flex li:first-child {
	margin-left: calc( -1 * clamp(0em, -19.8em + 35.2vw, 11em) );
}

.cta.overlap .circle a {
	max-width: clamp(12em, 3.45em + 15.2vw, 16.75em); /* 900 - 1400 */
}

#who-we-help.cta .textbox {
	padding-block: clamp(8rem, 3.385rem + 9.85vw, 12rem) clamp(6rem, 1.385rem + 9.85vw, 10rem); /* 750 - 1400 */
}

#who-we-help.cta h2 {
	margin-bottom: 1em
}


/* Homepage ribbon 4 */
.cta.overlap.override .ws-grid {
	padding-block: 3em;
}

.cta.overlap.override ul.ws-flex {
	--ws-column-count: 3;
	grid-column: 5 / wrap-end;
}

.cta.overlap.override ul.ws-flex li:first-child {
	margin-left: calc( -1 * clamp(6em, -6em + 21.33vw, 10em)); /* 900 - 1200 */
}

.cta.overlap.override  .textbox>div {
	max-width: clamp(18rem, -18rem + 64vw, 30rem); /* 900 - 1200 */
}

.cta.overlap.override .circle .h3-size {
	font-size: clamp(1.1em, 0.8em + 0.53vw, 1.2em); /* 900 - 1200 */
}


@media (max-width: 900px) {
	.cta.overlap.override .ws-grid {
		grid-row: 1 / 3;
		padding-block: 3em 0;
	}

	.cta.overlap.override ul.ws-flex {
		--ws-column-count: 2;
		grid-column: 6 / wrap-end;
	}

	.cta.overlap.override ul.ws-flex li:first-child {
		margin-left: 0;
	}

	.cta.overlap.override  .textbox>div {
		max-width: 85%;
	}

	.cta.overlap.override ul.ws-flex li:nth-child(odd) {
		top: -8em;
	}


}




/* HERO ------------------------------ */
#hero {
	background: var(--ws-aqua);
}

#hero .ws-grid {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	--ws-column-count: 9;
	z-index: 0;
}

#hero :is(.slick-slider, .ws-grid>.image) {
	grid-column: 5 / -1;
}

#hero .pause-toggle {
	bottom: 4rem;
}

#hero .wrap {
	margin-block: 0;
	padding-inline: 0;
}

#hero .wrap::before {
	display: none;
}

#hero .wrap::after {
	aspect-ratio: 1;
	background: var(--lightest-blue);
	border: 1px solid var(--light-blue);
	border-radius: 50%;
	content: '';
	left: 3em;
	opacity: .125;
	position: absolute;
	top: 5em;
	transform: translate(-50%,-50%);
	width: 31.25em;
	z-index: -1;
}

#hero .textbox {
	align-items: center;
	display: flex;
	max-width: min(37.5em, 55%);
	min-height: clamp(20em, 2.692em + 36.92vw, 35em); /* 750 - 1400 */
	padding-block: 6em;
}

#hero .textbox::before {
	aspect-ratio: 1;
	background: #FFF;
	border-radius: 50%;
	content: '';
	left: calc(50% - 1.5em);
	position: absolute;
	z-index: -1;
}

#hero.home .textbox::before {
	background: #FFF url('/images/ypi-people.webp') no-repeat 50% 60% / auto 65%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 115%;
}

#hero.interior .textbox::before {
	bottom: 18em;
	top: auto;
	transform: translate(-50%,50%);
	width: clamp(37em, 32.817em + 8.92vw, 40.625em); /* 750 - 1400 */
}

#hero .textbox::after {
	aspect-ratio: 1;
	background: var(--lightest-blue);
	border-radius: 50%;
	bottom: 1em;
	content: '';
	opacity: 0.5;
	position: absolute;
	right: -5em;
	z-index: -2;
}

#hero.home .textbox::after {
	width: clamp(50em, 42.212em + 16.62vw, 56.75em); /* 750 - 1400 */
}

#hero.interior .textbox::after {
	width: clamp(48em, 41.51em + 13.85vw, 53.625em); /* 750 - 1400 */
}

#hero :is(.slick-list, .slick-track, .slick-slide div) {
	height: 100% !important;
}

#hero .textbox>div {
	padding-inline: 1.5em clamp(1.5em, -0.231em + 3.69vw, 3em); /* 750 - 1400 */
}

#hero a.scroll {
	bottom: clamp(1.5rem, -0.231rem + 3.69vw, 3rem);
	left: calc(50% - 1.5em);
}

#hero a.scroll:is(:hover, :focus-visible) {
	opacity: .7;
}
#hero blockquote{
	padding:.5em 1em;
	text-align:right;
}

#hero a:not(.button):is(:hover,:focus-visible) {
	text-decoration: underline;
}




/* EVENT (Homepage ribbon 2, About page ribbon 3) ------------------------------ */
#event .ws-grid-inner {
	--ws-column-count: 12;
	--ws-gap: 2em;
}

#event .image {
	align-items: center;
	display: grid;
	grid-column: wrap-start / 6;
	max-width: 25.3em;
	padding: 2em clamp(2em, -0.308em + 4.92vw, 4em) 2em 0; /* 750 - 1400 */
}

#event .image::before {
	right: clamp(2em, -0.308em + 4.92vw, 4em); /* 750 - 1400 */
	width: 100vw;
}

#event .image::after {
	aspect-ratio: 1;
	border-radius: 50%;
	content: '';
	position: absolute;
	right: clamp(0em, -2.308em + 4.92vw, 2em); /* 750 - 1400 */
	top: 50%;
	transform: translateY(-50%);
	width: 45.1875em;
	z-index: -1;
}

#event .details {
	align-items: center;
	display: flex;
	grid-column: 6 / wrap-end;
}

#event .details p {
	margin: 0;
}

#event .textbox {
	padding: 0 3.5em 0 0;
}

#event .button {
	white-space: nowrap;
}



/* CALLOUTS (Homepage ribbon 3) ------------------------------ */
#callouts::after {
	background-image: url('/images/circles/callouts-left.svg'), url('/images/circles/callouts-right.svg');
	background-repeat: no-repeat;
	background-position: calc(50% - 39em) 2em, calc(50% + 36em) -12em;
	background-size: clamp(36.875em, 29.952em + 14.77vw, 42.875em) auto, clamp(41.5em, 34.577em + 14.77vw, 47.5em) auto;
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

#callouts ul {
	--ws-column-count: 3;
}

#callouts a:is(:hover, :focus-visible) img {
	transform: scale(1.05);
}

#callouts a:is(:hover, :focus-visible) strong {
	color: var(--ws-magenta);
}



/* TEXT ------------------------------ /
- Homepage ribbon 5
- About page ribbon 2
*/

#text:not(.centered)  {
	background-image: url('/images/circles/text-left.svg'), url('/images/circles/text-right.svg');
	background-position: calc(50% - 46em) -.5em, calc(50% + 47em) -10em;
	background-size: clamp(36em, 29.077em + 14.77vw, 42em) auto, clamp(36em, 29.077em + 14.77vw, 42em) auto; /* 750 - 1400 */
}

#text.centered  {
	background-image: url('/images/circles/text-c-left.svg'), url('/images/circles/text-c-right.svg');
	background-position: -23.5em 50%, calc(100% + 28em) -12em;
	background-size: clamp(35.875em, 28.952em + 14.77vw, 41.875em) auto, clamp(43em, 36.077em + 14.77vw, 49em) auto; /* 750 - 1400 */
}

#text:not(.centered) .wrap {
	max-width: calc(47.75em + 2 * var(--ws-gap));
}

#text.centered .wrap {
	max-width: calc(35.5em + 2 * var(--ws-gap));
}

#text {
	background-repeat: no-repeat;
}




/* LEADERSHIP (About page ribbon 4) ------------------------------ */
#leadership h2 {
	margin: 0;
}

#leadership ul.ws-flex {
	--ws-column-count: 2;
}

/*#leadership li:nth-child(2) {
margin-top: 5em;
}*/

#leadership a:is(:hover, :focus-visible)::before {
	opacity: 0;
}




/* JOIN OUR TEAM (Careers page ribbon 4) ------------------------------ */
#joinOurTeam {
	background-image: url('/images/circles/text-c-right.svg'), url('/images/circles/text-c-right.svg');
	background-repeat: no-repeat;
	background-position: calc(50% - 45em) 0, calc(50% + 44em) calc(100% - 3em);
	background-size: clamp(20em, 12.067em + 16.92vw, 26.875em) auto;
}




/* LOGOS ( About page ribbon 7) ------------------------------ */
#logos ul.ws-flex {
	--ws-column-count: 6;
}

#logos a:is(:hover,:focus-visible) img {
	transform: scale(1.08);
}




/* CALLOUTS-2 (Programs & Services ribbon 2) ------------------------------ */
#callouts-2 {
	background: url('/images/circles/callouts-2.svg') no-repeat;
	background-position: right -13em bottom -18em;
	background-size: clamp(35.875em, 33.693em + 10.91vw, 41.875em) auto; /* 750 - 1400 */
}

#callouts-2 ul.ws-flex {
	--ws-column-count: 2;
}

#callouts-2 a:is(:hover, :focus-visible) .textbox>strong:first-child {
	color: var(--ws-blue);
}

#callouts-2 a:is(:hover, :focus-visible) span.button {
	background: var(--ws-blue);
	color: #FFF;
}



/* DONATION (Get Involved ribbon 2) ------------------------------ */

#donation .ws-grid-inner {
	--ws-column-count: 12;
	align-items: start;
}

#donation .textbox {
	grid-column: wrap-start / 6;
}

#donation form {
	grid-column: 7 / wrap-end;
	padding: 2em 1.3125em 2.5em; /* 750 - 1400 */
}

#donation form>div:nth-of-type(even) {
	border-radius: .5em;
}

#donation label.fourth {
	width: calc( 25% - var(--ws-form-gap));
}

#donation .other-amount span {
	width: calc(70% - clamp(1rem, -3.615rem + 9.85vw, 5rem))
}

#donation .other-amount input {
	padding-left: calc(70% - clamp(1rem, -3.615rem + 9.85vw, 5rem));
}

#donation label.radio:hover>div {
	background: var(--ws-dk-blue);
}

#donation label.radio:hover>span {
	color: #FFF;
}



/* CAREERS INTO RIBBON ------------------------------ /
*  - Careers page ribbon 2
*/

.careers-intro {
	background-image: url('/images/circles/text-left.svg') , url('/images/circles/text-right.svg');
	background-position: calc(50% - 46em) -.5em, calc(50% + 47em) -10em;
	background-repeat: no-repeat, no-repeat;
	background-size: clamp(36em, 29.077em + 14.77vw, 42em) auto, clamp(36em, 29.077em + 14.77vw, 42em) auto;
}

.careers-intro .wrap {
	max-width: 50em;
}


.careers-intro .ws-grid {
	height: 100%;
	width: 100%;
	--ws-max-content-width: calc(76.25em + 2 * var(--ws-gap));
	--ws-column-count: 12;
	--ws-gap: 1em;
}

.careers-intro .ws-grid .image {
	align-self: end;
	display: flex;
	grid-column: wrap-start / 5;
	justify-self: end;
	justify-content: end;
	margin-bottom: 1em;
	max-width: 85%;
}

.careers-intro .ws-grid .textbox {
	align-self: center;
	grid-column: 5 / 11;
	grid-row: 1 / 2;
	margin-inline: auto;
	max-width: min(33.125em, 85%);
}

.careers-intro .image {
	aspect-ratio: 1;
}

.careers-intro .ws-grid .image img {
	align-self: end;
	max-width: min(14.875em, 100%);
}

.careers-intro .ws-grid .images {
	align-self: start;
	display: grid;
	grid-column: 10 / wrap-end;
	grid-row: 1 / 2;
	margin-left: auto;
	max-width: max(22em, 85%);
	position: relative;
	right: -1.5em;
}




/* RESOURCES ------------------------------ */
.blog-intro .ws-grid .textbox {
	align-self: center;
	grid-column: 4 / 12;
	grid-row: 1 / 2;
	margin-inline: auto;
	max-width: none;
	padding: 2em;
	text-align: left;
}

#resources {
	background-image: url(/images/circles/text-c-right.svg), url(/images/circles/text-c-left.svg);
	background-position: calc(50% - 53em) -10em, calc(50% + 55em) -20em;
	background-repeat: no-repeat;
	background-size: clamp(35.875em, 28.952em + 14.77vw, 41.875em) auto, clamp(43em, 36.077em + 14.77vw, 49em) auto;
}

#resources ul.ws-flex {
	--ws-column-count: 3;
}

#resources ul.ws-flex li {
	display: flex;
	flex-direction: column;
	padding: 2em 1.5em;
}

#resources ul.ws-flex li .resource-links {
	align-items: center;
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	gap: 0.5em 1em;
	justify-content: flex-end;
	margin-top: auto;
}


#resources.media-page ul.ws-flex li>a:is(:hover,:focus-visible) {
	border-color: var(--ws-red);
}

#resources.media-page ul.ws-flex li>a:is(:hover,:focus-visible) span.button {
	background: #FFF;
	border-color: var(--ws-red);
	color: var(--ws-red);
}


/* Background image tiles */
#resources.media-page ul.ws-flex li>a::before {
	background-size: 300% 300%;
}

#resources.media-page ul.ws-flex li:nth-child(1)>a::before { background-position: 0 0; }
#resources.media-page ul.ws-flex li:nth-child(2)>a::before { background-position: 50% 0; }
#resources.media-page ul.ws-flex li:nth-child(3)>a::before { background-position: 100% 0; }
#resources.media-page ul.ws-flex li:nth-child(4)>a::before { background-position: 0 51%; }
#resources.media-page ul.ws-flex li:nth-child(5)>a::before { background-position: 50% 51%; }
#resources.media-page ul.ws-flex li:nth-child(6)>a::before { background-position: 100% 51%; }
#resources.media-page ul.ws-flex li:nth-child(7)>a::before { background-position: 0 100%; }
#resources.media-page ul.ws-flex li:nth-child(8)>a::before { background-position: 50% 100%; }
#resources.media-page ul.ws-flex li:nth-child(9)>a::before { background-position: 100% 100%; }





/* ADDITIONAL RESOURCES ------------------------------ */

#additional-resources {
	background-image: url(/images/circles/text-c-left.svg), url(/images/circles/text-c-left.svg);
	background-position: calc(50% + 50em) -30em, calc(50% - 55em) -30em;
	background-repeat: no-repeat;
	background-size: clamp(35.875em, 28.952em + 14.77vw, 41.875em) auto, clamp(43em, 36.077em + 14.77vw, 49em) auto;
}

#additional-resources ul.ws-flex {
	--ws-column-count: 3;
}

#additional-resources ul.ws-flex a:is(:hover, :focus-visible) {
	color: inherit;
}

#additional-resources li a:is(:hover, :focus-visible) > .button.white {
	background-color: transparent;
	border-color: var(--ws-dk-blue);
	color: var(--ws-dk-blue);
}


/* /media/ page overrides */
#resources.media-page ul.ws-flex li>a {
	padding: 2em 1.5em;
}


/* CIRCLE-TEXT ------------------------------ /
- Careers page ribbon 4
*/

.circle-text {
	background-image: url('/images/circles/circle-text-left.svg'), url('/images/circles/circle-text-right.svg');
	background-position: calc(50% - 30em) calc(50% + 8em), calc(50% + 43em) calc(50% - 13em);
	background-repeat: no-repeat;
}


.circle-text .wrap {
	align-items: start;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}

.circle-text .image {
	width: 53.3%;
}

.circle-text .textbox {
	padding-left: 2.125em;
	width: 46.7%
}


/* TESTIMONIALS ROTATOR ------------------------------ /
- Careers page ribbon 5
*/
.testimonials-rotator .wrap {
	padding-block: 6.375rem 3.6875rem;
}
.testimonials-rotator blockquote p {
	font-size: 1.875rem;
}
.testimonials-rotator cite {
	font-size: 1.25rem;
}




/* WORKPLACE AWARDS ------------------------------ /
- Careers page ribbon 5
*/
.workplace-awards ul.ws-flex {
	--ws-column-count: 5;
}




/* COLORED CIRCLES RIBBON ------------------------------ /
* - /impact/ page
*/

.colored-circles::before {
	background: url('/images/circles/colored-circles-left.svg') no-repeat calc(50% - 42.5em) 50% / auto 45em,
	url('/images/circles/colored-circles-right.svg') no-repeat calc(50% + 42.5em) 32.5% / auto 40.375em;
	content: '';
	inset: 0 0 -2em;
	position: absolute;
}

.colored-circles ul.ws-flex {
	--ws-column-count: 3;
}

.colored-circles li:nth-child(odd)>div {
	max-width: 19em;
}

.colored-circles strong {
	font-size: clamp(1rem, 0.792rem + 0.44vw, 1.125rem);
}




/* CIRCLE PHOTO RIBBON ------------------------------ /
* - /impact/ page
*/

.circle-photo {
	background: url('/images/circles/circle-photo-left.svg') no-repeat calc(50% - 42.5em) 50% / auto 27.125em,
	url('/images/circles/circle-photo-right.svg') no-repeat calc(50% + 42.5em) 32.5% / auto 35.5em;
}

.circle-photo .wrap {
	align-items: start;
	display: flex;
	justify-content: space-between;
}

.circle-photo .wrap .textbox {
	width: calc(52% - 1.25em);
}

.circle-photo figure {
	width: calc(48% - 1em);
}




/* DIAGRAM RIBBON ------------------------------ /
* - /impact/ page
*/

.diagram {
	background: url('/images/circles/diagram-left.svg') no-repeat calc(50% - 45.5em) calc(100% + 2em) / auto 36.625em,
	url('/images/circles/diagram-right.svg') no-repeat calc(50% + 28em) calc(100% + 4em) / auto 46.375em;
}





/* (STAR) ICON BOXES RIBBON ------------------------------ /
* - /impact/ page
*/

.icon-boxes::before {
	background: url('/images/circles/icon-boxes-left.svg') no-repeat calc(50% - 42.5em) 0 / auto 45em,
	url('/images/circles/icon-boxes-right.svg') no-repeat calc(50% + 38em) 2.5em / auto 40.3125em;
	content: '';
	inset: -.75em 0 0;
	position: absolute;
}

.icon-boxes ul.ws-flex {
	--ws-column-count: 3;
}




/* YPI VIDEOS RIBBON ------------------------------ /
* - /media/ page
*/

.ypi-videos::before {
	background: url('/images/circles/ypi-videos-left.svg') no-repeat calc(50% - 40em) 7em / auto 27.1875em,
	url('/images/circles/ypi-videos-right.svg') no-repeat calc(50% + 39em) 1.5em / auto 35.6875em;
	content: '';
	inset: 0;
	position: absolute;
}

.ypi-videos .ws-flex {
	--ws-column-count: 3;
}

.ypi-videos figure::before {
	background: var(--ws-blue);
	content: '';
	inset: 0;
	opacity: 0;
	position: absolute;
	transition: all .3s ease;
}

.ypi-videos button:is(:hover,:focus-visible) figure::before {
	opacity: .5;
}

.ypi-videos button:is(:hover,:focus-visible) figure img {
	transform: scale(1.05);
}

.ypi-videos figure::after {
	height: clamp(2.5em, 0.833em + 3.56vw, 3.5em);
}



/* DIALOG / POPUP ------------------------------ /
* - .ypi-videos ribbon video popups
*/

dialog button.close:is(:hover,:focus-visible) {
	color: #FFF !important;
	opacity: .75;
}





/* MAX-WIDTH MEDIA QUERIES ------------------------------ */

/* 1500 */
@media (max-width: 93.75em) {
	.careers-intro {
		background-position: left -20.125em top -.5em, right -21.125em top -10em;
	}
}




/* 1400px */
@media (max-width: 87.5em) {
	#mainnav>ul>li:nth-last-child(2) ul {
		left: auto;
		right: 0;
	}
}




/* 1150 */
@media (max-width:71.8745em) {
	#hero blockquote{padding-left: 15em;}
}


/* 1024px */
@media (max-width: 64em) {
	body>header>.wrap {
		flex-direction: column;
	}

	#brand {
		padding-block: 1em .5em;
	}

	#mainnav>ul>li:first-child>ul {
		left: 0;
		right: auto;
	}

	#mainnav>ul>li>button {
		inset: 50% .4375em auto auto;
	}

	#mainnav a {
		padding: .875em 0.6875em;
	}

	#event .details {
		display: block;
	}

	#event .details p {
		margin: 0 0 1em;
	}

	.cta.overlap .ws-grid img {
		grid-column: 7 / wrap-end;
	}

	#services ul.ws-flex {
		--ws-column-count: 2;
	}

	#additional-resources ul.ws-flex {
		--ws-column-count: 2;
	}

}


/* 950px */
@media (max-width: 59.375em) {
	#donation label.third {
		width: calc(50% - var(--ws-form-gap));
	}
	#hero blockquote{padding-left: 12em;font-size: .85em;line-height: 1em;}
}



/* 900px */
@media (max-width: 56.25em) {

	#logos ul.ws-flex {
		--ws-column-count: 3;
	}

	#callouts-2 {
		background: none;
	}

	#callouts-2 ul.ws-flex {
		margin-inline: auto;
		max-width: 40em;
		--ws-column-count: 1;
	}

	#donation label.half {
		width: calc( 100% - var(--ws-form-gap));
	}

	#donation label.fourth {
		width: calc( 50% - var(--ws-form-gap));
	}

	/* CTA RIBBON (Callouts Overlap Variation) */
	.cta.callouts .textbox::before {
		top: calc(50% - 3em);
		transform: translate(-50%,-50%);
	}

	.cta.callouts .textbox::after {
		top: calc(50% - 12em);
	}

	.cta.callouts .ws-grid {
		grid-row: 2 / 3;
	}

	.cta.callouts ul.ws-flex {
		grid-column: 1 / -1;
		margin: 0 auto;
		max-width: 40em;
		padding-block: 0 5em;
		row-gap: 4em;
	}

	.cta.callouts .circle a {
		max-width: 16.6875em;
	}


	.icon-boxes ul.ws-flex {
		--ws-column-count: 2;
	}

}




/* MIN-WIDTH MEDIA QUERIES ------------------------------ */

/* 1400 */
@media (min-width: 87.5em) {
	main.interior::before {
		left: calc(50% - 53em);
	}

	#text.centered {
		background-position: calc(50% - 46em) 50%, calc(50% + 47em) -12em;
	}

	#callouts-2 {
		background-position: calc(50% + 35em) calc(100% + 18em);
	}

}


/* 1800 */
@media (min-width: 112.5em) {
	body { font-size: 1.1em; }
}


/* 2400 */
@media (min-width: 150em) {
	body { font-size: 1.2em; }
}



/* --------------~~~~~ STYLE-D.CSS ~~~~~-------------- */
