/*
Theme Name: Raspberry Sunrise
Author: Mike Targett
Description: Geologica
Version: 1.0
*/

/*------------------------------------*\
	NORMALIZE
\*------------------------------------*/
 
html {
	-webkit-box-sizing: border-box;
		 -moz-box-sizing: border-box;
			box-sizing: border-box;
	-webkit-text-size-adjust: none;
		-ms-text-size-adjust: none;
			font-size-adjust: none;
}

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

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	position: relative;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
h1,h2,h3,h4,h5,h6,
header,
hgroup,
menu,
nav,
section {
	display: block;
	clear: both;
}

/*------------------------------------*\
	FONTS
\*------------------------------------*/

body,
input,
select,
button {
	font-family: "Geologica", serif;
	font-optical-sizing: auto;
	font-weight: 200;
	font-style: normal;
	font-variation-settings:
		"slnt" 0,
		"CRSV" 0,
		"SHRP" 0;
}


/*------------------------------------*\
	BODY
\*------------------------------------*/

html {
	scroll-behavior: smooth;
	scrollbar-gutter: stable;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

html.lock-scroll {
	overflow: hidden;
	overscroll-behavior: contain;
}

html,
body {
	height: 100%;
	font-size: 1rem;
}

body {
	height: fit-content;
	background: #fff;
	line-height: 1;
	font-weight: 200;
	color: #20252a;
}

/*------------------------------------*\
	LINKS
\*------------------------------------*/

a,
a:hover,
a:focus,
a:active {
	color: #20252a;
	text-decoration: none;
}

article p a,
article li a {
	color: #d25b79;
	font-weight: 500;
	text-decoration: underline;
}

article p a:hover
article li a:hover {
	color: #20252a;
	text-decoration: underline;
}

/*------------------------------------*\
	BUTTONS
\*------------------------------------*/

.button,
.wp-block-button a,
.wpforms-page-button {
	position: relative !important;
	display: inline-block !important;
	overflow: hidden !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0.875rem !important;
	background: #d25b79 !important;
	border-style: solid !important;
	border-width: 0 !important;
	border-color: #d25b79  !important;
	border-radius: 0.1875rem !important;
	font-size: 0.75rem !important;
	line-height: 1 !important;
	font-weight: 500 !important;
	letter-spacing: normal !important;
	text-transform: uppercase !important;
	text-align: center !important;
	cursor: pointer !important;
	text-decoration: none !important;
	color: #fff !important;
	-webkit-transition: 0.3s;
	   -moz-transition: 0.3s;
		 -o-transition: 0.3s;
			transition: 0.3s;
}

.wp-block-button a {
	font-size: 1rem !important;
	margin-bottom: 1.5rem !important;
}

.button:hover,
.button:active,
.button:focus,
.wp-block-button a:hover,
.wp-block-button a:active,
.wp-block-button a:focus,
.wpforms-page-button:hover {
	background: #f1b53d !important;
	border-color: #f1b53d !important;
	color: #fff !important;
}

.black-button {
	background: #20252a !important;
	border-color: #20252a !important;
}

/*------------------------------------*\
	TABLES
\*------------------------------------*/

table {
	table-layout: fixed;
	width: 100%;
	margin: 0 0 1.5rem;
	border-width: 0;
	border-collapse: collapse;
	border-spacing: 0;
}

th,
td,
.wp-block-table th,
.wp-block-table td {
	padding: 0.75rem 1rem;
	background: #EAF1F6;
	border: 1px solid #fff;
	border-width: 0 2px 2px 0;
	font-size: 0.875rem;
	line-height: 1.125rem;
	font-weight: 200;
	text-align: left;
}

th,
.wp-block-table th {
	background: #2E353C;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
}

.wp-block-table thead {
	border-bottom: none 0;
}

/*------------------------------------*\
	ALIGNS
\*------------------------------------*/

.clear { clear: both; }

.alignleft { float: left; }

.alignright { float: right; }

.align-left { text-align: left; }

.align-right { text-align: right; }

.align-center { text-align: center; }

.align-vertical {
	display:flex;
	flex-direction:column;
	justify-content:center; 
}

.align-horizontal {
	align-items: center;
}

/*------------------------------------*\
	OPACITIES
\*------------------------------------*/

.opacity-1   { opacity: 0.10 }
.opacity-1-5 { opacity: 0.15 }
.opacity-2   { opacity: 0.20 }
.opacity-2-5 { opacity: 0.25 }
.opacity-3   { opacity: 0.30 }
.opacity-3-5 { opacity: 0.35 }
.opacity-4   { opacity: 0.40 }
.opacity-4-5 { opacity: 0.45 }
.opacity-5   { opacity: 0.50 }
.opacity-5-5 { opacity: 0.55 }
.opacity-6   { opacity: 0.60 }
.opacity-6-5 { opacity: 0.65 }
.opacity-7   { opacity: 0.70 }
.opacity-7-5 { opacity: 0.75 }
.opacity-8   { opacity: 0.80 }
.opacity-8-5 { opacity: 0.85 }
.opacity-9   { opacity: 0.90 }
.opacity-9-5 { opacity: 0.95 }
.opacity-10  { opacity: 1.00 }

/*------------------------------------*\
	WEIGHTS
\*------------------------------------*/

.font-weight-100 { font-weight: 100; }
.font-weight-200 { font-weight: 200; }
.font-weight-300 { font-weight: 300; }
.font-weight-400 { font-weight: 400; }
.font-weight-500 { font-weight: 500; }
.font-weight-600 { font-weight: 600; }
.font-weight-700 { font-weight: 700; }
.font-weight-800 { font-weight: 800; }
.font-weight-900 { font-weight: 900; }

/*------------------------------------*\
	SIZES
\*------------------------------------*/

small { font-size: 80%; }
big { font-size: 120%; }

.font-size-smallest  { font-size: 0.625rem; line-height: 1.25 }
.font-size-xxx-small { font-size: 0.75rem; line-height: 1.35 }
.font-size-xx-small  { font-size: 0.875rem; line-height: 1.35; }
.font-size-x-small   { font-size: 1rem; line-height: 1.5 }
.font-size-small     { font-size: 1.125rem; line-height: 1.5; } 
.font-size-medium    { font-size: 1.25rem; line-height: 1.5; }
.font-size-large     { font-size: 1.375rem;  line-height: 1.25; }
.font-size-x-large   { font-size: 1.5rem; line-height: 1.25; }
.font-size-xx-large  { font-size: 1.625rem; line-height: 1.25; }
.font-size-xxx-large { font-size: 1.75rem; line-height: 1.25; }
.font-size-largest   { font-size: 2rem; line-height: 1.25; }

@media (min-width: 64rem) {

	.font-size-large     { font-size: 1.5rem; line-height: 1.25; }
	.font-size-x-large   { font-size: 1.75rem; line-height: 1.1875; }
	.font-size-xx-large  { font-size: 2rem; line-height: 1.125; }
	.font-size-xxx-large { font-size: 2.5rem; line-height: 1.0625; }
	.font-size-largest   { font-size: 3.5rem; line-height: 1.0625; }

}

/*------------------------------------*\
	VARIOUS
\*------------------------------------*/

em, .font-style-italic { font-style: italic; }

b, strong { font-weight: 500; }

.font-style-strikethrough, del { opacity: 0.8; text-decoration: line-through; }

.uppercase  { text-transform: uppercase; }
.lowercase  { text-transform: lowercase; }
.capitalize { text-transform: capitalize; }

ins { background: #ffc; }

pre {
	max-width: 100%;
	overflow: auto;
	padding: 1rem 1.25rem;
	border: 1px solid #a79c93;
	border-radius: 0;
	background-color: #f2f5f8;
	font-size: 0.75rem;
	line-height: 1;
	text-transform: uppercase;
	color: #a79c93;
	white-space: pre-wrap;
	word-wrap: break-word;
}

abbr,
acronym {
	border-bottom: 1px dotted #777;
	text-decoration: none;
	cursor: help;
}

sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

sup { top: -0.5em; }

sub { bottom: -0.25em; }

dl { margin: 0 0 1.5em; }

dt { font-weight: 400; }

dd { margin: 0 0 1.5em; }

hr,
.wp-block-separator {
	clear: both;
	height: 1px;
	margin: 2.25rem 0;
	border: 0;
	border-top: 0;
	background: #d7d7d7;
}

.nowrap { white-space: nowrap; }

/*------------------------------------*\
	LISTS
\*------------------------------------*/

ul,
ol {
	margin: 0 0 1.5rem;
	padding: 0;
}

ul.list-style-none {
	list-style: none;
}

ul.list-style-disc {
	list-style: disc;
	margin-left: 1.5rem;
}

ul.list-style-circle {
	list-style: circle;
	margin-left: 1.5rem;
}

ul ul {
	list-style: circle;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
}

/*------------------------------------*\
	LIST-LINKS
\*------------------------------------*/

ul.list-links,
.list-links li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.list-links li {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.625rem;
	font-size: 0.8125rem;
	line-height: 1;
	font-weight: 700;
	color: #20252a;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
}

.list-links li > a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	color: inherit;
}

.list-links i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	padding: 0.625rem;
	background: #7ba8c7;
	border-radius: 9999px;
	color: #fff;
	font-size: 1.5rem;
}

.list-links i,
.list-links span {
	line-height: 1;
}

/*------------------------------------*\
	SIMPLE-LINKS
\*------------------------------------*/

.simple-links {
	margin: 0 0 1.5rem 1.5rem;
	padding: 0;
	list-style: disc;
}

.simple-links li {
	margin-bottom: 0.75rem;
}

.simple-links a {
    font-size: 1rem;
    line-height: 1.25;
    font-weight: 500;
    color: #d25b79;
}

/*------------------------------------*\
	SIMPLE-ICON-LINKS
\*------------------------------------*/

.simple-icon-links li {
	display: block;
	margin-bottom: 1rem;
}

.simple-icon-links a {
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
    font-size: 1rem;
    line-height: 1.25;
    font-weight: 700;
}

.simple-icon-links i {
	font-size: 1rem;
}

/*------------------------------------*\
	IMAGES
\*------------------------------------*/

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

.entry-content .attachment-post-thumbnail {
	margin-bottom: 2.25rem;
}

/* 
IMAGIFY is taking care of this now 

	.aspect-ratio-6-4 img,
	img.aspect-ratio-6-4 {
		aspect-ratio: 6/4;
	}

	.aspect-ratio-16-9 img,
	img.aspect-ratio-16-9 {
		aspect-ratio: 16/9;
	}

	.aspect-ratio-auto img,
	img.aspect-ratio-auto {
		aspect-ratio: auto;
	}
*/

img.alignright {
	display: inline;
	float: right; 
	margin: 0 0 1.5rem 1.5em;
}

img.alignleft {
	display: inline;
	float: left;
	margin: 0 1.5rem 1.5rem 0;
}

img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

img.circle {
	display: block;
	width: 125px;
	height: 125px;
	min-width: 125px;
	min-height: 125px;
	border-radius: 50%;
	object-fit: cover;
	object-position: 50% 50%;
	margin: 0 1.5rem 0.5rem 0;
}

.wp-block-image {
	margin-bottom: 2.25rem;
}

.wp-element-caption {
	margin: 0 0 0.75rem;
	padding: 0.875rem 0 1rem;
	border-bottom: solid 1px #d7d7d7;
	font-size: 0.8125rem;
	line-height: 1.1875rem;
	font-weight: 200;
}

.tiled-gallery__gallery {
	margin-bottom: 1.5rem;
}

/*------------------------------------*\
	IMAGES <<< Cover >>>
\*------------------------------------*/

.image-cover {
	display: grid;
	overflow: hidden;
}

.image-cover > img {
	width: 100%;
 	height: 100%;
	display: block;
	object-fit: cover;
 	object-position: center;
}

/*------------------------------------*\
	IMAGES <<< Featured >>>
\*------------------------------------*/

.featured-image {
	display: inline-block;
	aspect-ratio: 6 / 4;
	overflow: hidden;
	background: #000;
}

.featured-image img {
	display: inline-block;
	width: 100%;
	min-width: 100%;
	height: auto;
	min-height: 100%;
}

/*------------------------------------*\
	IMAGES <<< Featured w/ Caption >>>
\*------------------------------------*/

.nd-featured-media {
	position: relative;
	margin: 0;
}

.nd-featured-media img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 2.25rem;
}

.nd-caption-toggle {
	position: absolute;
	right: 0.375rem;
	bottom: 0.375rem;
	z-index: 2;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	cursor: pointer;
	display: grid;
	place-items: center;
	line-height: 1;
	background: transparent;
	box-shadow: none;
}

.nd-caption-toggle i {
	font-size: 1.375rem;
	line-height: 1;
}

.nd-caption-toggle i.fa-duotone {
	--fa-primary-color: #ffffff;
	--fa-secondary-color: #000000;
	--fa-secondary-opacity: 1;
}

.nd-caption-box {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	max-width: 100%;
	padding: 0.75rem 3.5rem 1rem 0.875rem;
	background: #20252a;
}

.nd-featured-media .nd-caption-box[hidden] {
	display: none !important;
}

figcaption.nd-caption-box p {
	margin-bottom: 0;
	font-size: 0.75rem;
	line-height: 1.5;
	color: #fff;
}

figcaption.nd-caption-box a:hover {
	color: #fff;
}

/*------------------------------------*\
	IMAGES <<< Front Page Featured >>>
\*------------------------------------*/

#front-page-featured article {
	padding-bottom: 1.5rem;
}

#front-page-featured img {
	aspect-ratio: auto;
}

#front-page-featured .categorized {
	display: none;
}

/*------------------------------------*\
	HERO
\*------------------------------------*/

#hero {
	position: relative;
	z-index: 0;
	margin-top: 4rem;
	overflow: hidden;
}

#hero:not(.has-video) { 
	height: calc(100vh - 4rem); 
}

#hero.has-video #hero-media { 
	height: auto; 
}

#hero-media {
	position: relative;
	height: 100%;
	will-change: transform;
}

#hero-media > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

@media (prefers-reduced-motion: reduce) {
	#hero-media > img { transform: none !important; }
}

/*------------------------------------*\
	HERO <<< Video >>>
\*------------------------------------*/

.video-wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.video-wrapper .video-fallback,
.video-wrapper iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
	object-fit: cover;
	transition: opacity 500ms ease;
}

.video-wrapper .video-fallback {
	opacity: 1;
	z-index: 0;
}

.video-wrapper iframe {
	opacity: 0;
	z-index: 1;
	pointer-events: none;
}

.video-wrapper.is-ready iframe {
	opacity: 1;
	pointer-events: auto;
}

.video-wrapper.is-ready .video-fallback {
	opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
	.video-wrapper .video-fallback,
	.video-wrapper iframe {
		transition: none;
	}
}

#hero.has-video,
#hero.has-video #hero-media {
	height: auto;
}

#hero.has-video .video-wrapper {
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: none;
}

/*------------------------------------*\
	VIDEO
\*------------------------------------*/

.is-type-video .wp-block-embed__wrapper {
	position: relative;
	height: 0;
	margin: 0;
	padding-bottom: 56.25%;
}

article .is-type-video .wp-block-embed__wrapper {
	margin-bottom: 2.25rem;
}

.is-type-video .wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.single-format-video .entry-content .wp-post-image {
	display: none;
} 

/*------------------------------------*\
	HEADER
\*------------------------------------*/

header {
	position: fixed;
	top: 0;
	z-index: 99999999;
	width: 100%;
	height: 4rem;
	box-sizing: border-box;
	padding: 0.75rem 1rem 0.75rem 0.125rem;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}

@media (min-width: 64rem) {

	header {
		padding-left: 0.75rem;
	}
}

.header-logo {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	margin-right: 1rem;
}

.header-logo img {
	width: 62px;
	height: 45px;
	margin: 0 9px;
}

.header-title {
	font-size: 0.8125rem;
	line-height: 1.125rem;
	font-weight: 300;
	color: #20252a;
}

.header-title a {
	color: #20252a !important;        
}

.home .site-title,
.page-title {
	font-weight: 700;
}

.home .page-title {
	display: none;
}

.header-menu {
	display: flex;
	flex-flow: row nowrap;
	gap: 0.75rem;
}

.header-menu a {
	display: inline-flex;
	align-items: center;
	font-weight: 700;
	color: #20252a;
	cursor: pointer;
	text-decoration: none;
}

.header-menu a > span {
	display: inline-flex;
	align-items: center;
	gap: 0.3125rem;
}

.header-menu a > span > span {
	display: none;
}

.header-menu i {
	font-size: 1.25rem;
	font-weight: 900;
	color: #20252a;
}

/* Show "open", hide "close" */
.header-menu .header-menu-hamburger .hamburger-menu-open  { display: inline-flex; }
.header-menu .header-menu-hamburger .hamburger-menu-close { display: none; }

/* When menu is open, swap these */
.header-menu .header-menu-hamburger.is-open .hamburger-menu-open  { display: none; }
.header-menu .header-menu-hamburger.is-open .hamburger-menu-close { display: inline-flex; }


@media (min-width: 64rem) {

	.header-title {
		display: inline-flex;
		flex-flow: row wrap;
		gap: 0.3125rem;
		font-size: 1.25rem;
		line-height: 1rem;
		font-weight: 200;
	}

	.header-menu {
		gap: 1.5rem;
	}

	.header-menu a {
		gap: 0.3125rem;
		font-size: 0.875rem;
		line-height: 2.5rem;
		text-transform: uppercase;
	}

	.header-menu a > span > span {
		display: inline;
	}

	.header-menu i {
		font-size: 0.8125rem;
		font-weight: 700;
		color: #d25b79;
	}

	.header-menu-hamburger {
		transition: background-color .3s ease, color .3s ease, padding .3s ease, border-radius .3s ease, font-weight .3s ease;
	}

	.header-menu-hamburger.is-open {
		padding: 0 0.75rem;
		background: #20252a;
		border-radius: 4px;
		color: #fff;
		font-weight: 600;
	}

	.header-menu .header-menu-hamburger .hamburger-menu-close {
		display: none;
	}

	.header-menu .header-menu-hamburger.is-open .hamburger-menu-close {
		display: inline-flex;
	}

}

/*------------------------------------*\
	DONATE BUTTON
\*------------------------------------*/

.header-menu a.header-menu-donate i {
	color: #d25b79;
}

@media (min-width: 64rem) {

	.header-menu a.header-menu-donate {
		position: relative;
		gap: 0.3125rem;
		padding: 0 0.75rem;
		background: #f1b53d;
		border-radius: 3px;
		font-size: 0.875rem;
		line-height: 2.5rem;
		font-weight: 700;
		text-transform: uppercase;
		color: #20252a;
		overflow: hidden;
		cursor: pointer;
	}

	.header-menu a.header-menu-donate:hover {
		background: #d25b79;
		color: #fff;
	}

	.header-menu a.header-menu-donate:hover i {
		color: #ff8097;
	}

}

/*------------------------------------*\
	WRAPPER
\*------------------------------------*/

.wrapper-padded,
.wrapper-flush {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	z-index: 2;
}

.wrapper-padded {
	padding-left: 1rem;
	padding-right: 1rem;
}

.wrapper-flush {
	margin: 0;
	padding: 0;
}

.wrapper-narrow,
.wrapper-medium,
.wrapper-wide,
.wrapper-wider,
.wrapper-widest {
	display: block;
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0; 
	margin-left: auto;
	margin-right: auto;
}

.wrapper-narrow { 
	max-width: 42.5rem; 
}

.wrapper-medium {
	max-width: 52.5rem;
}

.wrapper-wide {
	max-width: 62.5rem;
}

.wrapper-wider {
	max-width: 72.5rem;
}

.wrapper-widest {
	max-width: 82.5rem;
}

@media (min-width: 42.5rem) {

	.wrapper-padded {
		padding-left: 2rem;
		padding-right: 2rem;
	}

}

@media (min-width: 64rem) {

	.wrapper-padded {
		padding-left: 3rem;
		padding-right: 3rem;
	}

}

@media (min-width: 82.5rem) {

	.wrapper-padded {
		padding-left: 4rem;
		padding-right: 4rem;
	}

}

/*------------------------------------*\
	GRIDS
\*------------------------------------*/

.fixed-grid,
.fluid-grid { 
	display: grid;
}

.grid-column {

}

.grid-column-vertical {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.grid-column-vertical > :last-child {
	margin-top: auto;
}

/*------------------------------------*\
	GRIDS <<< Column >>>
\*------------------------------------*/

.grid-columns-auto       { grid-template-columns: auto; }
.grid-columns-auto-auto  { grid-template-columns: auto auto; }
.grid-columns-1-auto     { grid-template-columns: 1fr auto; }
.grid-columns-auto-1     { grid-template-columns: auto 1fr; }
.grid-columns-auto-1-1   { grid-template-columns: auto 1fr 1fr; }
.grid-columns-auto-1-1-1 { grid-template-columns: auto 1fr 1fr 1fr }
.grid-columns-1-1        { grid-template-columns: repeat(2, 1fr); }
.grid-columns-1-1-1      { grid-template-columns: repeat(3, 1fr); }
.grid-columns-1-1-1-1    { grid-template-columns: repeat(4, 1fr); }
.grid-columns-1-1-1-1-1  { grid-template-columns: repeat(5, 1fr); }
.grid-columns-1-2        { grid-template-columns: 1fr 2fr; }
.grid-columns-1-2-1      { grid-template-columns: 1fr 2fr 1fr; }
.grid-columns-1-3        { grid-template-columns: 1fr 3fr; }
.grid-columns-1-3-1      { grid-template-columns: 1fr 3fr 1fr; }
.grid-columns-1-4        { grid-template-columns: 1fr 4fr; }
.grid-columns-2-1        { grid-template-columns: 2fr 1fr; }
.grid-columns-2-1-1      { grid-template-columns: 2fr 1fr 1fr; }
.grid-columns-2-3        { grid-template-columns: 2fr 3fr; }
.grid-columns-3-1        { grid-template-columns: 3fr 1fr; }
.grid-columns-3-2        { grid-template-columns: 3fr 2fr; }
.grid-columns-4-1        { grid-template-columns: 4fr 1fr; }

/*------------------------------------*\
	GRIDS <<< Fluid >>>
\*------------------------------------*/

@media (max-width: 64rem) {

	.fluid-grid[class*="grid-columns-"] {
 		grid-template-columns: 1fr !important;
	}

}

/*------------------------------------*\
	GRIDS <<< Collapse 3, 2, 1 >>>
\*------------------------------------*/

@media (min-width: 48rem) {

	.flex-grid-1-2-3 {
		grid-template-columns: 1fr 1fr;
	}

}

@media (min-width: 87.5rem) {

	.flex-grid-1-2-3 {
		grid-template-columns: 1fr 1fr 1fr;
	}

}

/*------------------------------------*\
	GRIDS <<< Collapse 4, 2, 1 >>>
\*------------------------------------*/

@media (min-width:42.5rem) and (max-width:63.999rem) {

	.flex-grid-1-2-4 {
		grid-template-columns: 1fr 1fr;
	}

}

@media (min-width: 64rem) {

	.flex-grid-1-2-4 {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

}

/*------------------------------------*\
	GRIDS <<< Collapse 4, 3, 2, 1 >>>
\*------------------------------------*/

@media (min-width:42.5rem) and (max-width:63.999rem) {

	.flex-grid-1-2-3-4 {
		grid-template-columns: 1fr 1fr;
	}

}

@media (min-width: 64rem) {

	.flex-grid-1-2-3-4 {
		grid-template-columns: 1fr 1fr 1fr;
	}

}


@media (min-width: 87.5rem) {

	.flex-grid-1-2-3-4 {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

}

/*------------------------------------*\
	GRIDS <<< Column Gap >>>
\*------------------------------------*/

.grid-column-gap-none       { column-gap: 0; }
.grid-column-gap-smallest   { column-gap: 0.125rem; }
.grid-column-gap-xxx-small 	{ column-gap: 0.25rem; }
.grid-column-gap-xx-small   { column-gap: 0.75rem; }
.grid-column-gap-x-small    { column-gap: 1.5rem; }
.grid-column-gap-small      { column-gap: 2.25rem; }
.grid-column-gap-medium     { column-gap: 3rem; }
.grid-column-gap-large      { column-gap: 4.5rem; }
.grid-column-gap-x-large    { column-gap: 6rem; }
.grid-column-gap-xx-large   { column-gap: 7.5rem; }
.grid-column-gap-xxx-large  { column-gap: 9rem; }
.grid-column-gap-xxxx-large { column-gap: 10.5rem; }

/*------------------------------------*\
	GRIDS <<< Row Gap >>>
\*------------------------------------*/

.grid-row-gap-none       { row-gap: 0; }
.grid-row-gap-xxxx-small { row-gap: 0.125rem; }
.grid-row-gap-xxx-small  { row-gap: 0.25rem; }
.grid-row-gap-xx-small   { row-gap: 0.75rem; }
.grid-row-gap-x-small    { row-gap: 1.5rem; }
.grid-row-gap-small      { row-gap: 2.25rem; }
.grid-row-gap-medium     { row-gap: 3rem; }
.grid-row-gap-large      { row-gap: 4.5rem; }
.grid-row-gap-x-large    { row-gap: 6rem; }
.grid-row-gap-xx-large   { row-gap: 7.5rem; }
.grid-row-gap-xxx-large  { row-gap: 0rem; }
.grid-row-gap-xxxx-large { row-gap: 10.5rem; }

/*------------------------------------*\
	GRIDS <<< Re-Order >>>
\*------------------------------------*/

@media (max-width: 63.999rem) {

  .grid-order-1-2-4-3 > .grid-column:nth-child(1) { order: 1; }
  .grid-order-1-2-4-3 > .grid-column:nth-child(2) { order: 2; }
  .grid-order-1-2-4-3 > .grid-column:nth-child(4) { order: 3; }
  .grid-order-1-2-4-3 > .grid-column:nth-child(3) { order: 4; }

}

/*------------------------------------*\
	GRIDS <<< Masonry >>>
\*------------------------------------*/

.masonry-grid {
	display: flex;
	align-items: stretch;
	width: 100%;
	gap: 0.75rem;
}

.masonry-grid-column {
	width: 50%;
}

.masonry-card {
	position: relative;
	display: block;
	height: 100%;
	overflow: hidden;
	border-radius: 4px;
	text-decoration: none;
	color: inherit;
}

.masonry-sub-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 0.75rem;
	height: 100%;
}

.masonry-grid img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.masonry-caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 0.3125rem 0.625rem;
	font-size: 0.9375rem;
	line-height: 1.25;
	font-weight: 500;
	color: #fff;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.65) 0%,
		rgba(0, 0, 0, 0.25) 60%,
		rgba(0, 0, 0, 0) 100%
	);
	text-shadow: 0 1px 2px rgba(0,0,0,0.5);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	pointer-events: none;
}

.masonry-card:hover .masonry-caption,
.masonry-card:focus-visible .masonry-caption {
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.8) 0%,
		rgba(0, 0, 0, 0.35) 60%,
		rgba(0, 0, 0, 0) 100%
	);
}

.masonry-card:focus-visible {
	outline: 3px solid rgba(123, 168, 199, 0.8);
	outline-offset: 2px;
}

@media (max-width: 768px) {

	.masonry-grid {
		flex-direction: column;
	}

	.masonry-sub-grid {
		height: auto;
	}

}

/*------------------------------------*\
	STYLIZED GRID
\*------------------------------------*/

.stylized-grid .grid-column {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 2rem;
	border-bottom: solid 1px #434a50;
	text-align: center;
}

.stylized-grid .stylized-label {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 1.5rem;
	right: -1.25rem;
}

.stylized-grid .stylized-number {
	margin-bottom: -5rem;
	margin-left: -5rem;
	font-size: 8rem;
	line-height: 1;
	font-weight: 800;
	pointer-events: none;
}

.stylized-grid i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	background: #fff;
	border-radius: 9999px;
	font-size: 2rem;
	color: #d25b79;
	text-shadow: 0 1px 1px rgb(0 0 0 / 10%)
}

.stylized-grid h6 {
	margin: 0 0 1rem;
	font-size: 1rem;
	text-transform: none;
	color: #d25b79;
}

@media (min-width: 64rem) {

	.stylized-grid .grid-column {
		padding: 0 2rem;
		border-bottom: none;
		border-right: 1px solid #434a50;
	}

	.stylized-grid .grid-column:last-child {
		border-right: none;
	}

}

/*------------------------------------*\
	FLEXBOX
\*------------------------------------*/

.add-flex {
	display: flex;
}

.flex-row-nowrap {
	flex-flow: row nowrap;
}

.flex-row-wrap {
	flex-flow: row wrap;
}

.flex-direction-column {
	flex-direction: column;
}

.justify-content-space-between {
	justify-content: space-between;
}

.align-items-center {
	align-items: center;
}

.align-items-baseline {
	align-items: baseline;
}

/*------------------------------------*\
	INFO <<< Contact >>>>
\*------------------------------------*/

.info-contact div {
	padding: 0.375rem 0 0.1875rem;
	font-size: 0.8125rem;
	line-height: 1;
	font-weight: 250;
	color: #20252a;
}

.info-contact i {
	display: none;
}

/*------------------------------------*\
	BUSINESS CARDS
\*------------------------------------*/

.page-staff h6 {
	margin-bottom: 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    color: #d25b79;
    text-transform: uppercase;
}

.business-card {
	display: grid;
	grid-template-columns: 85px auto;
	grid-gap: 1rem;
	padding-bottom: 1.5rem;
	align-items: center;
	padding: 0.75rem 0.75rem 1rem;
    border-radius: 6px;
    border: none 0;
}

.business-card-headshot,
.business-card-headshot img {
	width: 85px;
	height: 85px;
	border-radius: 50%;
	object-fit: cover;
	object-position: 50% 50%;
}

.business-card-headshot img {
	display: block;
}

.business-card-headshot .no-user-image {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 85px;
	height: 85px;
	background: #fff;
	border-radius: 999px;
	overflow: hidden;
}

.business-card-headshot .no-user-image i {
	font-size: 5rem;
	color: #d7d7d7;
	top: 10px;
}

.business-card-details {
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
}

.business-card-details h5 {
	margin-bottom: 0;
	padding-top: 0 !important;
	font-size: 0.875rem;
	line-height: 1.125rem;
	text-transform: capitalize;
}

.business-card-details h6 small { /* pronouns */
	text-transform: lowercase;
	font-weight: 200;
}

.business-card-details span {
	display: block;
	font-size: 0.75rem;
	line-height: 1rem;
	margin-top: 0.125rem;
}

.business-card-details span.business-card-title {
	font-weight: 350;
	font-style: italic;
}
	
.business-card-details span.business-card-phone {
	margin-bottom: 0;
}

/*------------------------------------*\
	ARTICLES
\*------------------------------------*/

article {
	display: block;
	width: 100%;
	padding-bottom: 3rem;
}

article p,
article li {
	font-size: 1rem;
	line-height: 1.75rem;
}

article p {
	margin-bottom: 1.5rem;
}

article ul,
article ol {
	margin: 0 0 1.5rem 1.125rem;
}

	@media (min-width: 64rem) {

		article ul,
		article ol {
			margin: 0 0 1.5rem 2.25rem;
		}

	}

.wp-block-spacer {
	height: 6rem;
}

/*------------------------------------*\
	EXCERPTS
\*------------------------------------*/

.excerpt p {
	margin-bottom: 1.5rem;
	font-size: 1.125rem;
	line-height: 1.5;
	font-weight: 300;
}

.bloggy-grid .excerpt p,
.bloggy-column .excerpt p {
	margin-bottom: 0;
	font-size: 0.875rem;
	line-height: 1.3125rem;
}

.add-elipsis:after {
	content: '...';
	display: inline;
}

.category-ideas .excerpt {
	display: none;
}

/*------------------------------------*\
	BLOG LAYOUTS
\*------------------------------------*/	

.event-info p {
	font-size: 0.9375rem;
	line-height: 1.5;
}

#infiniteGrid .event-info p {
	font-size: 0.75rem;
}

/*------------------------------------*\
	BLOG LAYOUTS
\*------------------------------------*/	

.bloggy-column article {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 0.75rem;
}

.bloggy-grid article {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 0.75rem;
	align-content: start;
}

@media (min-width: 42.5rem) and (max-width: 63.999rem) {

	.bloggy-grid article {
		grid-template-columns: 1fr 2fr;
	    column-gap: 0.75rem;
	}

}

/*------------------------------------*\
	ARTICLE BOX
\*------------------------------------*/

body.blog article.category-news,
body.blog article.category-press-release,
body.category-press-release article.category-press-release {
	padding: 1.5rem 1.5rem 2.25rem;
	background: #fff;
	border-radius: 4px;
}

/*------------------------------------*\
	SEARCH RESULTS
\*------------------------------------*/

.search-results article.category-press-release,
.search-results article.nd_careers {
	display: block;
	margin-bottom: 1.75rem;
	padding: 1.5rem 1.5rem 2.25rem;
	background: #EAF1F6;
	border-radius: 4px;
}

.search-results article.nd_careers {
	padding-top: 1.875rem;
	padding-bottom: 1.5rem;
}

.category-press-release time {
	font-size: 0.8125rem;
}

/*------------------------------------*\
	FEATURED
\*------------------------------------*/

@media (min-width: 64rem) {

	.featured-blog {
		padding-bottom: 1.5rem;
	}

	.featured-blog article {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 1.5rem;
	}

	.featured-blog article .post-title {
		font-size: 2.5rem;
		line-height: 1.125;
		margin-bottom: 1rem;
	}

}

.featured-blog-snippet {
	display: none;
}

.featured-blog .featured-blog-snippet {
	display: block;
}

/*------------------------------------*\
	ENTRY META
\*------------------------------------*/

.entry-meta {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.75rem;
	padding: 0.875rem 0;
	font-size: 0.625rem;
    line-height: 1;
    text-transform: uppercase;
}

/*------------------------------------*\
	NEXT/PREVIOUS
\*------------------------------------*/

.next-previous {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.5rem;
	padding: 18px 0 17px;
	border: solid 1px #20252a;
	border-width: 1px 0;
}

.next-previous a {
	font-weight: 700;
	font-size: 0.75rem;
	line-height: 1;
	text-transform: uppercase;
}

/*------------------------------------*\
	SHARE THIS
\*------------------------------------*/

.share-this {
	position: relative;
	display: inline-block;
}

.share-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.3125rem;
	cursor: pointer;
	border: 1px solid #d7d7d7;
	background: #fff;
	border-radius: 4px;
	padding: 0.25rem 0.5rem;
	line-height: 1;
	font: inherit;
}

.share-toggle i {
	font-size: 1rem;
	color: #20252a;
}

.share-list {
	display: none;
	position: absolute;
	top: calc(100% + 10px);
	bottom: auto;
	right: 0;
	left: auto;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.5rem;
	padding: 0.5rem;
	margin: 0;
	list-style: none;
	background: #fff;
	border: 1px solid #d7d7d7;
	border-radius: 6px;
	z-index: 9999;
	overflow: visible;
	box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

.share-list[hidden] {
	display: none !important;
}

.share-this.is-open .share-list {
	display: flex;
}

.share-list::before,
.share-list::after {
	content: "";
	position: absolute;
	right: 14px;
	width: 0; height: 0;
}

.share-list::before {
	top: -9px;
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-bottom: 9px solid #c7c7c7;
	z-index: -1;
}

.share-list::after {
	top: -8px;
	right: 15px;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #fff;
}

.share-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.1875rem 0.5rem 0.125rem 0.25rem;
	border: 1px solid #d7d7d7;
	border-radius: 4px;
	font-size: 0.625rem;
	font-weight: 500;
	color: #20252a;
	text-decoration: none;
	background: #EAF1F6;
	cursor: pointer;
	line-height: 1;
	white-space: nowrap;
}

.share-link:hover {
	background: #f6f6f6;
	text-decoration: none; 
}

.share-link i {
	font-size: 1rem;
}

@media (min-width: 64rem) {

	.share-list {
		top: auto;
		bottom: calc(100% + 10px);
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		gap: 0.5rem 0.75rem;
		min-width: max-content;
	}

	.share-list::before {
		top: auto;
		bottom: -9px;
		right: 14px;
		border-left: 9px solid transparent;
		border-right: 9px solid transparent;
		border-bottom: 0;
		border-top: 9px solid #c7c7c7;
	}

	.share-list::after {
		top: auto;
		bottom: -8px;
		right: 15px;
		border-left: 8px solid transparent;
		border-right: 8px solid transparent;
		border-bottom: 0;
		border-top: 8px solid #fff;
	}

}

/*------------------------------------*\
	INFINITE SCROLL
\*------------------------------------*/

.visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/*------------------------------------*\
	BOILERPLATES
\*------------------------------------*/

.home .short-boilerplate {
	display: none;
	position: absolute;
	bottom: 0;
	border-bottom: solid 3px #000;
	padding: 1.5rem 2rem 1.25rem;
	width: calc(100% - 4rem);
	background: rgba(0, 0, 0, .85);
	color: #fff;
	font-size: 1rem;
	line-height: 1.5rem;
	font-weight: 100;
	z-index: 1;
}

.home .short-boilerplate strong {
	font-size: 1.25rem;
	font-weight: 400;
}

/*------------------------------------*\
	SLIDESHOWS
\*------------------------------------*/

.nd-slider {
	position: relative;
	overflow: hidden;
}

.nd-slider-viewport {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.nd-slider-track {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
	will-change: transform;
	transform: translateX(0);
	transition: transform 400ms ease;
}

.nd-slide {
	flex: 0 0 100%;
}

.nd-slide-figure {
	margin: 0;
	position: relative;
}

.nd-slide-img {
	display: block;
	width: 100%;
	height: auto;
}

.nd-slide-caption {
	font-size: 0.875rem;
	line-height: 1.3;
	font-weight: 500;
	color: #20252a;
	background: rgba(255, 255, 255, 0.85);
	padding: 0.5rem 0.75rem;
	position: absolute;
	left: 0.75rem;
	bottom: 0.75rem;
	border-radius: 0.375rem;
}

.nd-slider:hover .nd-slide-caption {
	background: rgba(255, 255, 255, 0.95); 
}

@media (prefers-reduced-motion: reduce) {
	.nd-slider-track { transition: none; }
}

/*------------------------------------*\
	GRAPHS
\*------------------------------------*/

.wp-block-media-text {
	display: flex;
	flex-flow: column;
	flex-direction: column-reverse;
	justify-content: start;
	width: 100%;
	padding: 3rem 0 4.5rem;
}

.page .wp-block-media-text {
	padding: 1.5rem 0 3rem;
}

.wp-block-media-text figure {
	width: 100%;
}

.wp-block-media-text img {
	width: 100%;
	height: auto;
	border: solid 1px #d7d7d7;
}

.wp-block-media-text .wp-block-media-text__content {
	display: block;
	width: 100%;
	padding: 0;
}

	@media (min-width: 64rem) {

		.wp-block-media-text .wp-block-media-text__content {
			display: flex;
			flex-flow: row nowrap;
			justify-content: space-between;
		}
		
	}

.wp-block-media-text .wp-block-media-text__content p {
	margin: 0 0 .5rem;
	font-size: 0.875rem;
	line-height: 1.25;
}

.wp-block-media-text .wp-block-media-text__content p:first-child {
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
}

.wp-block-media-text .wp-block-media-text__content p a {
	text-decoration: none;
}

.wp-block-media-text .wp-block-media-text__content p a:after {
	font-family: 'Font Awesome 6 Pro';
	position: relative;
	left: 0;
	top: -0.0625rem;
	margin-left: 0.25rem;
	font-size: 0.625rem;
	font-weight: 300;
	color: #008ac5;
	content: "\f08e";
	text-decoration: none;
}

/*------------------------------------*\
	QUOTES
\*------------------------------------*/

.wp-block-pullquote,
.wp-block-quote {
	box-sizing: border-box !important;
	margin: 2.5rem 0 !important;
	padding: 0 !important;
	text-align: center !important;
	overflow-wrap: break-word !important;
}

.wp-block-pullquote blockquote,
.wp-block-quote {
	padding: 1.5rem !important;
	border: 1px solid #d7d7d7 !important;
	border-width: 1px 0 !important;
	background: transparent !important;
	text-align: center !important;
}

.wp-block-quote > .wp-block-quote {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.wp-block-pullquote blockquote p,
.wp-block-quote p {
	margin-bottom: 1rem !important;
	font-weight: 350 !important;
}

.wp-block-pullquote blockquote cite,
.wp-block-quote cite,
.wp-block-quote p:last-child em {
	font-size: 0.85rem !important;
	font-style: italic !important;
	font-weight: 200 !important;
}

.wp-block-pullquote blockquote cite:before,
.wp-block-quote cite:before,
.wp-block-quote p:last-child em:before {
	content: "—" !important;
	margin-right: 0.25em !important;
}

@media (min-width: 64rem) {

	.wp-block-pullquote blockquote,
	.wp-block-quote {
		padding: 2rem !important;
	}

}

/*------------------------------------*\
	DONATION FORMS
\*------------------------------------*/

#donation-form, 
#donation-form .wrapper-wide, 
#donation-form .qgiv-embed-container { 
  overflow: visible; 
}

#donation-form .qgiv-embed-container iframe {
  display: block;
  width: 100% !important;
  min-height: 700px;
  border: 0;
}

/*------------------------------------*\
	CATEGORIES
\*------------------------------------*/

.categorized {
	display: inline-block;
	margin-bottom: 0.25rem;
}

.categorized a {
	position: relative;
	display: inline-flex;
	align-items: center;
	margin: 0 1.0625rem 0.3125rem 0;
	padding: 0;
	font-size: 0.625rem;
	line-height: 1.25rem;
	font-weight: 500;
	text-transform: uppercase;
	color: #20252a;
	white-space: nowrap;
}

.categorized span:before {
	font-family: 'Font Awesome 6 Pro';
	margin-right: 0.3125rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: #d25b79;
	content: "\f02b";
}

.categorized .housing span:before {
	content: "\f015";
}

.categorized .population span:before {
	content: "\e473";
}

.categorized .energy-and-climate span:before {
	content: "\f0ac";
}

.categorized .health span:before {
	content: "\f004";
}

.categorized .poverty span:before {
	content: "\f291";
}

.categorized .food-security span:before {
	content: "\f2e7";
}

.categorized .governance span:before {
	content: "\f2bd";
}

.categorized .aging-in-place span:before {
	content: "\f6c0";
}

.categorized .arts-culture span:before {
	content: "\f53f";
}

.categorized .ideas span:before {
	content: "\f672";
}

.categorized .cedif span:before {
	content: "\f4d8";
}

.categorized .events,
.categorized .blog,
.categorized .featured,
.categorized .eltuek-cafe-marie,
.categorized .eltuek-corridor-gallery,
.categorized .eltuek-front-grounds,
.categorized .eltuek-gallery-203,
.categorized .eltuek-gallery-209,
.categorized .eltuek-gallery-211,
.event-info .events,
.event-info .events-eltuek {
	display: none;
}

/*------------------------------------*\
	JOB POSTINGS <<< Archive >>>
\*------------------------------------*/

.job-posting-active .show-if-expired,
.job-posting-expired .show-if-active {
	display: none;
}

.job-posting-active .show-if-active,
.job-posting-expired .show-if-expired {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 700;
}

.job-posting-expired .show-if-expired {
	color: red !important;
}

.job-posting-active .show-if-active {
	color: green !important;
}

table.job-posting-details {
	table-layout: auto;
	margin-bottom: 0;
	border-spacing: 0;
	border-collapse: separate;
}

table.job-posting-details thead th {
	position: sticky;
	top: 64px;
	background: #2E353C;
	z-index: 2;
}

@media (max-width: 64rem) {

	table.job-posting-details thead th {
		top: 4rem;
	}

}

.page-jobs table.job-posting-details td:nth-child(1) {
	font-weight: 500;
}

.page-jobs table.job-posting-details td:nth-child(2) {
	white-space: nowrap;
}

@media (max-width: 64rem) {

	table.job-posting-details th:nth-child(2),
	table.job-posting-details th:nth-child(3),
	table.job-posting-details td:nth-child(2),
	table.job-posting-details td:nth-child(3),
	body.page-jobs table.job-posting-details th:nth-child(4),	
	body.page-jobs table.job-posting-details td:nth-child(4) {
		display: none;
	}

}

#job-postings table.job-posting-details td {
	background: #fff;
	border-color: #EAF1F6;
}

/*------------------------------------*\
	JOB POSTINGS <<< Single >>>
\*------------------------------------*/

.single-job-details {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-column-gap: 3px;
	grid-row-gap: 3px;
	margin-bottom: 3px;
}

.single-job-details span {
	display: inline-block;
	margin: 0;
	padding: 0.8125rem 0.875rem 0.75rem;
	background: #eff4f8;
	font-size: 0.75rem;
	line-height: 1.5;
}

.single-job-details span:nth-of-type(odd) {
	font-weight: 500;
	text-transform: uppercase;
}

.single-job-details a {
	text-decoration: none;
}

/*------------------------------------*\
	ACCORDION
\*------------------------------------*/	

.block-accordions {
	/* required for javascript */
}

.accordion-question {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: solid 1px rgb(0 0 0 / 10%);
	font-size: 1.25rem;
	font-weight: 200;
	cursor: pointer;
}

.accordion-question p {
	font-size: 1rem;
	font-weight: 400;
}

.accordion-answer {
	display: none;
	margin-bottom: 1rem;
	padding-bottom: 1.5rem;
	border-bottom: solid 1px rgb(0 0 0 / 10%);
}

.accordion-answer p {
	margin-bottom: 0.75rem;
	font-size: 0.9375rem;
	line-height: 1.375;
}

.accordion-answer p:last-child {
	margin-bottom: 0;
}

.accordion-answer ul {
	margin: 0 0 0 1.5rem;
	padding: 0;
}

.accordion-answer li {
	margin-bottom: 0.25rem;
	font-size: 0.9375rem;
	line-height: 1.375;
}

.accordion-answer .grid-column {
	margin-bottom: 0.75rem;
	font-size: 0.875rem;
	line-height: 1;
}

.accordion-answer .grid-column:nth-child(even) {
	font-weight: 200;
}

@media (max-width:63.999rem) {

	.accordion-answer .grid-column:nth-child(odd) {
		margin-bottom: 0.5rem;
	}

	.accordion-answer .grid-column:nth-child(even) {
		padding-bottom: 0.75rem;
		border-bottom: 1px solid rgb(0 0 0 / 10%);
	}

}

@media (min-width: 64rem) {

	.accordion-answer .grid-column {
		padding-bottom: 0.75rem;
		border-bottom: 1px solid rgb(0 0 0 / 10%);
	}

}

.accordion-question .accordion-open i {
	display: inline-block;
	transform-origin: 50% 50%;
	transition: transform 180ms ease;
}

.block-accordion.accordion-show .accordion-question .accordion-open i {
	transform: rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {
	.accordion-question .accordion-open i { transition: none; }
}

/* Smaller */

.block-accordions.font-smaller .accordion-question {
    margin-bottom: .75rem;
    padding-bottom: .75rem;
}

.block-accordions.font-smaller .accordion-question p,
.block-accordions.font-smaller .accordion-answer p {
	font-size: 0.8125rem;
    line-height: 1.35;	
}

/*------------------------------------*\
	ACCORDION-EXPANDED
\*------------------------------------*/	

.accordion-expanded > .grid-row {
	margin-bottom: 1rem;
	padding: 0 0 1rem;
}

.accordion-expanded h4 {
	margin: 0 0 1rem;
	padding: 0.9375rem 0 0.75rem;
	border: solid 1px #d7d7d7;
	border-width: 1px 0;
}

.accordion-expanded > .grid-row:first-child h4 {
	padding-top: 0;
	border-top: 0 none;
}

.accordion-expanded p {
	margin-bottom: 0.75rem;
	font-size: 0.9375rem;
	line-height: 1.375;
}

.accordion-expanded p:last-child {
	margin-bottom: 0;
}

.accordion-expanded ul {
	margin: 0 0 0 1.5rem;
	padding: 0;
}

.accordion-expanded li {
	margin-bottom: 0.25rem;
	font-size: 0.9375rem;
	line-height: 1.375;
}

/*------------------------------------*\
	BRAND COLOURS <<< Backgrounds >>> 
\*------------------------------------*/

.background-night,
.background-night.wave-top::before {
	background: #2E353C;
}

.background-overcast,
.background-overcast.wave-top::before {
	background: #D3DBE2;
}

.background-raspberry,
.background-raspberry.wave-top::before {
	background: #d25b79;
}

.background-sunrise,
.background-sunrise.wave-top::before {
	background: #f1b53d;
}

.background-ocean,
.background-ocean.wave-top::before {
	background: #76879c;
}

.background-seaglass,
.background-seaglass.wave-top::before {
	background: #9FC0D7;
}

.background-seafoam,
.background-seafoam.wave-top::before {
	background: #C5DAD2;
}

.background-seamist,
.background-seamist.wave-top::before {
	background: #EAF1F6;
}

.background-whitecap,
.background-whitecap.wave-top::before {
	background: #f8f9fa;
}

.background-white,
.background-white.wave-top::before {
	background: #fff;
}

.background-lighten {
	background: rgba(255, 255, 255, 0.25); 
}

.background-darken {
	background: rgba(0, 0, 0, 0.25); 
}

/*------------------------------------*\
	BRAND COLOURS <<< Text >>> 
\*------------------------------------*/

.color-night,
.wp-block-heading.color-night {
	color: #20252a;
}

.color-overcast,
.wp-block-heading.color-overcast {
	color: #D3DBE2;
}

.color-raspberry,
.wp-block-heading.color-raspberry {
	color: #d25b79;
}

.color-sunrise,
.wp-block-heading.color-sunrise {
	color: #f1b53d;
}

.color-ocean,
.wp-block-heading.color-ocean {
	color: #76879c;
}

.color-seaglass,
.wp-block-heading.color-seaglass {
	color: #7ba8c7;
}

.color-seafoam,
.wp-block-heading.color-seafoam {
	color: #aeccc5;
}

.color-seamist,
.wp-block-heading.color-seamist {
	color: #EAF1F6;
}

.color-whitecap,
.wp-block-heading.color-whitecap {
	color: #f8f9fa;
}

.color-white,
.wp-block-heading.color-white {
	color: #fff;
}

/*------------------------------------*\
	BRAND COLOURS <<< Borders >>> 
\*------------------------------------*/

.wp-block-heading.color-night {
	border-bottom-color: #20252a;
}

.wp-block-heading.color-overcast {
	border-bottom-color: #D3DBE2;
}

.wp-block-heading.color-raspberry {
	border-bottom-color: #d25b79;
}

.wp-block-heading.color-sunrise {
	border-bottom-color: #f1b53d;
}

.wp-block-heading.color-ocean {
	border-bottom-color: #76879c;
}

.wp-block-heading.color-seaglass {
	border-bottom-color: #7ba8c7;
}

.wp-block-heading.color-seafoam {
	border-bottom-color: #aeccc5;
}

.wp-block-heading.color-seamist {
	border-bottom-color: #EAF1F6;
}

.wp-block-heading.color-whitecap {
	border-bottom-color: #f8f9fa;
}

.wp-block-heading.color-white {
	border-bottom-color: #fff;
}

/*------------------------------------*\
	BRAND COLOURS <<< Waves - Top >>> 
\*------------------------------------*/

.wave-top { 
	position: relative;
}

.wave-top > * { 
	position: relative;
	z-index: 1;
}

.wave-top::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -140px;
	height: 140px;
	transform: rotate(180deg);
	z-index: 0;
	-webkit-mask-image: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none">\
  <path fill="black" d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z"/>\
</svg>');
	mask-image: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none">\
  <path fill="black" d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z"/>\
</svg>');
	-webkit-mask-size: 147% 140px; mask-size: 147% 140px;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-position: left center; mask-position: left center; /* default: left */
}

@media (max-width: 42.5rem) {

	.wave-top::before{
		top: -110px;
		height: 110px;
		-webkit-mask-size: 147% 110px; mask-size: 147% 110px;
	}

}

/*------------------------------------*\
	BRAND COLOURS <<< Waves - Bottom >>> 
\*------------------------------------*/

.wave-bottom {
	position: relative;
	overflow: hidden;
	background-image: linear-gradient(to top, rgba(0,0,0,0.2) 0, rgba(0,0,0,0.2) 20px, transparent 20px);
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: 100% 100%;
}

.wave-bottom > * {
	position: relative;
	z-index: 1;
}

.wave-bottom::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	bottom: 160px;
	height: 140px;
	z-index: 0;
	pointer-events: none;
	background: rgba(0,0,0,0.2);
	transform: scaleY(-1);
	transform-origin: left bottom;
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path fill="black" d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path fill="black" d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z"/></svg>');
	-webkit-mask-size: 147% 140px;  mask-size: 147% 140px;
	-webkit-mask-repeat: no-repeat;  mask-repeat: no-repeat;
	-webkit-mask-position: left bottom; mask-position: left bottom;
}

@media (max-width: 42.5rem) {

	.wave-bottom::after{
		bottom: 120px;
		height: 120px;
		-webkit-mask-size: 147% 120px; mask-size: 147% 120px;
	}
}

.wave-bottom-white {
	position: relative;
	overflow: hidden;
}

.wave-bottom-white::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	bottom: 140px;
	height: 140px;
	z-index: 2;
	pointer-events: none;
	background: rgba(255,255,255,0.35);
	transform: scaleY(-1);
	transform-origin: left bottom;
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path fill="black" d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path fill="black" d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z"/></svg>');
	-webkit-mask-size: 147% 140px;  mask-size: 147% 140px;
	-webkit-mask-repeat: no-repeat;  mask-repeat: no-repeat;
	-webkit-mask-position: left bottom; mask-position: left bottom;
}

/*------------------------------------*\
	YOUTH AND FAMLY CENTRE
\*------------------------------------*/

.slogan {
	position: absolute;
	z-index: 2;
	inset: 50% auto auto 50%;
	transform: translate(-50%, -50%);
	width: clamp(12rem, 45vw, 26.25rem);
	height: clamp(12rem, 45vw, 26.25rem);
	border: 2px solid #9d7b9f;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
 /*	background: rgba(0,0,0,0.1); */
}

.slogan h3 {
	margin: 0;
	line-height: 1.05;
	text-align: center;
	font-size: clamp(1.25rem, 6vw, 2rem);
	font-weight: 500;
	color: #f8f9fa;
}

@media (max-width: 52.5rem) {

	.slogan {
		width: clamp(10rem, 55vw, 22rem);
		height: clamp(10rem, 55vw, 22rem);
		border-width: 2px;
	}

	.slogan h3 {
		font-size: clamp(1.1rem, 6.5vw, 2rem);
	}

}

@media (max-width: 42.5rem) {

	.slogan {
		width: clamp(9rem, 65vw, 18rem);
		height: clamp(9rem, 65vw, 18rem);
		border-width: 1.5px;
	}

	.slogan h3 {
	font-size: clamp(1rem, 7vw, 2rem);
	}

}

.background-image-robbie-banner {
	background: url("http://miketargett.com/newdawn/wp-content/themes/mikestyle_newdawn2025_raspberry_sunrise/img/youth-and-family-centre/robbie-banner.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-color: #7ba8c7;
}

.background-image-map-grey {
	background: url("http://miketargett.com/newdawn/wp-content/themes/mikestyle_newdawn2025_raspberry_sunrise/img/youth-and-family-centre/map-grey.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-color: #D3DBE2;
}

.background-image-map-blue {
  position: relative;
  background: url("https://newdawproperties.ca/wp-content/themes/mikestyle_newdawn_child_-_Properties/img-youth-and-family-center/map-grey.jpg")
			  center/cover no-repeat;
  background-color: #7ba8c7;
  overflow: hidden;
}

.background-image-map-blue::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #7ba8c7;
  opacity: 0.7;
  z-index: 0;
}

.background-image-map-blue > * {
  position: relative;
  z-index: 1;
}

.background-image-chris img {
	display: block;
}

@media (min-width: 64rem) {

	.background-image-chris img {
		display: none;
	}

	.background-image-chris {
		background-image: url("https://newdawproperties.ca/wp-content/themes/mikestyle_newdawn_child_-_Properties/img-youth-and-family-center/chris.jpg");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: left center;
	}

}

.background-image-ceiling img {
	display: block;
}

@media (min-width: 64rem) {

	.background-image-ceiling img {
		display: none;
	}

	.background-image-ceiling {
		background-image: url("https://newdawproperties.ca/wp-content/themes/mikestyle_newdawn_child_-_Properties/img-youth-and-family-center/building-ceiling.jpg");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: left bottom;
	}

}

.background-image-announcement img {
	display: block;
}

@media (min-width: 64rem) {

	.background-image-announcement img {
		display: none;
	}

	.background-image-announcement {
		background-image: url("https://newdawproperties.ca/wp-content/themes/mikestyle_newdawn_child_-_Properties/img-youth-and-family-center/building-announcement.jpg");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: left center;
	}

}

/*------------------------------------*\
	IDEAS
\*------------------------------------*/

.ideas-video-frame {
	padding: 1rem;
	background: #fff;
	border-radius: 4px;
}

/*------------------------------------*\
	ELTUEK
\*------------------------------------*/

body.page-eltuek #exhibitions .categorized {
	display: none;
}

#tenant-directory .accordion-question {
	margin-bottom: .75rem;
    padding-bottom: .75rem;
}

#tenant-directory .accordion-question span {
	font-size: 0.8125rem;
	line-height: 1.35;
}

#tenant-directory .accordion-question span:nth-child(2) {
	font-size: 0.75rem;
	font-weight: 700;
}

/*------------------------------------*\
	ART TOUR - PREVIEW 
\*------------------------------------*/

.nd-arttour-slider {
	position: relative;
}

.nd-arttour-slide {
	display: none;
}

.nd-arttour-slide.is-active {
	display: block;
}

.nd-arttour-prev,
.nd-arttour-next {
	position: absolute;
	top: 38%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	padding: .35rem .6rem;
	background: rgba(255, 255, 255, .5);
	border: 0;
	border-radius: 999px;
	line-height: 0;
	font-weight: 700;
	color: #222;
	cursor: pointer;
}

.nd-arttour-prev { left: .5rem; }
.nd-arttour-next { right: .5rem; }

.nd-arttour-slide h4 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.nd-arttour-artist {
	min-height: 1.2em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.nd-arttour-slide img {
	width: 100%;
	aspect-ratio: 9 / 5;
	object-fit: cover;
	height: auto;
}

/*------------------------------------*\
	HOMECARE - CHILD <<< Services >>> 
\*------------------------------------*/

.homecare-child-services,
.homecare-child-services li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.homecare-child-services li {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.625rem;
	font-size: 0.8125rem;
	line-height: 1;
	font-weight: 700;
	color: #20252a;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
}

.homecare-child-services li > a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	color: inherit;
}

.homecare-child-services i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0.625rem;
	background: #7ba8c7;
	border-radius: 9999px;
	color: #fff;
	font-size: 1rem;
	text-shadow: 0 1px 1px rgb(0 0 0 / 30%);	
}

.homecare-child-services i,
.homecare-child-services span {
	line-height: 1;
}

/*------------------------------------*\
	MEALS ON WHEELS
\*------------------------------------*/

.page-meals-on-wheels #sign-up .info-icon i {
	color: #20252a;
}

/*------------------------------------*\
	ANNUAL REPORTS
\*------------------------------------*/

#annual-reports .grid-row-gap-xx-small {
    row-gap: 1rem;
}

#annual-reports .grid-column-gap-xx-small {
    column-gap: 0.5rem;
}

/*------------------------------------*\
	FLUID-IMAGES
\*------------------------------------*/

.fluid-images {
	column-width: 100%;
	column-gap: 1rem;
}

.event-card {
	position: relative;
	margin: 0 0 1rem;
	overflow: hidden;
	break-inside: avoid-column;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
}

.event-card img {
	display: block;
	width: 100%;
	height: auto;
	background: rgba(255, 255, 255, 0.25);
	border-radius: inherit;
}

@media (min-width: 42.5rem) {

	.fluid-images { 
		column-width: 14rem; 
		column-gap: 1.25rem; 
	}

	.event-card {
		margin: 0 0 1.25rem; 
	}

}

@media (min-width: 64rem) {

	.fluid-images {
		column-width: 18rem;
		column-gap: 1.5rem;
	}

	.fluid-images .event-card {
		margin: 0 0 1.5rem;
	}

}

.event-details {
	display: none;
}

.event-card:hover .event-details {
	display: block;
	position: absolute;
	inset: 0;
	z-index: 1;
	padding: 1.5rem;
	background: rgba(0, 0, 0, 0.99);
	border-radius: inherit;
}

.event-details .categorized a,
.event-details p { 
	color: #fff !important;
}

.event-details h3 a {
	color: #fff !important; 
}

.event-details h3 a:hover {
	color: #D25B79 !important; 
}

.event-details { 
	position: absolute; inset: 0; padding: 1.5rem;
	background: rgba(0,0,0,.99);
	border-radius: inherit;
	opacity: 0; pointer-events: none; transition: opacity .15s ease;
}

.event-card:hover .event-details {
	opacity: 1;
	pointer-events: auto;
}

/*------------------------------------*\
	RELATED PAGES
\*------------------------------------*/

#related-pages .fluid-grid {
	align-items: stretch;
}

#related-pages .related-pages {
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: 1.25rem;
	min-height: 100%;
}

#related-pages .related-pages > .grid-column {
	height: 100%;
}

#related-pages .related-pages .fixed-grid {
	height: 100%;
	min-height: 0;
}

#related-pages .related-pages .image-cover {
	display: grid;
	overflow: hidden;
	border-radius: 5px 0 0 5px;
	aspect-ratio: auto;
}

#related-pages .related-pages .image-cover > img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

/*------------------------------------*\
	LAND ACKNOWLEDGEMENT
\*------------------------------------*/

.land-acknowledgement p {
	margin-bottom: 1.5rem;
	font-size: 1.125rem;
	line-height: 2rem;
	font-weight: 350;
	color: #fff;
}

/*------------------------------------*\
	NEWSLETTER
\*------------------------------------*/

.ctct-form-description h2 {
	position: relative !important;
	border-bottom: 2px solid #20252a !important;
	margin-bottom: 1rem !important;
	padding-bottom: 0.5rem !important;
	text-transform: uppercase !important;
}

.ctct-form-description p {
	margin-bottom: 2rem !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	font-weight: 300 !important;
	color: #20252a !important;
	text-align: left !important;
}

.ctct-form-wrapper {
	margin: 0 !important;
	padding: 2rem 2.125rem 2.25rem !important;
	background: rgba(255, 255, 255, 0.25) !important;
	border-radius: 6px !important;
	max-width: 42.5rem !important;
	border: none 0 !important;
}

.ctct-form-field.ctct-form-field-text {
	margin: 0 0 0.75rem !important;
}

#follow .ctct-form-field.ctct-form-field-text {
	display: none !important;
}

.ctct-label-top label {
	margin: 0 0 0.25rem !important;
	padding: 0 !important;
	font-size: 0.875rem !important;
	line-height: 1 !important;
	font-weight: 500 !important;
	color: #20252a !important;
}

.ctct-required-indicatior {
    color: #d25b79 !important;
}

.ctct-form-wrapper .ctct-form abbr {
	display: none !important;
}

.ctct-form-field input {
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0.25rem 0.75rem !important;
	border: 0 none !important;
	border-radius: 4px !important;
	font-size: 0.875rem !important;
	line-height: 2.125rem !important;
	font-weight: 200 !important;
}

.ctct-form-field input.ctct-submit {
	position: relative !important;
	display: inline-block !important;
	overflow: hidden !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0.9375rem !important;
	background: #d25b79 !important;
	border: 0 none !important;
	border-radius: 5px !important;
	font-size: 0.75rem !important;
	line-height: 1 !important;
	font-weight: 500 !important;
	letter-spacing: normal !important;
	text-transform: uppercase !important;
	text-align: center !important;
	cursor: pointer !important;
	text-decoration: none !important;
	color: #fff !important;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

.ctct-form-field input.ctct-submit:hover,
.ctct-form-field input.ctct-submit:active,
.ctct-form-field input.ctct-submit:focus {
	background: #f1b53d !important;
	border-color: #f1b53d !important;
	color: #20252a !important;
}

.ctct-form-field input[type="email"]:focus:not(:focus-visible) {
	outline: none;
	box-shadow: none;
}

.ctct-form-field input[type="email"]:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
  /* or use a subtle box-shadow if the black ring is coming from shadow */
  /* box-shadow: 0 0 0 3px rgba(59,130,246,.5); */
}

/* Error Message */

.ctct-form-wrapper input[type='email']:required:valid {
	max-width: calc(100% - 2.75rem) !important;
	background-position: 98% 50% !important;
	padding-right: 32px !important;
}

.ctct-disclosure {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	color: #20252a !important;
}

.ctct-disclosure hr {
	display: none !important;
}

.ctct-disclosure small {
	font-size: 12px !important;
	line-height: 14px !important;
}

.ctct-disclosure small a {
	color: #008ac5 !important;
	text-decoration: none !important;
}

.ctct-disclosure small a:hover {
	color: #fff !important;
	text-decoration: underline !important;
}

/* Placeholder form */

.ctct-form-wrapper.form-placeholder {
	margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    max-width: auto !important;
    border: none 0 !important;
}

/*------------------------------------*\
	WP FORMS
\*------------------------------------*/

.focus-form {
	position: relative;
	z-index: 0;
	transition: box-shadow .18s ease, outline-color .18s ease;
}

.focus-form:has(.wpforms-container:focus-within) {
	z-index: 1000;
	box-shadow: 0 16px 40px rgba(0,0,0,.22);
}

.focus-form:has(.wpforms-container:focus-within),
.focus-form:has(.wpforms-container .wpforms-page:not(.wpforms-page-1):not([hidden]):not([style*="display:none"])) {
	position: relative;
	z-index: 1000;
	box-shadow: 0 16px 40px rgba(0,0,0,.22);
}

/*------------------------------------*\
	COLOPHON
\*------------------------------------*/

.colophon p {
	margin-bottom: 1rem;
	font-size: 0.875rem;
	line-height: 1.675;
	font-weight: 400;
	color: #20252a;
}

.colophon img {
	margin-top: -1.5rem;
}

.social {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.social i {
	background: transparent;
	font-size: 1.125rem;
	color: #20252a;
}

/*------------------------------------*\
	NAV-SITE
\*------------------------------------*/

#nav-site {
	display: none;
	position: fixed;
	z-index: 10000000;
	top: 4rem;
	left: 0;
	box-sizing: border-box;
	width: 100vw;
	height: calc(100vh - 4rem);
	background: #fff;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

#nav-site.is-open {
	display: block;
}

#nav-site .nav-site-grid {
	display: block;
}

#nav-site .nav-site-column {
	box-sizing: border-box;
	height: auto;
	min-height: auto;
	overflow: visible;
	padding: 2.25rem 1.5rem 6rem;
}

@media (min-width: 42.5rem) {

	#nav-site {
		overflow: hidden;
	}

	#nav-site .nav-site-grid { 
		display: grid;
		grid-template-columns: 14rem 1fr;
		box-sizing: border-box;
		height: 100%;
	}

	#nav-site .nav-site-column {
		min-width: 0;
		min-height: 0;
		height: 100%;
		padding: 2.25rem 1.5rem;
	}

}

/*------------------------------------*\
	NAV-SITE-COL-1
\*------------------------------------*/

#nav-site #nav-site-col-1 {
	overflow: hidden;
}

#nav-site #nav-site-col-1 .add-flex {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	min-height: 0;
}

@media (max-width: 42.499rem) {

	#nav-site #nav-site-col-1 .add-flex { 
	display: contents;
	}

	#nav-site #nav-site-col-1 .grid-row:first-of-type { order: 1; }
	#nav-site #nav-site-col-2                         { order: 2; }
	#nav-site #nav-site-col-1 .grid-row:last-of-type  { order: 3; }
	}

}

/*------------------------------------*\
	SEARCHY
\*------------------------------------*/

#nav-site #searchy,
#nav-site #searchy .searchy-box {
	width: 100%;
	box-sizing: border-box;
}

#nav-site #searchy.is-open .searchy-box > .fa-magnifying-glass { 
	display: none;
}

#searchy .searchy-form {
	display: flex;
	align-items: center;
}

#searchy .searchy-trigger {
	display: block;
	position: relative;
	padding: 0.375rem 0;
	font-size: 0.8125rem;
	line-height: 1;
	font-weight: 250;
	color: #20252a;
	text-decoration: none;
	transition: 0.3s;
	cursor: pointer;
	background: none;
	border: 0;
	outline: none;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}

#searchy .searchy-trigger i {
	font-size: 0.8rem;
	font-weight: 900;
	color: #20252a;
}

#searchy .searchy-trigger:hover,
#searchy .searchy-trigger:focus-visible {
	opacity: 0.7;
}

#searchy .searchy-box {
	width: 100%;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.25rem 0.375rem;
	background: #fff;
	border: 1px solid #c7c7c7;
	border-radius: 4px;
	transform-origin: left center;
	transform: scaleX(0.85);
	opacity: 0;
	transition: transform 240ms ease, opacity 200ms ease;
}

#searchy .searchy-box i {
	font-size: 0.8rem;
	font-weight: 900;
	color: #20252a;
}

#searchy input[type="search"].searchy-field {
	width: 100%;
	margin: 0;
	padding: 0.25rem 0.25rem;
	border: 0;
	font-size: 0.825rem;
	line-height: 1.2;
	font-weight: 300;
	color: #20252a;
	background: transparent;
	outline: none;
}

#searchy .searchy-submit {
	background: transparent;
	border: 0;
	padding: 0.25rem;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
}

#searchy .searchy-submit i {
	font-size: 0.8rem;
	color: #20252a;
}

#searchy.is-open .searchy-trigger {
	display: none;
}

#searchy.is-open .searchy-box {
	opacity: 1;
	transform: scaleX(1);
}

#searchy.is-open .searchy-box[hidden] {
	display: inline-flex;
}

#searchy .searchy-trigger:focus-visible,
#searchy .searchy-submit:focus-visible,
#searchy .searchy-field:focus-visible {
	outline: 2px solid #7ba8c7;
	outline-offset: 2px;
}

/*------------------------------------*\
	NAV-SITE-COL-2
\*------------------------------------*/

#nav-site #nav-site-col-2 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.25rem;
	align-content: start;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	min-height: 0;
}

@media (max-width: 63.999rem) {

	#nav-site #nav-site-col-2 {
		grid-template-columns: 1fr;
	}

}

#nav-site #nav-site-col-2 .nav-site-sub-column {
	display: flex;
	flex-direction: column;
	gap: 2.25rem;
	min-width: 0;
}

#nav-site #nav-site-col-2 .nav-site-sub-column > .grid-row {
	min-width: 0;
	box-sizing: border-box;
}

/*------------------------------------*\
	NAV-LINKS
\*------------------------------------*/

#nav-site .nav-section-title {
	display: block;
	margin-bottom: 0.375rem;
	font-size: 0.875rem;
	font-weight: 800;
	line-height: 1;
	color: #20252a;
}

.nav-links,
.nav-links li {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav-links a {
	position: relative;
	display: block;
	padding: 0.375rem 0;
	font-size: 0.8125rem;
	line-height: 1;
	font-weight: 250;
	color: #20252a;
	text-decoration: none;
	transition: 0.3s;
	cursor: pointer;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
	max-width: 100%;
}

.nav-links a:hover {
	text-decoration: underline;
}

/*------------------------------------*\
	NAV-SITE <<< Dropdown >>>
\*------------------------------------*/

#nav-site .nav-links .dropdown-header {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

#nav-site .nav-links .dropdown-caret {
	display: none;
/*	display: inline-flex; TEMPORARY */
	align-items: center;
	justify-content: center;
	padding: 0.375rem;
	border: 0;
	background: transparent;
	cursor: pointer;
}

#nav-site .nav-links .dropdown-caret .fa-angle-down {
	font-size: 0.6875rem;
	color: #d25b79;
	transition: transform 160ms ease;
}

#nav-site .nav-links .has-dropdown[data-open="true"] .dropdown-title-link { 
	font-weight: 700;
}

#nav-site .nav-links .dropdown-links {
	margin: 0 0 0.75rem 0.5rem;
}

#nav-site .nav-links .dropdown-links a {
	padding: 0.1875rem 0;
	font-size: 0.75rem;
	color: #d25b79;
}

#nav-site .nav-links .has-dropdown[data-open="true"] .dropdown-caret .fa-angle-down {
	transform: rotate(180deg);
}

/*------------------------------------*\
   NAV-PAGE
\*------------------------------------*/

#nav-page{
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.5rem;
	pointer-events: none;
}

#nav-page > button{
	margin: 0;
	display: none;
	pointer-events: auto;
	padding: 1rem;
	width: 3rem;
	height: 3rem;
	background: rgb(255 255 255 / 10%);
	border: 0;
	border-radius: 100%;
	box-shadow: 0 4px 10px rgba(0,0,0,.2);
	line-height: 1;
	color: #20252a;
	text-align: center;
	visibility: visible;
	cursor: pointer;
	opacity: 1;
	transition: opacity .3s ease, transform .3s ease, background .3s ease;
}

#nav-page > button.visible { 
	display: inline-flex; 
}

#nav-page > button:hover {
	background: rgb(255 255 255 / 50%);
	transform: scale(1.05);
}

#nav-page > button span {
	display: none; 
}

#BackToTop::before,
#OpenNavigationMenu::before,
#SkipToNextAnchor::before {
	font-family: 'Font Awesome 6 Pro';
	font-weight: 700;
	font-size: 0.95rem;
	margin: auto;
}

#BackToTop::before          { content: "\f062"; }
#OpenNavigationMenu::before { content: "\f03a"; }
#SkipToNextAnchor::before   { content: "\f063"; }

#nav-page [hidden] { 
	display: none !important; 
}

#nav-page > #nav-menu {
	position: absolute;
	right: calc(100% + 0.5rem);
	bottom: 0;
	z-index: 10000;
	width: 16rem;
	padding: 1.5rem 1.75rem;
	background: rgba(20,20,20,.96);
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0,0,0,.25);
	pointer-events: auto;
}

#nav-menu .nav-links a {
	font-weight: 500;
	color: #fff;
}

#nav-menu .nav-links a:hover { 
	opacity: 0.9;
	text-decoration: none;
}

#nav-menu .nav-links a:hover::after {
	content:"";
	position:absolute;
	left: -0.75rem;
	top: 0.6875rem;
	width: 0.375rem; 
	height: 0.375rem;
	background: #cf2468;
	border-radius: 50%;
	transform: translateY(-50%);
}

/* If the browser understands safe-area insets, prefer them */
@supports (bottom: max(1rem, env(safe-area-inset-bottom))) {
	#nav-page{
		bottom: max(1rem, calc(env(safe-area-inset-bottom) + 1rem));
	}
}

/* Older iOS aliases (just in case) */
@supports (bottom: max(1rem, constant(safe-area-inset-bottom))) {
	#nav-page{
		bottom: max(1rem, calc(constant(safe-area-inset-bottom) + 1rem));
	}
}

/*------------------------------------*\
	TITLES
\*------------------------------------*/

h6, h5, h4, h3, h2, h1 {
	display: block;
	clear: both;
	margin-bottom: 1.375rem;
	line-height: 1.125;
	font-weight: 700;
	color: #20252a;
	z-index: 4;
}

h6 a, h6 a:hover, h6 a:active, h6 a:focus,
h5 a, h5 a:hover, h5 a:active, h5 a:focus,
h4 a, h4 a:hover, h4 a:active, h4 a:focus,
h3 a, h3 a:hover, h3 a:active, h3 a:focus,
h2 a, h2 a:hover, h2 a:active, h2 a:focus,
h1 a, h1 a:hover, h1 a:active, h1 a:focus {
	color: #20252a !important;
	text-decoration: none;
}


h6 { font-size: 0.625rem; }
h5 { font-size: 0.75rem; }
h4 { font-size: 0.875rem; }
h3 { font-size: 1rem; }
h2 { font-size: 1.25rem; }
h1 { font-size: 1.5rem; }

@media (min-width: 64rem) {

	h3 { font-size: 1.125rem; }
	h2 { font-size: 1.5rem; }
	h1 { font-size: 2.5rem; }

}

.wp-block-heading {
	text-transform: uppercase;
}

/*------------------------------------*\
	BLOCK HEADING
\*------------------------------------*/

h2.wp-block-heading {
	position: relative;
	margin-bottom: 1.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #20252a;
	line-height: 1;
}

#follow h2.wp-block-heading {
	margin-bottom: 1rem;
}

/*------------------------------------*\
	SHOW/HIDE ON MOBILE
\*------------------------------------*/

.hide-on-mobile { display: none; }
.show-on-mobile { display: block; }

@media (min-width: 64rem) {
	.hide-on-mobile { display: block; }
	.show-on-mobile { display: none; }
}

/*------------------------------------*\
	FEATURE-BOX
\*------------------------------------*/

.feature-box i {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%); /* 50% of the circle sits outside */
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	padding: 0.625rem;
	background: #d25b79;
	border-radius: 9999px;
	color: #fff;
	font-size: 1.75rem;
	text-shadow: 0 1px 1px rgb(0 0 0 / 30%);
}

/*------------------------------------*\
	ARROW-LINK
\*------------------------------------*/

.fa-solid.fa-circle-arrow-right {
	color: #d25b79;
}

/* Black on Raspberry (Duotone default) */
.fa-duotone.fa-circle-arrow-right {
	--fa-primary-color: #20252a;
	--fa-primary-opacity: 1;
	--fa-secondary-color: #d25b79;
	--fa-secondary-opacity: 1;
	color: unset;
}

/* White on Black */
.fa-duotone.fa-circle-arrow-right.arrow-white-on-black {
	--fa-primary-color: #fff;
	--fa-primary-opacity: 1;
	--fa-secondary-color: #20252a;
	--fa-secondary-opacity: 1;
	color: unset;
}

/* White on Raspberry */
.fa-duotone.fa-circle-arrow-right.arrow-white-on-raspberry {
	--fa-primary-color: #fff;
	--fa-primary-opacity: 1;
	--fa-secondary-color: #d25b79;
	--fa-secondary-opacity: 1;
	color: unset;
}

/* Raspberry on White */
.fa-duotone.fa-circle-arrow-right.arrow-raspberry-on-white {
	--fa-primary-color: #d25b79;
	--fa-primary-opacity: 1;
	--fa-secondary-color: #fff;
	--fa-secondary-opacity: 1;
	color: unset;
}

@media (max-width: 64rem) {

	.arrow-right-to-down {
		display: inline-block;
		transform: rotate(90deg);
		transform-origin: center;
	}

}

/*------------------------------------*\
	MARGIN
\*------------------------------------*/

.margin-top-auto         { margin-top: auto; }

.margin-bottom-none      { margin-bottom: 0; }
.margin-bottom-smallest  { margin-bottom: 0.25rem; }
.margin-bottom-xxx-small { margin-bottom: 0.5rem; }
.margin-bottom-xx-small  { margin-bottom: 0.75rem; }
.margin-bottom-x-small   { margin-bottom: 1.5rem; }
.margin-bottom-small     { margin-bottom: 2.25rem; }
.margin-bottom-medium    { margin-bottom: 3rem; }
.margin-bottom-large     { margin-bottom: 4.5rem; }
.margin-bottom-x-large   { margin-bottom: 6rem; }
.margin-bottom-xx-large  { margin-bottom: 7.5rem; }
.margin-bottom-xxx-large { margin-bottom: 9rem; }
.margin-bottom-largest   { margin-bottom: 10.5rem; }

.margin-left-none        { margin-left: 0; }
.margin-left-smallest    { margin-left: 0.1875rem; }

.margin-right-none       { margin-right: 0; }
.margin-right-smallest   { margin-right: 0.1875rem; }

@media (min-width: 64rem) {

	.margin-top-negative-60px {
		margin-top: -3.75rem;
	}

}

/*------------------------------------*\
	PADDING
\*------------------------------------*/

.padding-top-none         { padding-top: 0; }
.padding-top-smallest     { padding-top: 0.125rem; }
.padding-top-xxx-small    { padding-top: 0.25rem; }
.padding-top-xx-small     { padding-top: 0.75rem; }
.padding-top-x-small      { padding-top: 1.5rem; }
.padding-top-small        { padding-top: 2.25rem; }
.padding-top-medium       { padding-top: 3rem; }
.padding-top-large        { padding-top: 4.5rem; }
.padding-top-x-large      { padding-top: 6rem; }
.padding-top-xx-large     { padding-top: 7.5rem; }
.padding-top-xxx-large    { padding-top: 9rem; }
.padding-top-largest      { padding-top: 10.5rem; }

.padding-bottom-none      { padding-bottom: 0; }
.padding-bottom-smallest  { padding-bottom: 0.125rem; }
.padding-bottom-xxx-small { padding-bottom: 0.25rem; }
.padding-bottom-xx-small  { padding-bottom: 0.75rem; }
.padding-bottom-x-small   { padding-bottom: 1.5rem; }
.padding-bottom-small     { padding-bottom: 2.25rem; }
.padding-bottom-medium    { padding-bottom: 3rem; }
.padding-bottom-large     { padding-bottom: 4.5rem; }
.padding-bottom-x-large   { padding-bottom: 6rem; }
.padding-bottom-xx-large  { padding-bottom: 7.5rem; }
.padding-bottom-xxx-large { padding-bottom: 9rem; }
.padding-bottom-largest   { padding-bottom: 10.5rem; }

.padding-left-none        { padding-left: 0; }
.padding-left-smallest    { padding-left: 0.125rem; }
.padding-left-xxx-small   { padding-left: 0.25rem; }
.padding-left-xx-small    { padding-left: 0.75rem; }
.padding-left-x-small     { padding-left: 1.5rem; }
.padding-left-small       { padding-left: 2.25rem; }
.padding-left-medium      { padding-left: 3rem; }
.padding-left-large       { padding-left: 4.5rem; }
.padding-left-x-large     { padding-left: 6rem; }
.padding-left-xx-large    { padding-left: 7.5rem; }
.padding-left-xxx-large   { padding-left: 9rem; }
.padding-left-largest     { padding-left: 10.5rem; }

.padding-right-none       { padding-right: 0; }
.padding-right-smallest   { padding-right: 0.125rem; }
.padding-right-xxx-small  { padding-right: 0.25rem; }
.padding-right-xx-small   { padding-right: 0.75rem; }
.padding-right-x-small    { padding-right: 1.5rem; }
.padding-right-small      { padding-right: 2.25rem; }
.padding-right-medium     { padding-right: 3rem; }
.padding-right-large      { padding-right: 4.5rem; }
.padding-right-x-large    { padding-right: 6rem; }
.padding-right-xx-large   { padding-right: 7.5rem; }
.padding-right-xxx-large  { padding-right: 9rem; }
.padding-right-largest    { padding-right: 10.5rem; }

/*------------------------------------*\
	BORDER
\*------------------------------------*/

.border-top    	      { border-top: solid 1px #20252a; }
.border-top-raspberry { border-top: solid 1px #d25b79; }
.border-top-overcast  { border-top: solid 1px #D3DBE2; }
.border-top-sunrise   { border-top: solid 1px #f1b53d; }
.border-top-ocean     { border-top: solid 1px #76879c; }
.border-top-seaglass  { border-top: solid 1px #7ba8c7; }
.border-top-seafoam   { border-top: solid 1px #aeccc5; }
.border-top-seamist   { border-top: solid 1px #EAF1F6; }
.border-top-whitecap  { border-top: solid 1px #f8f9fa; }
.border-top-white     { border-top: solid 1px #fff; }

.border-bottom 		     { border-bottom: solid 1px #20252a; }
.border-bottom-raspberry { border-bottom: solid 1px #d25b79; }
.border-bottom-overcast  { border-bottom: solid 1px #D3DBE2; }
.border-bottom-sunrise   { border-bottom: solid 1px #f1b53d; }
.border-bottom-ocean     { border-bottom: solid 1px #76879c; }
.border-bottom-seaglass  { border-bottom: solid 1px #7ba8c7; }
.border-bottom-seafoam   { border-bottom: solid 1px #aeccc5; }
.border-bottom-seamist   { border-bottom: solid 1px #EAF1F6; }
.border-bottom-whitecap  { border-bottom: solid 1px #f8f9fa; }
.border-bottom-white     { border-bottom: solid 1px #fff; }

/*------------------------------------*\
	BORDER-RADIUS
\*------------------------------------*/

.border-radius-smallest  { border-radius: 1px; }
.border-radius-xxx-small { border-radius: 2px; }
.border-radius-xx-small  { border-radius: 3px; }
.border-radius-x-small   { border-radius: 4px; }
.border-radius-small     { border-radius: 5px; }
.border-radius-medium    { border-radius: 6px; }
.border-radius-large     { border-radius: 7px; }
.border-radius-x-large   { border-radius: 8px; }
.border-radius-xx-large  { border-radius: 9px; }
.border-radius-xxx-large { border-radius: 10px; }
.border-radius-largest   { border-radius: 11px; }

/*------------------------------------*\
	CSS-COLUMNS
\*--------------------- ---------------*/

.feature-columns {
	column-gap: 1.25rem;
}

.feature-columns-2 {
	column-count: 2;
}

.feature-columns-3 {
	column-count: 3;
}	

.feature-list {
	list-style: none;
	margin: 0 0 1.25rem 0;
	padding: 1.5rem;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
}

.feature-list .list-title {
	font-size: 1rem;
	margin: 0 0 0.5rem 0;
	font-size: 1.25rem;
	line-height: 1.2;
	font-weight: 700;
}

.feature-list li {
	margin: 0;
	font-size: 1.125rem;
	line-height: 1.4;
}

.feature-list li:not(.list-title) {
	position: relative;
	padding-left: 0.95rem;
}

.feature-list li:not(.list-title)::before {
	content: "•";
	position: absolute;
	left: 0;
	top: 0;
	line-height: 1.4;
}

@media (max-width: 64rem) {

	.feature-columns {
		column-count: 2;
	}

}

@media (max-width: 42.499rem) {

	.feature-columns {
		column-count: 1;
	}

}

/*------------------------------------*\
	ACCESSIBILITY
\*------------------------------------*/

/* Text meant only for screen readers */
.says,
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	/* many screen reader and browser combinations announce broken words as they would appear visually */
	word-wrap: normal !important;
}

/* must have higher specificity than alternative color schemes inline styles */
.site .skip-link {
	background-color: #f1f1f1;
	box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);
	color: #21759b;
	display: block;
	font-size: 14px;
	font-weight: bold;
	left: -9999em;
	outline: none;
	padding: 15px 23px 14px;
	text-decoration: none;
	text-transform: none;
	top: -9999em;
}

.logged-in .site .skip-link {
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
}

.site .skip-link:focus {
	clip: auto;
	height: auto;
	left: 6px;
	top: 7px;
	width: auto;
	z-index: 100000;
}

/*------------------------------------*\
	BRAND PAGE
\*------------------------------------*/

body.page-brand section#follow,
body.page-brand section#land-acknowledgement {
	display: none;
}

/*------------------------------------*\
	FEEDBACK PAGE
\*------------------------------------*/

body.page-feedback-board section#follow,
body.page-feedback-board section#land-acknowledgement {
	display: none;
}

/*------------------------------------*\
	EDIT-PAGE
\*------------------------------------*/

.nd-edit-fab {
	position: fixed;
	left: 1rem;
	bottom: calc(1rem + 3.75rem);
	z-index: 9999;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border: 0;
	border-radius: 9999px;
	min-height: 3rem;
	padding: 0.75rem 1rem;
	background: rgba(255,255,255,0.10);
	box-shadow: 0 4px 10px rgba(0,0,0,.2);
	color: #20252a;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: opacity .2s ease, transform .2s ease, background .2s ease;
}

.nd-edit-fab:hover {
	background: rgba(255,255,255,0.50);
	transform: translateY(-1px) scale(1.02);
}

.nd-edit-fab:active {
	transform: translateY(0) scale(1);
}

.nd-edit-fab i {
	font-size: 1.125rem;
}

.nd-edit-fab span {
	display: none;
	font-size: 13px;
    font-weight: 500;
}

.nd-edit-fab:hover span {
	display: inline;
}

@media (max-width: 480px) {

	.nd-edit-fab {
		bottom: calc(1rem + 4.25rem);
	}

}

.nd-edit-fab * {
	font-family: "Geologica", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

.nd-edit-fab .fa,
.nd-edit-fab .fa-solid {
	font-family: "Font Awesome 6 Pro" !important;
	font-weight: 900;
}

/* ------------------------------------*\
   IMAGIFY (support <picture> wrappers)
\*------------------------------------ */

/* Make picture behave like an img block by default */
picture {
  display: block;
  width: 100%;
  max-width: 100%;
}

/* Your global img rule, expanded to cover img inside picture */
img,
picture img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* Alignment helpers: class might be on <img> OR on <picture> */
img.alignright,
picture.alignright {
  display: inline;
  float: right;
  margin: 0 0 1.5rem 1.5em;
  width: auto; /* keep classic WP align behaviour */
  max-width: 100%;
}

img.alignleft,
picture.alignleft {
  display: inline;
  float: left;
  margin: 0 1.5rem 1.5rem 0;
  width: auto;
  max-width: 100%;
}

img.aligncenter,
picture.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Ensure the actual rendered image inside picture aligns properly */
picture.alignright img,
picture.alignleft img,
picture.aligncenter img {
  width: 100%;
  height: auto;
}

/* Circle helper: class might be on <img> OR <picture> */
img.circle,
picture.circle {
  display: block;
  width: 125px;
  height: 125px;
  min-width: 125px;
  min-height: 125px;
  border-radius: 50%;
  overflow: hidden; /* important when circle is on <picture> */
  margin: 0 1.5rem 0.5rem 0;
}

/* Apply crop rules to the actual image */
img.circle,
picture.circle img {
  object-fit: cover;
  object-position: 50% 50%;
}

/* If circle is used together with alignleft/alignright on <picture>, preserve float */
picture.circle.alignleft { float: left; display: inline; }
picture.circle.alignright { float: right; display: inline; }

/* ------------------------------------*\
   IMAGE-COVER (support <picture>)
\*------------------------------------ */

.image-cover {
  display: grid;
  overflow: hidden;
}

/* Target both img and picture children */
.image-cover img,
.image-cover picture {
  width: 100%;
  height: 100%;
  display: block;
}

/* The real image inside picture should be the one that covers */
.image-cover img,
.image-cover picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ------------------------------------*\
   ND Featured Media (support <picture>)
\*------------------------------------ */

.nd-featured-media img,
.nd-featured-media picture {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 2.25rem;
}

.nd-featured-media picture img {
  width: 100%;
  height: auto;
  display: block;
}