/*
Theme Name: Studio Simpatico
Theme URI: http://www.studiosimpati.co/
Description: This custom WordPress theme was designed and developed with love by Studio Simpatico.
Author: Studio Simpatico
Author URI: http://www.studiosimpati.co/
Version: 1.0.0
*/

/***************************************************************************************************************************************************************************************/

/* HTML5 BOILERPLATE MINIFIED */

/***************************************************************************************************************************************************************************************/

*{box-sizing:border-box;}article{display:block}aside{display:block}details{display:block}figcaption{display:block}figure{display:block;margin:0}footer{display:block}header{display:block}hgroup{display:block}nav{display:block}section{display:block}audio{display:inline;}canvas{display:inline;}video{display:inline;}audio:not([controls]){display:none}[hidden]{display:none}html{color:#222;font-family:sans-serif;font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}button{-webkit-appearance:button;color:#222;cursor:pointer;font-family:sans-serif;font-size:100%;line-height:normal;margin:0;overflow:visible;vertical-align:middle}input{color:#222;font-family:sans-serif;font-size:100%;line-height:normal;margin:0;vertical-align:middle}select{color:#222;font-family:sans-serif;font-size:100%;margin:0;vertical-align:middle}textarea{color:#222;font-family:sans-serif;font-size:100%;margin:0;overflow:auto;resize:vertical;vertical-align:top}body{font-size:1em;line-height:1.4;margin:0}::-moz-selection{background:#333;color:#fff;text-shadow:none}::selection{background:#333;color:#fff;text-shadow:none}a{color:#00e}a:hover{color:#06e;outline:0}a:active{outline:0}abbr[title]{border-bottom:1px dotted}b{font-weight:700}strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}hr{border:0;border-top:1px solid #ccc;display:block;height:1px;margin:1em 0;padding:0}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:700}pre{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em;white-space:pre-wrap;word-wrap:break-word}code{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em}kbd{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em}samp{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em}q{quotes:none}q:before{content:none}q:after{content:none}small{font-size:85%}sub{bottom:-.25em;font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{font-size:75%;line-height:0;position:relative;top:-.5em;vertical-align:baseline}ul{margin:1em 0;padding:0 0 0 40px}ol{margin:1em 0;padding:0 0 0 40px}dd{margin:0 0 0 40px}nav ul{list-style:none;list-style-image:none;margin:0;padding:0}nav ol{list-style:none;list-style-image:none;margin:0;padding:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle}svg:not(:root){overflow:hidden}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;margin-left:-7px;padding:0;white-space:normal}input[type="button"]{-webkit-appearance:button;cursor:pointer;overflow:visible}input[type="reset"]{-webkit-appearance:button;cursor:pointer;overflow:visible}input[type="submit"]{-webkit-appearance:button;cursor:pointer;overflow:visible}button[disabled]{cursor:default}input[disabled]{cursor:default}input[type="checkbox"]{box-sizing:border-box;height:13px;padding:0;width:13px}input[type="radio"]{box-sizing:border-box;height:13px;padding:0;width:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner{border:0;padding:0}input::-moz-focus-inner{border:0;padding:0}input:invalid{background-color:#f0dddd}textarea:invalid{background-color:#f0dddd}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{background:#ccc;color:#000;margin:.2em 0;padding:.2em 0}

/***************************************************************************************************************************************************************************************/

/* BODY STYLES */

/***************************************************************************************************************************************************************************************/

:root {
	--white: #fff;
	--white-10: rgb(255 255 255 / .1);
	--white-20: rgb(255 255 255 / .2);
	--black: #201D1D;
	--black-10: rgb(32 29 29 / 0.1);
	--black-20: rgb(32 29 29 / 0.2);
	--black-40: rgb(32 29 29 / 0.4);
	--black-60: rgb(32 29 29 / 0.6);
	--crimson-red: #C2301A;
	--crimson-red-hover: #AB2410;
	--crimson-filter: invert(21%) sepia(85%) saturate(1784%) hue-rotate(347deg) brightness(105%) contrast(100%);
	--purple: #E8E3F1;
	--purple-50: rgb(232 227 241 / 0.50);
	--purple-50-solid: #F3F0F5;
	--cream: #F8F6ED;
	--off-white: #FEFDF9;
	--body-font: 'Figtree', Arial, Helvetica, sans-serif;
	--heading-font: 'Libre Baskerville', serif;
	--container-width: 90vw;
	--container-max-width: 1600px;
	--container-outer-padding: 50px;
	--container-outer-margin: calc((100vw - var(--container-width)) / 2);
	--viewport-edge: calc((var(--container-outer-margin) + var(--container-outer-padding)) * -1);
	--one-column-width: ((100vw - (2 * (var(--container-outer-margin) + var(--container-outer-padding)))) - (11 * var(--gap))) / 12;
	--gap: 40px;
	--grid: repeat(12, minmax(0,1fr));
	--module-spacing-small: 64px;
	--module-spacing-medium: 80px;
	--module-spacing-large: 120px;
	--module-spacing-xlarge: 160px;
	--text-spacing-xxsmall: 8px;
	--text-spacing-xsmall: 16px;
	--text-spacing-small: 24px;
	--text-spacing-medium: 32px;
	--text-spacing-large: 40px;
	--text-spacing-xlarge: 48px;
	--text-spacing-xxlarge: 56px;
	--arches-radii: 450px 450px 0 0;
	--shadow: 0 12px 20px 0 rgba(0, 0, 0, 0.10);
	--shadow2: 0 20px 28px -14px rgba(0, 0, 0, 0.08);

	interpolate-size: allow-keywords;
}

html {
	font-size: 100%;
}

body {
	background: var(--off-white);
	color: var(--black);
	font: 1rem var(--body-font);
	position: unset !important;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.svg-inline--fa {
	display: inline-block;
	font-size: inherit;
	height: 1em;
	overflow: visible;
	vertical-align: -0.125em;
}

.svg-inline--fa path {
	fill: currentColor;
}

a {
	text-decoration: none;
	transition: all .25s ease;
}

input[type=submit],
button {
	border-radius: 0;
	font-family: inherit;
	transition: all .25s ease;
}

img,
svg,
iframe,
picture {
	max-width: 100%;
}

img,
svg,
picture {
	height: auto;
}

h1,
.heading-1,
h2,
.heading-2,
h3,
.heading-3,
h4,
.heading-4,
h5,
.heading-5,
h6,
.heading-6,
.large-intro-text p,
.youtube-carousel .sb_youtube .sby_video_title {
	font-family: var(--heading-font);
	font-weight: 400;
	margin: 0;
}

.heading-1 > span:not([class]),
.heading-2 > span:not([class]),
.heading-3 > span:not([class]),
.heading-4 > span:not([class]),
.heading-5 > span:not([class]),
.heading-6 > span:not([class]) {
	color: var(--crimson-red);
}

.heading-1 > span:not([class]),
.heading-2 > span:not([class]),
.heading-3 > span:not([class]) {
	font-style: italic;
}

h1,
.heading-1 {
	font-size: calc(60rem/16);
	letter-spacing: -1px;
	line-height: calc(70/60);
}

h2,
.heading-2 {
	font-size: calc(50rem/16);
	letter-spacing: 0;
	line-height: calc(60/50);
}

h3,
.heading-3 {
	font-size: calc(41rem/16);
	letter-spacing: -1px;
	line-height: calc(50/41);
}

h4,
.heading-4,
.content-styles h2:not([class^="heading-"]):not([class*="pill"]) {
	font-size: calc(34rem/16);
	letter-spacing: -1px;
	line-height: calc(46/34);
}

h5,
.heading-5,
.content-styles h3:not([class^="heading-"]),
.large-intro-text p,
.youtube-carousel .sb_youtube .sby_video_title {
	font-size: calc(24rem/16);
	letter-spacing: -.5px;
	line-height: calc(35/24);
}

h6,
.heading-6,
.content-styles h4:not([class^="heading-"]) {
	font-size: calc(18rem/16);
	letter-spacing: 0;
	line-height: calc(28/18);
}

p,
ul,
ol {
	font-size: 1rem;
	line-height: calc(28/16);
	margin: 0 0 var(--text-spacing-xsmall);
}

p.large,
ul.large,
ol.large,
.large-text p,
.large-text ul,
.large-text ol {
	font-size: calc(20rem/16);
	line-height: calc(30/20);
}

p.small,
ul.small,
ol.small,
.small-text p,
.small-text ul,
.small-text ol,
footer address,
.post-content .wp-caption p,
.archive-content .search-sort input[type="text"] {
	font-size: calc(14rem/16);
	line-height: calc(22/14);
}

p.xsmall,
ul.xsmall,
ol.xsmall,
.xsmall-text p,
.xsmall-text ul,
.xsmall-text ol,
.top-nav address {
	font-size: calc(12rem/16);
	letter-spacing: .5px;
	line-height: calc(16/12);
}

.eyebrow,
.pill,
.youtube-carousel [id^="sb_youtube_"].sb_youtube .sby_info p.sby_meta .sby_date {
	letter-spacing: 1px;
	text-transform: uppercase;
}

.eyebrow {
	align-items: center;
	display: flex;
	font: 700 calc(14rem/16)/calc(20/14) var(--body-font);
	gap: var(--text-spacing-xxsmall);
	line-height: calc(20/14);
	max-width: max-content;
	width: 100%;
}

.eyebrow.white {
	color: var(--white);
}

.eyebrow:not(.no-icon):before,
.text.style1 .container > article > .heading-4:before {
	background: url('svgs/logomark.svg') no-repeat center / 100% auto;
	content: '';
	display: block;
	filter: var(--crimson-filter);
	height: 20px;
	width: 20px;
}

.pill,
.youtube-carousel [id^="sb_youtube_"].sb_youtube .sby_info p.sby_meta .sby_date {
	display: block;
	font: 700 calc(12rem/16)/calc(23/12) var(--body-font);
	width: max-content;
}

.pill:not(.plain),
.youtube-carousel [id^="sb_youtube_"].sb_youtube .sby_info p.sby_meta .sby_date {
	background: var(--purple);
	border-radius: var(--text-spacing-small);
	color: var(--black);
	padding: 3px var(--text-spacing-xsmall);
}

.pill.black {
	background: var(--black);
	color: var(--white);
}

.terms,
footer .copyright a {
	font-size: calc(13rem/16);
	line-height: calc(16/13);
	text-decoration: underline;
}

header,
section,
footer,
article {
	width: 100%;
}

.container {
	clear: both;
	margin: 0 auto;
	max-width: var(--container-max-width);
	padding: 0 var(--container-outer-padding);
	position: relative;
	width: var(--container-width); /*Based off 1200 Sketch files*/
}

.flex-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.grid,
.post-type-archive-press-news .archive-content article [jx-form-results-items] {
	display: grid;
	gap: var(--gap);
	grid-template-columns: var(--grid);
}

.accessibility,
.hidden_label > label {
	backface-visibility: hidden;
	left: -999999999px;
	opacity: 0;
	position: absolute;
}

#skip-to-content {
	top: 0;
	pointer-events: none;
	z-index: 9999999;
}

#skip-to-content:focus {
	backface-visibility: visible;
	background: var(--black);
	box-shadow: inset 0px 0px 0px 2px var(--black);
	color: var(--white);
	left: var(--container-outer-padding);
	opacity: 1;
	pointer-events: auto;
	top: var(--text-spacing-xsmall);
}

#skip-to-content:focus:hover {
	background: rgb(0 0 0 /.6);
}


.image-zoom {
	overflow: hidden;
}

.image-zoom img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: all .25s ease;
	width: 100%;
}

.tablet-only,
.mobile-only {
	display: none !important;
}

/*** Carousels ***/

.carousel,
.slick-list,
.slide,
.slick-track {
	height: 100%;
}

.carousel {
	margin: 0 var(--viewport-edge);
	overflow: visible;
	padding: 0 calc(var(--container-outer-margin) + var(--container-outer-padding));
	position: relative;
	width: 100vw;
}

.slick-track,
.carousel:not(.slick-initialized),
.scrolling-carousel:not(.slick-initialized) {
	display: flex;
	gap: var(--gap);
}

.slick-dots:has(li:only-child) {
	display: none;
}

.slick-arrow {
	backface-visibility: visible;
	bottom: calc(50px + var(--text-spacing-xsmall));
	padding: 0;
	position: absolute;
	z-index: 4;
}

.slick-arrow.slick-prev {
	left: 0;
	transform: scale(-1,1);
}

.slick-arrow.slick-next {
	left: calc(var(--text-spacing-xlarge) + var(--text-spacing-xxsmall));
}

.slick-arrow.slick-disabled {
	opacity: .5;
	pointer-events: none;
}

/*** Buttons ***/

.btn,
.top-nav li a,
#menu-footer a,
.top-nav .translate-toggle,
.top-nav .translate-menu button {
	align-items: center;
	border: none;
	display: inline-flex;
	font: 600 calc(18rem/16)/calc(30/18) var(--body-font);
	gap: var(--text-spacing-xxsmall);
	letter-spacing: 0;
}

.btn.primary.white,
.btn.secondary,
.btn.secondary:hover,
.btn.tertiary,
.btn.tertiary:hover,
.btn.back-btn,
.btn.back-btn:hover {
	color: var(--black);
}

.btn.primary,
.btn.primary:hover,
.btn.primary.white:hover,
.btn.secondary.white,
.btn.secondary.white:hover,
.btn.tertiary.white,
.btn.tertiary.white:hover {
	color: var(--white);
}

/* Primary */

.btn.primary {
	background: var(--black);
	justify-content: center;
	padding: var(--text-spacing-xsmall) var(--text-spacing-small);
	text-align: center;
}

p + .btn.primary {
	margin-top: var(--text-spacing-xxsmall);
}

.btn.primary.white {
	background: var(--white);
}

.btn.primary:hover,
.btn.primary.dark:hover {
	background: var(--crimson-red);
}

.btn.primary .icon {
	font-size: 1rem;
	flex-shrink: 0;
	transition: transform .25s ease;
}

.btn.primary:hover .icon {
	transform: translateX(2px);
}

/* Secondary */

.btn.secondary,
.btn.back-btn {
	gap: 6px;
}

.btn.secondary .icon,
.btn.back-btn .icon {
	transition: all .25s ease;
}

.btn.secondary:hover .icon,
a:hover .btn.secondary .icon {
	transform: translateX(3px);
}

/* Tertiary */

.btn.tertiary {
	border-bottom: 2px solid var(--crimson-red);
	font-size: 1rem;
	gap: 4px;
	line-height: calc(24/16);
	transition: all 0.25s ease;
}

.btn.tertiary .icon {
	font-size: calc(10rem/16);
	transition: transform .25s ease;
}

/* .btn.tertiary:hover .icon,
a:hover .btn.tertiary .icon {
	transform: translateX(6px);
} */

.btn.tertiary:hover,
a:hover .btn.tertiary {
	gap: 10px;
}

/* Nav Bar */

.nav-bar {
	font-size: 1rem;
	font-weight: 600;
	line-height: calc(18/16);
}

.btn.secondary-nav,
.top-nav li a,
.archive-content .filters button,
.archive-content .sort select,
.top-nav .translate-toggle,
.top-nav .translate-menu button {
	font-size: calc(13rem/16);
	letter-spacing: .5px;
	line-height: calc(8/13);
}

/* Icons */

.btn.icon,
.btn.secondary .icon,
.btn.back-btn .icon,
.jazzy-ajax-form-pagination a {
	align-items: center;
	background: var(--crimson-red);
	border-radius: 100%;
	color: var(--white);
	display: flex;
	font-size: calc(14rem/16);
	height: var(--text-spacing-medium);
	justify-content: center;
	min-width: var(--text-spacing-medium);
	transition: all .25s ease;
	width: var(--text-spacing-medium);
}

.btn.icon.hover-link:hover,
a:hover .btn.icon.hover-link,
button:hover .btn.icon {
	background: var(--crimson-red-hover);
}

.btn.icon.small {
	font-size: calc(10rem/16);
	height: var(--text-spacing-small);
	min-height: var(--text-spacing-small);
	min-width: var(--text-spacing-small);
	width: var(--text-spacing-small);
}

.btn.icon.medium,
.jazzy-ajax-form-pagination a {
	font-size: calc(15rem/16);
	height: var(--text-spacing-large);
	width: var(--text-spacing-large);
}

.btn.icon.medium-large,
.jazzy-ajax-form-pagination li:has(.previous) a,
.jazzy-ajax-form-pagination li:has(.next) a {
	font-size: calc(14rem/16);
	height: var(--text-spacing-xlarge);
	width: var(--text-spacing-xlarge);
}

.btn.icon.large {
	font-size: calc(20rem/16);
	height: var(--text-spacing-xxlarge);
	width: var(--text-spacing-xxlarge);
}

.btn.icon.xxlarge {
	font-size: calc(18rem/16);
	height: var(--module-spacing-small);
	width: var(--module-spacing-small);
}

.btn.icon.purple,
.jazzy-ajax-form-pagination a {
	background: var(--purple);
	color: var(--black);
}

.btn.icon.outline,
.jazzy-ajax-form-pagination li:has(.previous) a,
.jazzy-ajax-form-pagination li:has(.next) a {
	background: none;
	border: 1px solid var(--crimson-red);
	color: var(--black);
}

.btn.icon.outline:not(.slick-disabled):hover,
.jazzy-ajax-form-pagination li:has(.previous) a:hover,
.jazzy-ajax-form-pagination li:has(.next) a:hover {
	background: var(--crimson-red);
	color: var(--white);
}

.btn.icon.gray {
	background: var(--black-10);
	color: var(--black);
}

.btn.icon.gray.hover-link:hover,
button:hover .btn.icon.gray.hover-link,
a:hover .btn.icon.gray.hover-link,
.sort:hover .btn.icon.gray {
	background: var(--black-20);
	color: var(--black);
}

.btn.icon svg.fa-up-right-and-down-left-from-center,
.btn.secondary .icon svg.fa-up-right-and-down-left-from-center,
.btn.secondary .icon svg.fa-arrow-up-right-from-square {
	height: auto;
	width: 11px;
}

/* Back Button */

.btn.back-btn {
	flex-direction: row-reverse;
}

.btn.back-btn .icon {
	background: var(--black-10);
	color: var(--black);
	font-size: calc(10rem/16);
	height: 22px;
	min-width: 22px;
	transform: scale(-1,1);
	width: 22px;
}

.btn.back-btn:hover .icon {
	transform: translateX(-3px) scale(-1,1);
}

/*** Form Styles ***/

.gform_fields {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xsmall);
}

form label {
	margin-bottom: 4px;
}

input[type=email],
input[type=text],
input[type=tel],
select,
textarea {
	background: none;
	border: 1px solid var(--black-10);
	color: var(--black);
	font-family: inherit;
	font-size: 1rem;
	height: 60px;
	padding: 0 var(--text-spacing-xsmall);
	width: 100%;
}

input[type=email]:focus,
input[type=text]:focus,
input[type=tel]:focus,
select:focus,
textarea:focus {
	border-color: var(--black);
	outline: none;
}

input[type=email]::placeholder,
input[type=text]::placeholder,
input[type=tel]::placeholder,
select::placeholder,
textarea::placeholder,
select:invalid /*Mark your selects as 'required' to get 'placeholder' styling!*/ {
	color: var(--black);
	opacity: .6;
}

.gform_validation_errors {
	display: none !important;
}

.validation_message,
.mce_inline_error {
	color: red;
	font-size: calc(12rem/16);
	font-style: italic;
	padding-top: 4px;
}

/*** Video Lightboxes ***/

dialog::backdrop {
	background: var(--black);
	opacity: .6;
}

.white-popup-block {
	background: var(--black);
	border: none;
	margin: auto;
	max-width: 80vw;
	padding: 0;
	width: 100%;
}

.white-popup-block video,
.white-popup-block iframe {
	aspect-ratio: 16/9;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.white-popup-block .close-popup {
	border: none;
	padding: 0;
	position: absolute;
	right: var(--text-spacing-xxsmall);
	top: var(--text-spacing-xxsmall);
	z-index: 5;
}

/***Accordions***/

.accordions {
	display: flex;
	flex-direction: column;
	gap: 0;
	line-height: 1;
	list-style: none;
	margin: var(--text-spacing-xxlarge) 0;
	padding: 0;
}

.accordion {
	border-top: 1px solid var(--black-10);
}

.accordion button {
	align-items: center;
	background: none;
	border: none;
	flex-wrap: nowrap;
	gap: var(--text-spacing-small);
	padding: var(--text-spacing-xsmall) 0;
	text-align: left;
	width: 100%;
}

.accordion button:hover {
	opacity: .6;
}

.accordion:not(.active) > :nth-child(n + 2) {
	display: none;
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}

.accordion.active > :nth-child(n + 2) {
	display: block;
	margin-top: calc(var(--text-spacing-xxsmall) * -1);
	opacity: 1;
	padding-bottom: var(--text-spacing-small);
	padding-right: 105px;
}

.accordion button .expand,
.accordion button .collapse {
	flex-shrink: 0;
}

.accordion button:not(:hover) .collapse {
	background: var(--crimson-red-hover);
	opacity: 0.6;
}

.accordion:not(.active) .collapse,
.accordion.active .expand {
	display: none;
}

/*** Content Styles ***/

.content-styles a:is(:not([class]), .external) {
	color: var(--black);
	font-weight: bold;
	text-decoration: underline;
	text-decoration-color: var(--crimson-red);
	text-decoration-thickness: 2px;
}

.content-styles a:is(:not([class]), .external):hover {
	text-decoration-color: var(--crimson-red-hover);
	text-underline-offset: 2px;
}

.content-styles ul:not([class]),
.content-styles ol:not([class]) {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xxsmall);
	padding: 0 0 0 var(--text-spacing-xsmall);
}

.content-styles > ul:not([class]),
.content-styles > ol:not([class]) {
	margin: 0 0 var(--text-spacing-large);
}

.content-styles li ul {
	margin: var(--text-spacing-xxsmall) 0 0;
}

.content-styles ul:not([class]) {
	list-style: none;
}

.content-styles ul:not([class]) li {
	padding-left: 14px;
	position: relative;
}

.content-styles ul:not([class]) li:before {
	background: var(--crimson-red);
	content: '';
	height: 6px;
	left: 0;
	position: absolute;
	top: 11px;
	width: 6px;
}

.content-styles h2:not([class^="heading-"]),
.content-styles h3:not([class^="heading-"]),
.content-styles h4:not([class^="heading-"]),
.content-styles h5:not([class^="heading-"]) {
	margin-bottom: var(--text-spacing-xxsmall);
}

.content-styles * + h2:not([class^="heading-"]),
.content-styles * + h3:not([class^="heading-"]),
.content-styles * + h4:not([class^="heading-"]),
.content-styles * + h5:not([class^="heading-"]) {
	margin-top: var(--text-spacing-large);
}

.content-styles > :last-child {
	margin-bottom: 0 !important;
}

.alignleft {
	float: left;
	margin-right: 15px;
}

.alignright {
	float: right;
	margin-left: 15px;
}

.aligncenter {
	display: block;
	margin: 0 auto 20px;
}

.alignnone {
	display: block;
	margin: 0 0 20px;
}

.wp-caption {
	max-width: 100%;
}

/*** Spinning Badge ***/

.spinning-badge {
	background: url('svgs/logomark.svg') no-repeat center / 101px auto var(--purple);
	border-radius: 100%;
	height: 240px;
	position: absolute;
	width: 240px;
}

.spinning-badge:after {
	background: url('svgs/spinning-badge-text.svg') no-repeat center;
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

/***************************************************************************************************************************************************************************************/

/* HEADER STYLES */

/***************************************************************************************************************************************************************************************/

/*** Top Nav ***/

.top-nav {
	align-items: center;
	background: var(--purple-50-solid);
	padding: 9px var(--text-spacing-small);
	position: relative;
	z-index: 9;
}

.top-nav address {
	font-style: normal;
	margin: 0;
}

.top-nav address br {
	display: none;
}

.top-nav .translate {
	margin: 0 var(--text-spacing-small) 0 auto;
	position: relative;
}

/* Lift above the sticky header, which shares z-index 9 and would cover the open menu. */
.top-nav:has(.translate-toggle[aria-expanded="true"]) {
	z-index: 10;
}

.top-nav .translate-toggle {
	background: none;
	color: var(--black);
	cursor: pointer;
	padding: 0;
}

.top-nav .translate-toggle:hover,
.top-nav .translate-toggle[aria-expanded="true"] {
	color: var(--crimson-red-hover);
}

.top-nav .translate-toggle:after {
	background: url('svgs/icons/solid/caret-down.svg') no-repeat center / 100% auto;
	content: '';
	display: block;
	height: 6px;
	width: 6px;
}

.top-nav .translate-toggle[aria-expanded="true"]:after {
	transform: rotate(180deg);
}

.top-nav .translate-menu {
	background: var(--off-white);
	box-shadow: var(--shadow);
	flex-direction: column;
	gap: 0;
	left: 0;
	min-width: 100%;
	padding: var(--text-spacing-xxsmall) 0;
	position: absolute;
	top: calc(100% + 9px);
	z-index: 10;
}

/* .top-nav ul sets display: flex, which would otherwise override the hidden attribute. */
.top-nav .translate-menu[hidden] {
	display: none;
}

.top-nav .translate-menu button {
	background: none;
	color: var(--black);
	cursor: pointer;
	padding: 12px var(--text-spacing-small);
	white-space: nowrap;
	width: 100%;
}

.top-nav .translate-menu button:hover {
	background: var(--purple-50-solid);
	color: var(--crimson-red-hover);
}

.top-nav .translate-menu button[aria-current="true"] {
	color: var(--crimson-red);
}

/* Google injects its banner, tooltip and hover highlight with inline styles, so these need !important.
   div only: the language menu is a body > iframe.skiptranslate and must stay visible. */
body > div.skiptranslate,
.goog-te-banner-frame,
#goog-gt-tt {
	display: none !important;
}

body {
	top: 0 !important;
}

.goog-text-highlight {
	background: none !important;
	box-shadow: none !important;
}

.top-nav ul {
	display: flex;
	gap: var(--text-spacing-small);
	list-style: none;
	margin: 0;
	padding: 0;
}

.top-nav .menu > li {
	display: flex;
}

.top-nav li a {
	color: var(--black);
	flex-direction: row-reverse;
}

.top-nav li a:hover {
	color: var(--crimson-red-hover);
}

.top-nav .icon {
	color: var(--crimson-red);
	font-size: calc(10rem/16);
}

/*** Main Header ***/

header {
	align-items: center;
	background: var(--off-white);
	padding: 0 var(--text-spacing-small);
	position: sticky;
	transition: background .25s ease;
	top: 0;
	z-index: 9;
}

header:before {
	background: var(--black-10);
	bottom: 0;
	content: '';
	height: 1px;
	left: 50%;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: all 0.25s ease;
	translate: -50% 0;
	width: calc(100% - (2 * var(--text-spacing-small)));
}

header.dropdown-open:before,
header.super-sticky:before {
	opacity: 1;
}

.alert-bar.desktop-only ~ .top-nav {
	margin-top: var(--text-spacing-large);
}

header .logo {
	width: 157px;
}

header.super-sticky .logo {
	width: 137px;
}

header .logo path {
	transition: fill .25s ease;
}

header #menu-top-menu-1 {
	display: none;
}

#menu-main {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-small);
}

#menu-main > .menu-item > button {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}

#menu-main > .menu-item > a,
#menu-main > .menu-item > button {
	color: var(--black);
	display: block;
	font-size: 1rem;
	font-weight: 600;
	line-height: calc(18/16);
	padding: var(--text-spacing-medium) 0;
}

header.super-sticky #menu-main > .menu-item > a,
header.super-sticky #menu-main > .menu-item > button {
	padding: var(--text-spacing-small) 0;
}

#menu-main > li.menu-item-has-children > a,
#menu-main > li.menu-item-has-children > button {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-xxsmall);
	position: relative;
}

#menu-main > li.menu-item-has-children > a:after,
#menu-main > li.menu-item-has-children > button:after {
	background: url('svgs/icons/solid/caret-down.svg') no-repeat center / 5px auto var(--black-10);
	border-radius: 100%;
	content: '';
	display: block;
	height: var(--text-spacing-xsmall);
	transition: all 0.25s ease;
	width: var(--text-spacing-xsmall);
}

#menu-main > li.menu-item-has-children:hover > a:after,
#menu-main > li.menu-item-has-children:hover > button:after {
	rotate: -180deg;
}

#menu-main > li.menu-item-has-children > a:before,
#menu-main > li.menu-item-has-children > button:before {
	background: var(--crimson-red);
	bottom: 0;
	content: '';
	height: 4px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: all 0.25s ease;
	width: 100%;
	z-index: 5;
}

#menu-main > li.menu-item-has-children:hover > a:before,
#menu-main > li.menu-item-has-children:hover > button:before {
	opacity: 1;
}

#menu-main .btn.primary {
	padding: 9px 22px;
}

#menu-main .btn.primary .icon {
	display: none;
}

/*** Sticky Header ***/

header.super-sticky {
	background: var(--white);
	/* box-shadow: var(--shadow); */
	/* border-bottom: 1px solid var(--black-10); */
}

/*** Mega Menu ***/

@media (hover: hover) and (pointer: fine) {
	#menu-main li:hover .sub-menu,
	#menu-main li.menu-open .sub-menu {
		opacity: 1;
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
		visibility: visible;
		z-index: 4;
	}
}

body:before {
	background: rgb(0 0 0 / .6);
	bottom: 0;
	content: '';
	height: 100%;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	transition: opacity .25s ease;
	width: 100%;
	z-index: 3;
}

body:has(header.dropdown-open):before {
	opacity: 1;
}

#menu-main .sub-menu {
	background: var(--off-white);
	display: block;
	left: 0;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	top: 100%;
	transform: translate3d(0, -15px, 0);
	transition: .25s cubic-bezier(.45,0,.55,1);
	visibility: hidden;
	width: 100%;
	z-index: -2;
}

#menu-main .sub-menu > li {
	display: flex;
	gap: var(--text-spacing-medium);
	margin: 0 auto;
	max-width: 1778px;
}

/* Left Column */

#menu-main .sub-menu li > article {
	background: var(--cream);
	padding: var(--text-spacing-xxlarge) var(--text-spacing-xlarge) 90px var(--text-spacing-xxlarge);
	position: relative;
	width: calc(587/1440 * 100%);
}

#menu-main .sub-menu li > article:before {
	background: url('svgs/logomark.svg') no-repeat left top / 226px auto;
	bottom: 0;
	content: '';
	height: 146px;
	opacity: .05;
	position: absolute;
	right: 0;
	width: 146px;
}

#menu-main .sub-menu li > article:after {
	background: var(--cream);
	content: '';
	height: 100%;
	pointer-events: none;
	position: absolute;
	right: calc(100% - 1px);
	top: 0;
	width: calc((100vw - 1778px) / 2 + 1px);
	z-index: -1;
}

#menu-main .sub-menu li > article p {
	font-size: calc(20rem/16);
	line-height: calc(30/20);
}

#menu-main .sub-menu h2.pill {
	margin-bottom: var(--text-spacing-xsmall);
	opacity: .8;
}

#menu-main .sub-menu .small {
	border-left: 4px solid var(--purple);
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xxsmall);
	list-style: none;
	margin: 0 0 var(--text-spacing-medium);
	padding: 0 0 0 var(--text-spacing-xsmall);
}

#menu-main .sub-menu .small span {
	display: block;
	margin-bottom: 4px;
}

#menu-main .sub-menu article .btn + .btn {
	margin-left: var(--text-spacing-xsmall);
}

/* Center Column */

#menu-main .sub-menu .links {
	display: flex;
	flex-direction: column;
	padding-top: var(--text-spacing-xxlarge);
	width: calc(425/1440 * 100%);
}

#menu-main .sub-menu .links:not(:has(li:nth-child(3))) {
	padding-top: var(--module-spacing-large);
}

#menu-main .sub-menu .links li {
	display: flex;
	margin: 0 auto;
	min-width: max-content;
	max-width: 100%;
	position: relative;
	width: calc(100% - (2 * var(--text-spacing-large)));
}

#menu-main .sub-menu .links li:first-child {
	margin-top: calc(-1 * var(--text-spacing-xsmall));
}

#menu-main .sub-menu .links li:not(:last-child):before {
	background: var(--black-10);
	bottom: 0;
	content: '';
	height: 1px;
	left: 50%;
	pointer-events: none;
	position: absolute;
	translate: -50% 0;
	width: 100%;
}

#menu-main .sub-menu .links a {
	font-family: var(--heading-font);
	font-weight: 400;
	gap: var(--text-spacing-xxsmall);
	justify-content: center;
	line-height: calc(28 / 18);
	padding: var(--text-spacing-xsmall) var(--text-spacing-large);
	width: 100%;
}

/* Right Column */

#menu-main .sub-menu .right-column {
	margin: var(--text-spacing-small) var(--text-spacing-small) var(--text-spacing-small) 0;
	position: relative;
	width: calc(338/1440 * 100%);
}

#menu-main .sub-menu .right-column.image,
#menu-main .sub-menu .right-column.link {
	align-self: center;
	aspect-ratio: 1;
	height: auto;
}

#menu-main .sub-menu .right-column.link .media {
	aspect-ratio: 338/337;
	display: block;
	height: auto;
	position: relative;
	width: 100%;
}

#menu-main .sub-menu .right-column.link .media:before {
	background: var(--black-40);
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

#menu-main .sub-menu .right-column img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

#menu-main .sub-menu .right-column.link .btn {
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
}

.loop-event-card {
	background: var(--white);
	box-shadow: var(--shadow2);
	color: var(--black);
	display: block;
}

.loop-event-card:hover {
	color: var(--black);
}

.loop-event-card .media {
	aspect-ratio: 338 / 190;
}

.loop-event-card article {
	padding: var(--text-spacing-xsmall) var(--text-spacing-small) var(--text-spacing-small);
}

.loop-event-card .pill {
	margin-bottom: 4px;
	opacity: .8;
}

.loop-event-card .heading-6 {
	margin-bottom: var(--text-spacing-xxsmall);
}

/*** Alert Bar ***/

.alert-bar {
	background: var(--crimson-red);
	color: var(--white);
	font: 700 calc(12rem/16)/calc(23/12) var(--body-font);
	justify-content: center;
	left: 0;
	letter-spacing: 1px;
	margin: 0;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 8px;
	position: absolute;
	text-align: center;
	text-transform: uppercase;
	top: 0;
	white-space: nowrap;
	width: 100%;
	z-index: 4;
}

.alert-bar:hover {
	background: var(--crimson-red-hover);
	color: var(--white);
}

.alert-bar .arrow {
	margin-left: var(--text-spacing-xxsmall);
}

.alert-bar .arrow svg {
	display: inline-block;
	height: auto;
	margin: 0 0 1px 4px;
	width: 10px;
}

/***************************************************************************************************************************************************************************************/

/* FOOTER STYLES */

/***************************************************************************************************************************************************************************************/

footer {
	background: var(--black);
	color: var(--white);
	padding: var(--module-spacing-small) 0 var(--text-spacing-large);
}

footer ul {
	display: flex;
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

/*** Left Column ***/

footer article {
	grid-column: span 3;
	grid-row: span 2;
	margin: 0 var(--text-spacing-small) 0 calc(var(--text-spacing-small) * -1);
	padding: 78px 0 96px;
	position: relative;
	text-align: center;
	width: calc(100% + var(--gap) + var(--text-spacing-small));
	z-index: 2;
}

footer article:before {
	background: rgb(255 255 255 / .05);
	border-radius: var(--arches-radii);
	bottom: 0;
	content: '';
	height: calc(100% + 42px);
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: calc(100% + (var(--module-spacing-small) * 2));
	z-index: -1;
}

footer article a {
	color: var(--crimson-red);
	font-weight: 600;
}

footer article a:hover {
	color: var(--crimson-red-hover);
}

footer article .logo {
	display: block;
	margin: 0 auto var(--text-spacing-small);
	max-width: 246px;
	width: 100%;
}

footer article .logo svg {
	width: 100%;
}

footer article .logo .letter-change {
	fill: var(--white);
}

footer article address {
	border-top: 1px solid var(--white-10);
	font-style: normal;
	margin-bottom: var(--text-spacing-small);
	padding-top: var(--text-spacing-small);
}

footer article p.xsmall {
	border-top: 1px solid var(--white-10);
	padding-top: var(--text-spacing-small);
}

footer .badges {
	gap: var(--text-spacing-xsmall);
	justify-content: center;
}

footer .badges img {
	max-height: 62px;
	max-width: 159px;
	width: auto;
}

/*** Tagline ***/

footer p.heading-5,
#menu-footer,
footer .eyebrow,
footer .social,
footer .newsletter {
	padding-left: var(--text-spacing-small);
}

footer p.heading-5 {
	border-bottom: 1px solid var(--white-10);
	grid-column: 5 / span 8;
	margin-bottom: var(--text-spacing-xxsmall);
	padding-bottom: var(--text-spacing-xlarge);
}

footer p.heading-5 img {
	display: block;
	margin-bottom: var(--text-spacing-small);
}

footer p.heading-5 .btn {
	display: flex;
	margin-top: var(--text-spacing-small);
	width: max-content;
}

/*** Links & Socials ***/

footer .links-socials,
footer .newsletter {
	grid-column: 5 / span 4;
}

#menu-footer {
	flex-wrap: wrap;
	gap: var(--text-spacing-xsmall) var(--gap);
	margin-bottom: var(--text-spacing-large);
}

#menu-footer li {
	width: calc(50% - 20px);
}

#menu-footer a {
	color: var(--white);
}

#menu-footer a:hover {
	color: var(--crimson-red-hover);
}

footer .eyebrow {
	margin-bottom: var(--text-spacing-xxsmall);
}

footer .social {
	gap: var(--text-spacing-xxsmall);
}

footer .social a.btn.icon {
	border-radius: 0;
	font-size: calc(15rem/16);
	height: var(--text-spacing-large);
	width: var(--text-spacing-large);
}

/*** Newsletter ***/

footer .newsletter {
	grid-column: 9 / span 4;
}

footer .newsletter p {
	margin-bottom: var(--text-spacing-xxsmall);
}

footer .newsletter form,
.cta .newsletter form {
	display: flex;
	flex-wrap: wrap;
	gap: var(--text-spacing-xxsmall);
}

footer .newsletter form .clear {
	position: absolute;
}

footer .newsletter .mc-field-group,
.cta .newsletter .mc-field-group {
	width: 100%;
}

footer .newsletter .mc-field-group:not(:nth-of-type(3)),
.cta .newsletter .mc-field-group:has([name=FNAME], [name=LNAME]) {
	width: calc(50% - 4px);
}

footer .newsletter .mc-field-group input,
.cta .newsletter .mc-field-group input {
	background: none;
	border: 1px solid var(--white-20);
	color: var(--white);
	font-family: inherit;
	font-size: calc(14rem/16);
	height: 54px;
	padding: 0 12px;
	width: 100%;
}

footer .newsletter .mc-field-group input::placeholder,
.cta .newsletter .mc-field-group input::placeholder {
	color: var(--white);
	opacity: .8;
}

footer .newsletter .mc-field-group input:focus {
	border-color: var(--white);
}

footer .newsletter .btn.primary,
.cta .newsletter .btn.primary {
	border: 1px solid var(--white);
	padding: 11px;
	width: 100%;
}

footer .newsletter .btn.primary:hover {
	background: var(--white);
	color: var(--black);
}

/* On light backgrounds (Mailchimp embed in a CTA module) */

.cta .newsletter {
	margin-top: var(--text-spacing-small);
	max-width: 600px;
	text-align: left;
}

.cta .newsletter #mc_embed_signup_scroll,
.cta .newsletter .clear {
	display: contents;
}

.cta .newsletter form h2,
.cta .newsletter .indicates-required {
	display: none;
}

.cta .newsletter .response {
	width: 100%;
}

.cta .newsletter .mc-field-group input {
	border-color: var(--black-60);
	color: var(--black);
}

.cta .newsletter .mc-field-group input::placeholder {
	color: var(--black);
}

.cta .newsletter .mc-field-group input:focus {
	border-color: var(--black);
	outline: 1px solid var(--black);
}

.cta .newsletter .btn.primary {
	appearance: none;
	background: none;
	border-color: var(--black);
	border-radius: 0;
	color: var(--black);
	margin: 0;
	width: auto;
}

.cta .newsletter .btn.primary:hover {
	background: var(--black);
	color: var(--white);
}

/*** Copyright ***/

footer .copyright {
	align-items: center;
	grid-column: 1 / -1;
}

footer .copyright p {
	margin: 0;
	text-decoration: none;
}

footer .copyright ul {
	display: flex;
	gap: var(--text-spacing-small);
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

footer .copyright a {
	color: var(--white);
}

footer .copyright a:hover {
	text-decoration: none;
}

/*** Newsletter Modal ***/

.newsletter-modal {
	background: url('svgs/arched-bkg.svg') repeat-x left bottom var(--white);
	max-height: 90dvh;
	max-width: 1196px;
	width: 90vw;
}

.newsletter-modal .flex-container {
	padding: var(--module-spacing-medium) var(--module-spacing-medium) var(--module-spacing-large);
}

.newsletter-modal article,
.newsletter-modal form {
	width: calc(498/1036 * 100%);
}

.newsletter-modal article {
	padding-right: var(--text-spacing-small);
}

.newsletter-modal .heading-2 {
	margin-bottom: var(--text-spacing-xsmall);
}

.newsletter-modal .heading-2:before {
	aspect-ratio: 1;
	background: url('svgs/logomark.svg') no-repeat center / 100% auto;
	content: '';
	display: block;
	filter: var(--crimson-filter);
	margin-bottom: var(--text-spacing-small);
	width: 65px;
}

.newsletter-modal form {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xsmall);
}

.newsletter-modal input[type=email],
.newsletter-modal input[type=text],
.newsletter-modal input[type=tel],
.newsletter-modal select,
.newsletter-modal textarea {
	background: var(--white);
}

/*** Sticky Toast ***/

.sticky-toast {
	background: var(--purple);
	bottom: 10px;
	box-shadow: var(--shadow);
	max-width: calc(100% - 20px);
	opacity: 1;
	padding: var(--text-spacing-medium);
	pointer-events: auto;
	position: fixed;
	right: 10px;
	transition: opacity .1s ease, visibility .1s ease;
	visibility: visible;
	width: 360px;
	z-index: 99;
}

.sticky-toast.hidden {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.sticky-toast button {
	border: none;
	padding: 0;
	position: absolute;
	right: var(--text-spacing-xxsmall);
	top: var(--text-spacing-xxsmall);
}

.sticky-toast button:hover {
	opacity: .6;
}

.sticky-toast h2,
.sticky-toast p {
	margin-bottom: var(--text-spacing-xxsmall);
}

/***************************************************************************************************************************************************************************************/

/* DEFAULT PAGE STYLES */

/***************************************************************************************************************************************************************************************/

/*** Hero ****/

.module.plain-hero.bkg-cream {
	border-left: var(--text-spacing-small) solid var(--off-white);
	border-right: var(--text-spacing-small) solid var(--off-white);
	padding: var(--module-spacing-small) 0;
}

.plain-hero article {
	grid-column: 2 / span 10;
	text-align: center;
}

.plain-hero .heading-2 .eyebrow {
	margin: 0 auto var(--text-spacing-xsmall);
}

/*** Content ***/

/* Shortcode - Large Intro Text */

.large-intro-text {
	margin-bottom: var(--module-spacing-small);
}

/* Used as a heading for the shortcode below it, so sit close to it. */
.large-intro-text:has(+ .shortcode) {
	margin-bottom: 0;
}

.large-intro-text + .shortcode {
	margin-top: var(--text-spacing-xsmall);
}

/* Shortcode - People */

.staff-grid {
	gap: var(--text-spacing-xsmall);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.staff-grid .open-dialog {
	aspect-ratio: 250/334;
	background: none;
	border: none;
	padding: 0;
	position: relative;
	text-align: left;
}

.staff-grid .open-dialog:before {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.40) 25%, rgba(0, 0, 0, 0.00) 84.51%);
	bottom: 0;
	content: '';
	height: 108px;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.staff-grid .open-dialog .heading-6 {
	bottom: 0;
	color: var(--white);
	left: 0;
	padding: var(--text-spacing-xxsmall);
	position: absolute;
	width: calc(100% - var(--text-spacing-xxlarge));
	z-index: 2;
}

.staff-grid .open-dialog .btn.icon {
	bottom: var(--text-spacing-xxsmall);
	position: absolute;
	right: var(--text-spacing-xxsmall);
	z-index: 2;
}

.staff-popup {
	background: var(--off-white);
	box-shadow: var(--shadow);
	height: 560px;
	max-height: 90dvh;
	max-width: 90vw;
	overflow: hidden;
	text-align: left;
	width: 800px;
	z-index: 9;
}

.staff-popup .close-popup {
	border-radius: 0;
}

.staff-popup .flex-container {
	height: 100%;
}

.staff-popup .info {
	/* height: max-content; */
	padding: var(--text-spacing-small);
	/* position: sticky;
	top: 0; */
	width: calc(298/800 * 100%);
	z-index: 3;
}

.staff-popup .media {
	aspect-ratio: 250/320;
	margin-bottom: var(--text-spacing-small);
}

.staff-popup .media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.staff-popup ul.xsmall,
.staff-popup .social {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xxsmall);
	list-style: none;
	margin: 0;
	padding: 0;
}

.staff-popup ul.xsmall a {
	align-items: center;
	color: var(--black);
	display: flex;
	font-weight: 600;
	gap: var(--text-spacing-xxsmall);
	text-decoration: none;
}

.staff-popup ul.xsmall a:hover {
	color: var(--black);
	text-decoration: underline;
}

.staff-popup .social {
	flex-direction: row;
	margin-top: var(--text-spacing-small);
}

.staff-popup .social .icon {
	border-radius: 0;
}

.staff-popup article {
	height: 100%;
	margin-left: calc(-1 * var(--module-spacing-medium));
	overflow: auto;
	padding: var(--module-spacing-medium) var(--module-spacing-medium) 0 var(--module-spacing-medium);
	position: relative;
	width: calc(488/800 * 100% + var(--module-spacing-medium));
}

.staff-popup .heading-4 {
	margin-bottom: var(--text-spacing-xxsmall);
}

.staff-popup .eyebrow {
	margin-bottom: var(--text-spacing-large);
}

.staff-popup .bio {
	padding: var(--text-spacing-large) 0;
	position: relative;
	z-index: 2;
}

.staff-popup .bio:before {
	background: var(--cream);
	content: '';
	height: 100%;
	position: absolute;
	right: calc(var(--module-spacing-medium) * -1);
	top: 0;
	width: calc(100% + var(--module-spacing-medium) * 2);
	z-index: -1;
}

/** 404 Page ***/

.error404 .page-content article {
	padding: var(--module-spacing-large) 0;
	text-align: center;
}

.error404 .page-content article {
	grid-column: 3 / span 8;
}

.error404 .page-content article h1 {
	margin-bottom: var(--text-spacing-small);
}

.error404 .page-content p.heading-6 {
	margin-bottom: var(--text-spacing-large);
}

/***************************************************************************************************************************************************************************************/

/* PAGE BUILDER STYLES STYLES */

/***************************************************************************************************************************************************************************************/

.module {
	overflow-x: clip;
}

.module.margin-spacing-small {
	margin-top: var(--module-spacing-medium);
}

.module.margin-spacing-medium {
	margin-top: var(--module-spacing-large);
}

.module.margin-spacing-large {
	margin-top: var(--module-spacing-xlarge);
}

.page-builder .module:last-child:not(.bkg-cream:not(.cards), .bkg-purple) {
	margin-bottom: var(--module-spacing-xlarge);
}

.module.bkg-cream {
	background: var(--cream);
	padding: var(--module-spacing-large) 0;
}

.module.bkg-purple {
	background: var(--purple);
	padding: var(--module-spacing-large) 0;
}

/*** Heroes ***/

/* Style 1 */

.hero.style1 {
	color: var(--white);
	display: flex;
	height: calc(100dvh - 88px - 46px);
	position: relative;
}

.hero.style1:after {
	background: url('svgs/icons/regular/arrow-down.svg') no-repeat center / 17px auto rgb(0 0 0 / .5);
	border-radius: 100%;
	bottom: var(--text-spacing-xxlarge);
	content: '';
	filter: invert(100%);
	height: 44px;
	position: absolute;
	right: var(--text-spacing-xxlarge);
	width: 44px;
}

.hero.style1 .media {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.hero.style1 .media:after {
	background: linear-gradient(227deg, rgb(0 0 0 / 0.00) 31.49%, rgb(0 0 0 / 0.80) 83.82%);
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.hero.style1 .media img,
.hero.style1 .media video {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.hero.style1 article {
	margin-top: auto;
	padding: var(--module-spacing-small);
	position: relative;
	z-index: 2;
}

.hero.style1 .heading-4 {
	margin-bottom: var(--text-spacing-small);
}

.hero.style1 .heading-4 .eyebrow {
	margin-bottom: var(--text-spacing-xxsmall);
}

.hero.style1 .btn.secondary {
	margin-left: var(--text-spacing-small);
}

/* Style 2 */

.hero.style2 {
	padding-top: var(--module-spacing-medium);
}

.hero.style2:not(.bkg-none) {
	padding: var(--module-spacing-xlarge) 0 var(--module-spacing-medium);
}

.hero.style2.bkg-image {
	background: no-repeat center / cover;
	color: var(--white);
	position: relative;
}

.hero.style2.bkg-image:before,
.hero.style2.bkg-image:after {
	content: '';
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.hero.style2.bkg-image:before {
	background: var(--black);
	height: 100%;
	opacity: .5;
}

.hero.style2.bkg-image:after {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.60) 23.3%, rgba(0, 0, 0, 0.00) 92.13%);
	height: 108px;
}

.hero.style2 article {
	grid-column: 2 / span 10;
	text-align: center;
}

.hero.style2 .heading-1 {
	margin-bottom: var(--text-spacing-xxsmall);
}

.hero.style2 .heading-1 .eyebrow {
	justify-content: center;
	margin: 0 auto var(--text-spacing-xsmall);
}

.hero.style2 p {
	margin: 0;
}

/* Style 3 */

.hero.style3 {
	padding-top: var(--text-spacing-small);
}

.hero.style3.bkg-cream {
	padding: 138px 0 var(--module-spacing-small);
}

.hero.style3 article,
.hero.style3 .media {
	grid-column: span 6;
}

.hero.style3 article {
	align-self: center;
	padding-right: var(--text-spacing-medium);
}

.hero.style3.layout-reversed article {
	grid-column: 7 / span 6;
	grid-row: 1;
	padding: 0 0 0 var(--text-spacing-medium);
}

.hero.style3 .heading-1 {
	margin-bottom: var(--text-spacing-xxsmall);
}

.hero.style3 .heading-1 .eyebrow {
	margin-bottom: var(--text-spacing-xsmall);
}

.hero.style3 .media {
	aspect-ratio: 660 / 616;
	/* height: 616px; */
	height: auto;
	width: calc(100% + 88px);
}

.hero.style3.layout-reversed .media {
	grid-column: 1 / span 6;
	grid-row: 1;
	margin: 0 0 0 -88px;
}

.hero.style3 .media img {
	border-radius: var(--arches-radii);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/*** Modules ***/

/* Text - Style 1 */

.text.style1:not(.hide-bkg) {
	position: relative;
}

.text.style1:not(.hide-bkg):before,
.text.style1:not(.hide-bkg):after {
	background: url('svgs/bkg-logomark.svg') repeat;
	content: '';
	height: calc(100% - 10px);
	left: var(--text-spacing-small);
	position: absolute;
	top: 5px;
	width: 250px;
	z-index: -1;
}

.text.style1:not(.hide-bkg):after {
	left: auto;
	right: var(--text-spacing-small);
}

.text.style1 .container > article {
	grid-column: 3 / span 8;
	position: relative;
	text-align: center;
	z-index: 2;
}

.text.style1:not(.hide-bkg) .container > article {
	padding: var(--module-spacing-medium) 0;
}

.text.style1:not(.hide-bkg) .container > article:before {
	background: var(--off-white);
	content: '';
	height: 100%;
	left: calc(var(--text-spacing-large) * -1);
	position: absolute;
	top: 0;
	width: calc(100% + var(--module-spacing-medium));
	z-index: -1;
}

.text.style1 .container > article > .heading-4 {
	margin-bottom: var(--text-spacing-xxsmall);
}

.text.style1 .container > article > .heading-4:before {
	height: var(--module-spacing-small);
	margin: 0 auto var(--text-spacing-small);
	width: var(--module-spacing-small);
}

/* Text - Style 2 */

.text.style2 article {
	grid-column: 3 / span 8;
}

.text.style2 .content-styles .heading-2 {
	margin: 0 0 var(--text-spacing-large);
}

.text.style2 .accordions {
	margin-left: 0;
	margin-right: 0;
	width: 100% !important;
}

.text.style2 .accordion.active button .collapse {
	background: #D7867C;
}

/* Text - Style 3 */

.text.style3 article {
	grid-column: 1 / -1;
	margin-bottom: var(--text-spacing-small);
}

.text.style3 ul {
	display: flex;
	flex-direction: column;
	gap: var(--module-spacing-medium);
	grid-column: 1 / -1;
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.text.style3 li .heading-3 {
	grid-column: span 5;
	padding-right: var(--text-spacing-xlarge);
}

.text.style3 li article {
	grid-column: span 7;
	height: max-content;
	margin-bottom: 0;
	padding-left: var(--text-spacing-xxsmall);
	position: relative;
}

.text.style3 li article:before {
	background: var(--purple);
	content: '';
	height: 100%;
	left: calc(var(--text-spacing-small) * -1);
	position: absolute;
	top: 0;
	width: 4px;
}

.text.style3 li .btn + .btn {
	margin-left: var(--text-spacing-small);
}

.text.style3 .btn.secondary .icon .fa-arrow-up-right-from-square,
.text.style3 .btn.secondary .icon .fa-external-link {
	font-size: calc(11rem/16);
}

/* Media - Style 1 */

.media-carousel {
	overflow: clip;
}

.media-carousel.style1:not(.hide-bkg) {
	background: url('svgs/bkg-logomark.svg') repeat;
	padding: var(--module-spacing-large) 0;
}

.media-carousel.style1 .image-carousel .slick-track {
	align-items: center;
}

.media-carousel.style1 .image-carousel img {
	max-height: 400px;
	max-width: 400px;
	width: auto;
}

/* Media - Style 2 */

.media-carousel.style2 .slick-track {
	gap: 0;
}

.media-carousel.style2 img,
.media-carousel.style3 video {
	aspect-ratio: 1440/720;
	object-fit: cover;
	width: 100%;
}

.media-carousel.style2 .slick-slide:has(p) {
	position: relative;
}

.media-carousel.style2 .slick-slide:has(p):before {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.60) 23.3%, rgba(0, 0, 0, 0.00) 92.13%);
	bottom: 0;
	content: '';
	height: 120px;
	left: 0;
	position: absolute;
	width: 100%;
}

.media-carousel.style2 p {
	bottom: var(--text-spacing-small);
	color: var(--white);
	left: 0;
	margin: 0;
	padding: 0 var(--text-spacing-xsmall);
	position: absolute;
	width: 100%;
}

.media-carousel.style2 .animated-ticker .slick-dots {
	bottom: auto;
	justify-content: center;
	padding: var(--text-spacing-xsmall) 0;
	position: relative;
	right: auto;
}

.media-carousel.style2 .animated-ticker .slick-dots li button {
	background: var(--black-20);
}

/* Media - Style 3 */

.media-carousel.style3 {
	position: relative;
}

.media-carousel.style3 video {
	aspect-ratio: 1440/640;
	display: block;
}

.media-carousel.style3 .btn.icon {
	border: none;
	position: absolute;
}

.media-carousel.style3 .play,
.video-lightbox a .btn.icon.hover-link {
	bottom: var(--text-spacing-small);
	font-size: calc(28rem/16);
	height: var(--module-spacing-medium);
	left: var(--text-spacing-small);
	padding: 0;
	width: var(--module-spacing-medium);
}

.media-carousel.style3 .play.active {
	background: var(--white-20);
}

.media-carousel.style3 .mute {
	background: var(--white-20);
	bottom: var(--text-spacing-xsmall);
	color: var(--white);
	font-size: calc(17rem/16);
	height: var(--text-spacing-large);
	right: var(--text-spacing-xsmall);
	width: var(--text-spacing-large);
}

.media-carousel.style3 .mute:hover {
	background: var(--white-10);
}

.media-carousel.style3 .play.active .fa-play,
.media-carousel.style3 .play:not(.active) .fa-pause,
.media-carousel.style3 .mute.active .fa-volume-slash,
.media-carousel.style3 .mute:not(.active) .fa-volume {
	display: none;
}

/* Text + Media - Style 1 */

.text-media.style1.bkg-cream {
	background: transparent; /* Override .module.bkg-cream - partial cream via :before instead */
	padding: var(--text-spacing-xxlarge) 0;
	position: relative;
}

.text-media.style1.bkg-cream:before {
	background: var(--cream);
	content: '';
	height: 100%;
	position: absolute;
	right: var(--text-spacing-small);
	top: 0;
	width: 73.3vw; /* From Figma: 1055px / 1440px */
	z-index: 0;
}

.text-media.style1.bkg-cream .container {
	position: relative;
	z-index: 1;
}

.text-media.style1.bkg-cream.layout-reversed:before {
	left: var(--text-spacing-small);
	right: unset;
	width: 79.1vw; /* From Figma: 1139px / 1440px */
}

.text-media.style1 .media {
	grid-column: span 5;
	margin: 0 0 0 -82px;
	position: relative;
	width: calc(100% + 82px);
}

.text-media.style1 .media:not(.image-collage) {
	aspect-ratio: 557/618;
}

.text-media.style1 .media.image-collage {
	padding-bottom: 126px;
	position: relative;
}

.text-media.style1.layout-reversed .media {
	grid-column: 8 / span 5;
	grid-row: 1;
	margin: 0;
}

.text-media.style1 .media.image img,
.text-media.style1 .media.video video {
	border-radius: var(--arches-radii);
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.text-media.style1 .media.image-collage > img:first-child,
.text-media.style1 .media.image-collage > picture:first-child img {
	aspect-ratio: 397/515;
	border-radius: var(--arches-radii);
	display: block;
	object-fit: cover;
	width: calc(397/557 * 100%);
}

.text-media.style1 .media.image-collage > img:last-child,
.text-media.style1 .media.image-collage > picture:last-child img {
	aspect-ratio: 353/263;
	bottom: 0;
	display: block;
	object-fit: cover;
	position: absolute;
	right: 0;
	width: calc(353/557 * 100%);
}

.text-media.style1 .spinning-badge {
	left: 50%;
	top: 100%;
	transform: translate(-50%, -50%);
}

.text-media.style1 article {
	align-self: center;
	grid-column: span 7;
	padding-left: var(--text-spacing-medium);
}

.text-media.style1.layout-reversed article {
	grid-row: 1;
	padding: 0 var(--text-spacing-medium) 0 0;
}

.text-media.style1 .heading-3,
.text-media.style1 .heading-3 .eyebrow {
	margin-bottom: var(--text-spacing-xsmall);
}

.text-media.style1 .btn.secondary {
	margin-left: var(--text-spacing-small);
	margin-top: var(--text-spacing-xsmall);
}

/* Text + Media - Style 2 */

.text-media.style2 {
	height: calc(100dvh - 88px - 46px);
	min-height: 600px;
	position: relative;
}

.text-media.style2 .animated-ticker,
.text-media.style2 .animated-ticker img {
	height: 100%;
	width: 100%;
}

.text-media.style2 .animated-ticker {
	overflow-x: clip;
}

.text-media.style2 .animated-ticker .slick-track {
	gap: 0;
}

.text-media.style2 .animated-ticker .slide {
	position: relative;
}

.text-media.style2 .animated-ticker .slide:before,
.text-media.style2 .animated-ticker .slide:after {
	background: var(--black-20);
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

.text-media.style2 .animated-ticker .slide:after {
	background: linear-gradient(204deg, rgba(0, 0, 0, 0.00) 36.91%, rgba(0, 0, 0, 0.60) 66.97%);
}

.text-media.style2 .animated-ticker img {
	object-fit: cover;
}

.animated-ticker .slick-dots {
	align-items: center;
	bottom: var(--module-spacing-small);
	display: flex;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	right: var(--module-spacing-small);
}

.animated-ticker .slick-dots li button {
	background: var(--white);
	border: none;
	border-radius: 100%;
	font-size: 0;
	height: var(--text-spacing-xxsmall);
	overflow: hidden;
	padding: 0;
	position: relative;
	transition: .25s;
	width: var(--text-spacing-xxsmall);
}

.animated-ticker .slick-dots li button::before {
	background: var(--crimson-red);
	border-radius: 16px;
	content: '';
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateX(-100%);
	width: 100%;
	z-index: 1;
}

.animated-ticker .slick-dots li.slick-active button {
	border-radius: 16px;
	width: 97px;
}

.animated-ticker .slick-dots li.slick-active button::before {
	transform: translateX(0%);
}

.text-media.style2 article {
	bottom: 0;
	color: var(--white);
	left: 0;
	max-width: 800px;
	padding: var(--module-spacing-small) 72px;
	position: absolute;
}

.text-media.style2 .heading-3 {
	margin-bottom: var(--text-spacing-xxsmall);
}

.text-media.style2 .heading-3 .eyebrow {
	margin-bottom: var(--text-spacing-xsmall);
}

/* Cards */

.cards.bkg-cream {
	border-left: var(--text-spacing-small) solid var(--off-white);
	border-right: var(--text-spacing-small) solid var(--off-white);
	padding-bottom: 0;
}

.cards article {
	grid-column: span 8;
}

.cards article p:last-child {
	margin: var(--text-spacing-xsmall) 0 0;
}

.cards .btn.primary {
	margin: auto 0 0 auto;
	grid-column: span 4;
}

.cards ul {
	grid-column: 1 / -1;
	line-height: 1;
	list-style: none;
	margin: var(--text-spacing-small) 0 0;
	padding: 0;
	position: relative;
	z-index: 2;
}

.cards ul:before {
	background: var(--off-white);
	bottom: 0;
	content: '';
	height: 50%;
	left: var(--viewport-edge);
	position: absolute;
	width: 100vw;
	z-index: -1;
}

.cards li {
	grid-column: span 4;
}

.cards li a {
	background: var(--purple);
	display: flex;
	flex-direction: column;
	height: 494px;
	justify-content: flex-start;
	padding: calc(242rem/16) var(--text-spacing-medium) var(--text-spacing-medium);
	position: relative;
	text-align: center;
}

.cards li a,
.cards li .btn.secondary {
	color: var(--white);
	transition: color .3s ease-out, border-radius 0.3s ease-out;
}

.cards li a:hover,
.cards a:hover .image {
	border-radius: calc(186 / 1440 * 100vw) calc(186 / 1440 * 100vw) 0 0;
}

.cards li a:hover,
.cards li a:hover .btn.secondary {
	color: var(--black);
}

.cards li a:before {
	background: url('svgs/logomark.svg') no-repeat left top / 237px auto;
	bottom: 0;
	content: '';
	height: 186px;
	opacity: .05;
	position: absolute;
	right: 0;
	width: 218px;
}

.cards li .image {
	height: 100%;
	left: 0;
	opacity: 1;
	overflow: hidden;
	position: absolute;
	top: 0;
	transition: opacity .3s ease-out, border-radius 0.3s ease-out;
	width: 100%;
}

.cards a:hover .image {
	opacity: 0;
}

.cards li .image:after {
	background: var(--black);
	content: '';
	height: 100%;
	left: 0;
	opacity: .6;
	position: absolute;
	top: 0;
	width: 100%;
}

.cards li .image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cards li .heading-4,
.cards li p,
.cards li .btn.secondary {
	position: relative;
	z-index: 2;
}

.cards li .heading-4 {
	margin-bottom: var(--text-spacing-xxsmall);
}

.cards li p {
	display: grid;
	grid-template-rows: 0fr;
	margin: 0;
	opacity: 0;
	transform: translateY(8px);
	transition: grid-template-rows .3s ease-out, opacity .3s ease-out, transform .3s ease-out, margin .3s ease-out;
}

.cards li p span {
	overflow: hidden;
}

.cards a:hover p {
	grid-template-rows: 1fr;
	margin-bottom: var(--text-spacing-xsmall);
	opacity: 1;
	transform: translateY(0);
}

.cards li .btn.secondary {
	margin: 0 auto;
}

/* Upcoming Events */

.upcoming-events {
	padding-bottom: var(--text-spacing-medium);
}

.upcoming-events article {
	gap: var(--text-spacing-small);
	margin-bottom: var(--text-spacing-xxlarge);
}

.upcoming-events ul {
	display: flex;
	flex-direction: column;
	gap: var(--module-spacing-small);
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.loop-event {
	color: var(--black);
	z-index: 2;
}

/* Sermons (archive and Latest Sermons module) */

.latest-sermons .container > article {
	gap: var(--text-spacing-small);
	margin-bottom: var(--text-spacing-xxlarge);
}

/* The archive's search and results, without the archive page's own band and padding. */
.latest-sermons .archive-content {
	background: none;
	padding: 0;
}

.sermon-list {
	display: flex;
	flex-direction: column;
	gap: var(--gap);
	list-style: none;
	margin: 0;
	padding: 0;
}

.loop-sermon {
	border-bottom: 1px solid var(--black-10);
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xxsmall);
	padding-bottom: var(--gap);
}

.loop-sermon p {
	margin: 0;
}

.sermon-player {
	margin-top: var(--text-spacing-xxsmall);
}

.sermon-player audio {
	width: 100%;
}

/* Native controls until js/sermon-player.js loads, then the custom ones. */
.sermon-player-controls,
.has-sermon-player .sermon-player audio {
	display: none;
}

.has-sermon-player .sermon-player-controls {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-xsmall);
}

.sermon-player-toggle {
	border: none;
	cursor: pointer;
	flex: none;
	padding: 0;
}

.sermon-player-pause,
.sermon-player.is-playing .sermon-player-play {
	display: none;
}

.sermon-player.is-playing .sermon-player-pause {
	display: flex;
}

/* 24px tall to stay an easy target; the visible track is the 4px runnable track. */
.sermon-player-progress {
	--progress: 0%;
	appearance: none;
	background: none;
	cursor: pointer;
	flex: 1;
	height: 24px;
	margin: 0;
	min-width: 0;
}

.sermon-player-progress::-webkit-slider-runnable-track {
	background: linear-gradient(to right, var(--crimson-red) var(--progress), var(--black-20) var(--progress));
	border-radius: 2px;
	height: 4px;
}

.sermon-player-progress::-moz-range-track {
	background: var(--black-20);
	border-radius: 2px;
	height: 4px;
}

.sermon-player-progress::-moz-range-progress {
	background: var(--crimson-red);
	border-radius: 2px;
	height: 4px;
}

.sermon-player-progress::-webkit-slider-thumb {
	appearance: none;
	background: var(--crimson-red);
	border: none;
	border-radius: 100%;
	height: 12px;
	margin-top: -4px;
	width: 12px;
}

.sermon-player-progress::-moz-range-thumb {
	background: var(--crimson-red);
	border: none;
	border-radius: 100%;
	height: 12px;
	width: 12px;
}

.sermon-player-progress:focus-visible {
	outline: 2px solid var(--black);
	outline-offset: 2px;
}

.sermon-player-time {
	flex: none;
	font-size: calc(14rem/16);
	font-variant-numeric: tabular-nums;
	min-width: 6.5em;
	text-align: right;
}

.loop-event:hover {
	color: var(--black);
}

.loop-event .media {
	aspect-ratio: 372/209;
	grid-column: span 4;
	position: relative;
}

.loop-event .media:not(.has-placeholder):before,
.loop-event .media:not(.has-placeholder):after {
	content: '';
	position: absolute;
	width: 100%;
	z-index: 2;
}

.loop-event .media:not(.has-placeholder):before {
	background: linear-gradient(162deg, rgba(0, 0, 0, 0.60) 35.64%, rgba(0, 0, 0, 0.00) 68.47%);
	height: calc(176/209 * 100%);
	left: 0;
	top: 0;
}

.loop-event .media:not(.has-placeholder):after {
	background: linear-gradient(350deg, rgba(0, 0, 0, 0.40) 34.14%, rgba(0, 0, 0, 0.00) 51.57%);
	bottom: 0;
	content: '';
	height: 71px;
	opacity: 0;
	right: 0;
	transition: opacity .25s ease;
	width: calc(285/372 * 100%);
}

.loop-event:hover .media:not(.has-placeholder):after {
	opacity: 1;
}

.loop-event .media .date-info {
	color: var(--white);
	left: var(--text-spacing-xsmall);
	position: absolute;
	top: var(--text-spacing-xsmall);
	z-index: 3;
}

.loop-event .media.has-placeholder .date-info,
.loop-event:hover .media.has-placeholder .btn.secondary {
	color: var(--black);
}

.loop-event .media .btn.secondary {
	bottom: var(--text-spacing-xsmall);
	color: transparent;
	position: absolute;
	right: var(--text-spacing-xsmall);
	transition: color .25s ease;
	z-index: 3;
}

.loop-event:hover .media .btn.secondary {
	color: var(--white);
}

.loop-event article {
	height: calc(100% + var(--text-spacing-xxsmall));
	grid-column: span 8;
	margin: var(--text-spacing-small) 0 0;
	padding: var(--text-spacing-medium) var(--text-spacing-large) var(--text-spacing-medium) 0;
	position: relative;
}

.loop-event article:before {
	background: var(--cream);
	content: '';
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	transition: box-shadow .25s ease;
	width: calc(var(--one-column-width) * 9 + var(--gap) * 8);
	z-index: -1;
}

.bkg-cream .loop-event article:before {
	background: var(--white);
}

.loop-event:hover article:before {
	box-shadow: var(--shadow);
}

.loop-event .eyebrow {
	margin-bottom: var(--text-spacing-xsmall);
}

.loop-event .eyebrow-item {
	display: flex;
	align-items: start;
	gap: var(--text-spacing-xxsmall);
}

.loop-event .eyebrow-item + .eyebrow-item {
	margin-left: var(--text-spacing-xsmall);
}

.loop-event p {
	margin: 0;
}

.loop-event article .btn.tertiary {
	display: none;
}

/* CTA - Style 1 */

.cta.style1 .media {
	align-items: end;
	display: flex;
	grid-column: span 5;
	margin: 0 0 0 -65px;
	justify-content: center;
	padding-top: var(--module-spacing-small);
	position: relative;
	width: calc(100% + 65px);
}

.cta.style1.layout-reversed .media {
	grid-column: 8 / span 5;
	grid-row: 1;
	margin: 0;
}

.cta.style1 .media > img,
.cta.style1 .media > picture {
	margin-left: auto;
	width: calc(100% - 65px);
}

.cta.style1.layout-reversed .media > img,
.cta.style1.layout-reversed .media > picture {
	margin-right: auto;
}

.cta.style1 .media:has(svg) > img,
.cta.style1 .media:has(svg) > picture {
	aspect-ratio: 416/511;
	display: block;
	margin: auto auto 0;
	width: calc(416/541 * 100%);
}

.cta.style1 .media img {
	border-radius: var(--arches-radii);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cta.style1 .media svg {
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
}

.cta.style1 article {
	align-self: center;
	grid-column: span 7;
	padding-left: var(--text-spacing-large);
}

.cta.style1.layout-reversed article {
	grid-column: 1 / span 7;
	grid-row: 1;
	padding-left: 0;
	padding-right: var(--text-spacing-large);
}

.cta.style1 .heading-2,
.cta.style1 .heading-2 .eyebrow {
	margin-bottom: var(--text-spacing-small);
}

/* CTA - Style 2 */

.cta.style2 .flex-container {
	flex-wrap: nowrap;
}

.cta.style2 .media {
	aspect-ratio: 175/242;
	flex-shrink: 0;
	margin: 0 0 22px var(--text-spacing-medium);
	position: relative;
	width: 175px;
	z-index: 3;
}

.cta.style2 .media img {
	border-radius: var(--arches-radii);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cta.style2 .media svg {
	left: 50%;
	position: absolute;
	top: -30px;
	transform: translateX(-50%);
}

.cta.style2 .content-container {
	align-self: end;
	gap: var(--module-spacing-medium);
	padding: var(--text-spacing-large) var(--text-spacing-large) var(--text-spacing-large) var(--text-spacing-xxlarge);
	position: relative;
	width: 100%;
	z-index: 2;
}

.cta.style2 .content-container:before,
.cta.style2 .content-container:after {
	bottom: 0;
	content: '';
	height: 100%;
	max-width: var(--container-max-width);
	position: absolute;
	right: 0;
	width: calc(var(--container-width) - (var(--container-outer-padding) * 2));
	z-index: -1;
}

.cta.style2 .content-container:before {
	background: var(--cream);
	border-radius: var(--text-spacing-xxsmall);
}

.cta.style2.bkg-purple-alt .content-container:before {
	background: var(--purple);
}

.cta.style2 .content-container:after {
	background: url('svgs/logomark.svg') no-repeat calc(100% + var(--text-spacing-xxlarge)) calc(100% + var(--text-spacing-xxlarge)) / 198px auto;
	opacity: .05;
}

.cta.style2 .eyebrow {
	margin-bottom: var(--text-spacing-xsmall);
}

.cta.style2 article {
	width: 100%;
}

.cta.style2 p {
	margin: var(--text-spacing-xxsmall) 0 0;
}

.cta.style2 .btn {
	align-self: center;
	flex-shrink: 0;
	margin-right: var(--text-spacing-large);
}

/* Blog & Press/News */

.blog-press-news:not(.hide-bkg) {
	background: var(--cream);
	padding-top: 90px;
	position: relative;
}

.blog-press-news:not(.hide-bkg):before {
	background: url('svgs/logomark.svg') no-repeat left -150px / 718px auto;
	content: '';
	height: 480px;
	opacity: .05;
	position: absolute;
	right: 0;
	top: 0;
	width: 548px;
}

.blog-press-news article {
	align-items: center;
	gap: var(--text-spacing-xsmall);
	margin-bottom: var(--text-spacing-large);
}

.blog-press-news ul {
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 2;
}

.blog-press-news ul:before {
	background: var(--off-white);
	bottom: 0;
	content: '';
	height: 50%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100vw;
	z-index: -1;
}

.blog-press-news li {
	grid-column: span 4;
}

.loop-post,
.loop-press-news {
	background: var(--white);
	box-shadow: var(--shadow);
	color: var(--black);
	display: block;
	height: 100%;
}

.loop-post:hover,
.loop-press-news:hover {
	color: var(--black);
}

.loop-post .media {
	aspect-ratio: 370/208;
}

.loop-post article {
	margin: 0;
	padding: var(--text-spacing-small) var(--text-spacing-small) var(--text-spacing-large);
}

.loop-post .pill,
.loop-press-news .eyebrow,
.loop-press-news .pill {
	margin-bottom: var(--text-spacing-xsmall);
}

.loop-post .heading-5,
.loop-press-news .heading-5 {
	margin-bottom: var(--text-spacing-xxsmall);
}

.loop-press-news {
	background: var(--purple-50-solid);
	padding: var(--text-spacing-large) var(--text-spacing-medium);
}

.loop-press-news .btn.tertiary,
.loop-post .btn.tertiary {
	transition: gap .25s ease;
}

.loop-press-news:hover .btn.tertiary,
.loop-post:hover .btn.tertiary {
	gap: 6px;
}

.loop-press-news:hover .btn.tertiary .icon,
.loop-post:hover .btn.tertiary .icon {
	transform: none;
}

.loop-press-news .eyebrow {
	opacity: .6;
}

.loop-press-news .heading-5 {
	font-size: calc(28rem/16);
	letter-spacing: -1px;
	line-height: calc(36/28);
}

.loop-press-news .media {
	align-items: center;
	display: flex;
	justify-content: flex-start;
	margin-bottom: var(--text-spacing-medium);
	max-height: 48px;
	max-width: 260px;
}

.loop-press-news .media img {
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
	width: auto;
}

/* Podcast Embed */

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

.podcast-embed .eyebrow {
	margin: 0 auto var(--text-spacing-medium);
}

.podcast-embed iframe {
	max-width: 100%;
}

/* Instagram Carousel */

.instagram-carousel {
	overflow: clip;
}

.instagram-carousel .eyebrow{
	margin: 0 auto var(--text-spacing-large);
}

.instagram-carousel #sb_instagram #sbi_images {
	display: block;
}

.instagram-carousel .slick-track {
	gap: var(--text-spacing-xsmall);
}

.instagram-carousel #sb_instagram #sbi_images .sbi_item {
	width: 300px;
}

/* Sunday Service */

.sunday-service.bkg-cream {
	padding: 0;
}

.sunday-service article {
	grid-column: span 8;
	grid-template-columns: subgrid;
	padding: 100px 0;
}

.sunday-service.layout-reversed article {
	grid-column: 5 / span 8;
	grid-row: 1;
	padding-left: var(--text-spacing-medium);
}

.sunday-service .heading-2 {
	grid-column: 1 / -1;
}

.sunday-service .eyebrow {
	margin-bottom: var(--text-spacing-xxsmall);
	opacity: .6;
}

.sunday-service .description {
	grid-column: span 5;
	padding-right: var(--text-spacing-medium);
}

.sunday-service.layout-reversed .description {
	padding: 0;
}

.sunday-service .description ul {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xsmall);
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sunday-service aside {
	grid-column: span 3;
}

.sunday-service aside p + .eyebrow {
	margin-top: var(--module-spacing-small);
}

.sunday-service aside p {
	font-weight: 600;
	line-height: calc(30/16);
}

.sunday-service aside p:last-child {
	margin-bottom: 0;
}

.sunday-service aside .btn.tertiary {
	margin-top: var(--text-spacing-xsmall);
}

.sunday-service .acf-map {
	grid-column: span 4;
	margin-right: calc(var(--viewport-edge) +  var(--text-spacing-small));
	width: calc(100% + var(--container-outer-margin) + var(--container-outer-padding) - var(--text-spacing-small));
}

.sunday-service.layout-reversed .acf-map {
	grid-column: 1 / span 4;
	grid-row: 1;
	margin: 0 0 0 calc(var(--viewport-edge) +  var(--text-spacing-small));
}

/* Global Map */

.global-map {
	overflow-x: clip;
}

.global-map .heading-3 {
	grid-column: span 5;
	padding-right: var(--text-spacing-medium);
}

.global-map p {
	grid-column: span 7;
	margin: 0;
}

.global-map .map {
	position: relative;
}

/* Direct child only — a descendant selector here also sizes the pin SVGs. */
.global-map .map > svg {
	width: 100%;
}

/* Map Markers */

.global-map .map {
	container-type: inline-size;
	/**
	 * Pin geometry, so anything anchored to a pin can be measured from the art rather than
	 * from its 44px hit box. The teardrop occupies y 8-102.7 of a "0 0 94 118" viewBox and is
	 * bottom-aligned in that box, so at a rendered width W its visible top sits 1.17W above
	 * the anchor — 1.40W once the active pin scales 1.23 from its tip.
	 */
	--pin-width: clamp(14px, 1.6cqw, 28px);
	/* Clickable pins sit a little larger than the rest, so weight follows function. */
	--pin-width-plain: calc(var(--pin-width) * .85);
	--pin-width-clickable: calc(var(--pin-width) * 1.15);
	--pin-height: calc(var(--pin-width-plain) * 1.1702);
	--pin-height-active: calc(var(--pin-width-clickable) * 1.402);
	--pin-gap: 8px;
}

/**
 * The marker layer covers the whole map, so it must not intercept pointer events — the pins
 * being hovered and clicked live in the SVG underneath it. Only the hit areas and the open
 * popup take input back.
 */
.global-map .map-markers {
	inset: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	pointer-events: none;
	position: absolute;
}

.global-map .map-marker-pin,
.global-map .map-marker-popup {
	pointer-events: auto;
}

/* Decoration only — nothing to hover, click or focus. */
.global-map .map-marker.plain .map-marker-pin {
	pointer-events: none;
}

/* Title-only markers name themselves on hover; they don't open anything. */
.global-map .map-marker.label .map-marker-pin {
	cursor: default;
	pointer-events: auto;
}

/**
 * Matches the region panel — same surface, radius and type, just sized for a single name.
 * Sits clear of the full 44px pin box rather than hugging it, so the pin it names stays visible.
 */
.global-map .map-marker-label {
	background: var(--purple);
	border-radius: var(--text-spacing-xxsmall);
	/* Title-only pins don't scale on hover, so this clears the resting height. */
	bottom: calc(var(--pin-height) + var(--pin-gap));
	color: var(--black);
	font-family: var(--heading-font);
	font-size: calc(18rem/16);
	font-weight: 400;
	left: 0;
	line-height: 1.2;
	opacity: 0;
	padding: var(--text-spacing-xxsmall) var(--text-spacing-xsmall);
	pointer-events: none;
	position: absolute;
	transform: translateX(-50%);
	transition: opacity .25s ease;
	white-space: nowrap;
	z-index: 3;
}

.global-map .map-marker.label:hover {
	z-index: 4;
}

.global-map .map-marker.label:hover .map-marker-label {
	opacity: 1;
}

/* Flat and smaller — the lift and the extra weight both belong to clickable pins. */
.global-map .map-marker-pin.plain svg {
	filter: none;
	width: var(--pin-width-plain);
}

/**
 * A true zero-size anchor point. Without height:0 this box shrink-wraps to the 44px pin
 * inside it — transforms don't affect layout — and every offset measured from its bottom
 * edge lands 44px lower than intended, putting the popup on top of its own pin.
 */
.global-map .map-marker {
	height: 0;
	left: var(--marker-x);
	position: absolute;
	top: var(--marker-y);
	/* Clickable markers sit above decoration, so an overlap never buries a usable pin. */
	z-index: 2;
}

.global-map .map-marker.plain {
	z-index: 1;
}

.global-map .map-marker-pin {
	align-items: flex-end;
	background: none;
	border: 0;
	display: flex;
	/**
	 * Sized to contain the largest pin — a clickable one at full width, scaled 1.23 — so the
	 * art never overflows its hit area. The box grows upward from the anchor, so changing this
	 * doesn't move the pin's tip off its coordinate.
	 */
	height: 52px;
	justify-content: center;
	padding: 0;
	/* The pin is a teardrop — anchor its tip, not its centre, to the coordinate. */
	transform: translate(-50%, -100%);
	width: 52px;
	/**
	 * Positioned so the z-index actually applies — it's ignored on a static element. Sits
	 * above the popup (3) so neither the popup nor its shadow can cover the pin that opened it.
	 */
	position: relative;
	z-index: 4;
}

/* Scales with the map so pins hold their proportion at any container width. */
/**
 * Capped so the pin — including its 1.23 scale when open — can never grow past the 44px
 * button and slide under the popup. 28px wide is ~35px tall, ~43px scaled.
 */
.global-map .map-marker-pin svg {
	filter: drop-shadow(0 2px 3px rgb(32 29 29 / .35));
	height: auto;
	/* Grow from the tip, so the pin stays anchored to its location while scaling. */
	transform-origin: 50% 100%;
	/* Only scale is animated — transitioning the shadow repaints it every frame, on every pin. */
	transition: scale .25s ease;
	width: var(--pin-width-clickable);
}

.global-map .map-marker-pin:hover svg,
.global-map .map-marker.active .map-marker-pin svg {
	filter: drop-shadow(0 4px 6px rgb(32 29 29 / .5));
	scale: 1.23;
}

/**
 * With a marker open, every other pin fades to a muted crimson so the open one reads alone.
 * Only the teardrop changes — the logomark stays white, keeping a receded pin legible.
 */
.global-map .map-marker-pin svg path[fill="#C2301A"] {
	transition: fill .25s ease;
}

.global-map .map.has-active .map-marker:not(.active) .map-marker-pin svg path[fill="#C2301A"] {
	fill: rgb(208 133 119);
}

.global-map .map.has-active .map-marker:not(.active) .map-marker-label {
	opacity: 0;
}

/* Title-only pins don't open anything, so they shouldn't lift as if they do. */
.global-map .map-marker.label .map-marker-pin:hover svg {
	filter: drop-shadow(0 2px 3px rgb(32 29 29 / .35));
	scale: 1;
}

.global-map .map-marker-pin:focus-visible {
	border-radius: 4px;
	box-shadow: 0 0 0 2px var(--white);
	outline: 2px solid var(--black);
	outline-offset: 2px;
}

.global-map .map-marker-popup {
	background: var(--purple);
	border-radius: var(--text-spacing-xxsmall);
	/* Clears the active pin by --pin-gap, measured from the art rather than the hit box. */
	bottom: calc(var(--pin-height-active) + var(--pin-gap));
	/* Reach kept under 8px (4 + 16/2 - 6) so the shadow doesn't close that gap. */
	box-shadow: 0 4px 16px -6px rgb(32 29 29 / .3);
	left: 0;
	position: absolute;
	transform: translateX(-50%);
	width: 300px;
	z-index: 3;
}

.global-map .map-marker.active {
	z-index: 4;
}

/* Markers near the map edge flip their popup back over the pin. */
.global-map .map-marker-popup.flip-x {
	transform: translateX(-88%);
}

/* Flipped below the anchor — the pin sits above it, so a small gap is enough. */
.global-map .map-marker-popup.flip-y {
	bottom: auto;
	top: 12px;
}

.global-map .map-marker-popup .close-popup {
	position: absolute;
	right: var(--text-spacing-xxsmall);
	top: var(--text-spacing-xxsmall);
	z-index: 2;
}

/**
 * With a photo behind it the close button can't rely on the popup's background for contrast,
 * so it carries its own scrim — a bare white icon disappears against a bright sky.
 */
.global-map .map-marker-popup.has-media .close-popup {
	background: rgb(32 29 29 / .55);
	color: var(--white);
}

.global-map .map-marker-popup.has-media .close-popup:hover,
.global-map .map-marker-popup.has-media .close-popup:focus-visible {
	background: rgb(32 29 29 / .8);
	color: var(--white);
}

.global-map .map-marker-popup .media {
	border-radius: var(--text-spacing-xxsmall) var(--text-spacing-xxsmall) 0 0;
	overflow: hidden;
}

/* Photos show whole — never cropped — so the popup height follows the image's own ratio. */
.global-map .map-marker-popup .media img {
	display: block;
	height: auto;
	width: 100%;
}

.global-map .marker-carousel {
	position: relative;
}

/**
 * Slick's own stylesheet isn't loaded — the theme hand-rolls a few global rules instead.
 * Two of them break a popup carousel, so they're undone here: the global height:100% stops
 * adaptiveHeight working, and the global track gap shows as a split between slides.
 */
/**
 * The theme forces display:flex on .slick-track globally, so the track always takes the
 * height of its tallest slide and adaptiveHeight can never take effect. Rather than fight
 * that, the media area is a fixed height and each photo is centred inside it, uncropped.
 */
.global-map .marker-carousel .slick-list {
	border-radius: var(--text-spacing-xxsmall) var(--text-spacing-xxsmall) 0 0;
	height: 280px;
	overflow: hidden;
}

.global-map .marker-carousel .slick-track {
	align-items: center;
	display: flex;
	gap: 0;
	height: 100%;
}

.global-map .marker-carousel .media {
	background: var(--black);
	border-radius: 0;
	height: 100%;
	width: 100%;
}

/* Whole photo, centred — never cropped, whatever its shape. */
.global-map .marker-carousel .media img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

/**
 * Positioning comes from the theme's own .slick-arrow pattern (bottom-left, prev then next),
 * so only the colour is set here — the photo behind needs a scrim the page background doesn't.
 *
 * pointer-events is forced back on: the theme kills it via .slick-disabled, and with
 * infinite:true these arrows should never be disabled in the first place.
 */
.global-map .marker-carousel .slick-arrow.btn.icon.outline {
	background: rgb(32 29 29 / .55);
	border-color: var(--white);
	color: var(--white);
	opacity: 1;
	pointer-events: auto;
	z-index: 4;
}

/* Bottom-left of the image, 12px in from both edges — the theme default sits 66px up. */
.global-map .marker-carousel .slick-arrow {
	bottom: 12px;
	top: auto;
}

.global-map .marker-carousel .slick-prev {
	left: 12px;
}

/* Clears the 40px prev button plus the same 12px gap. */
.global-map .marker-carousel .slick-next {
	left: calc(12px + var(--text-spacing-large) + 12px);
}

.global-map .marker-carousel .slick-arrow.btn.icon.outline:hover {
	background: var(--crimson-red);
	border-color: var(--crimson-red);
	color: var(--white);
}

/* Dots move right so they clear the arrows. */
.global-map .marker-carousel .slick-dots {
	bottom: calc(var(--text-spacing-xsmall) + var(--text-spacing-xxsmall));
	display: flex;
	gap: 6px;
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0 var(--text-spacing-xsmall) 0 0;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.global-map .marker-carousel .slick-dots button {
	background: var(--white-20);
	border: 1px solid var(--white);
	border-radius: 50%;
	height: 9px;
	overflow: hidden;
	padding: 0;
	text-indent: -9999px;
	width: 9px;
}

.global-map .marker-carousel .slick-dots .slick-active button {
	background: var(--white);
}

.global-map .marker-content {
	padding: var(--text-spacing-xsmall);
}

.global-map .marker-content .heading-6 {
	line-height: 1.2;
	margin-bottom: var(--text-spacing-xxsmall);
}

/* The caption is optional, so a label on its own shouldn't leave a gap under it. */
.global-map .marker-content .heading-6:last-child {
	margin-bottom: 0;
}

.global-map .marker-content p {
	grid-column: auto;
	margin: 0;
	opacity: .7;
}

.global-map .region {
	background: var(--purple);
	border-radius: var(--text-spacing-xxsmall);
	min-width: 240px;
	opacity: 0;
	padding: var(--text-spacing-xxsmall) var(--text-spacing-xsmall);
	pointer-events: none;
	position: absolute;
	/* Centred on the region rather than hanging off its corner. */
	transform: translate(-50%, -50%);
	transition: opacity .25s ease;
	visibility: hidden;
	width: auto;
	/* Above the pins, below an open marker popup — clicking beats hovering. */
	z-index: 3;
}

.global-map .region.active {
	opacity: 1;
	visibility: visible;
}

.global-map .region.columns {
	max-width: 800px;
	width: auto;
}

.global-map .region .heading-6 {
	line-height: 1.2;
	margin-bottom: 2px;
}

/* Sits under the region name — how many markers it holds, named or not. */
.global-map .region-count {
	font-size: calc(14rem / 16);
	line-height: calc(22 / 14);
	margin: 0;
	opacity: .6;
}

.global-map .region ul:not(:empty) {
	margin-top: var(--text-spacing-xxsmall);
}

.global-map .region ul {
	display: flex;
	flex-direction: column;
	line-height: calc(24rem/16);
	list-style: none;
	margin: 0;
	padding: 0;
}

.global-map .region.columns ul {
	display: block;
	column-gap: var(--text-spacing-small);
}

/**
 * Greys back the map's own country shapes. Scoped to the map SVG specifically — unscoped,
 * it also catches pin SVGs whose path is a direct child, turning the pins grey too.
 */
.global-map .map > svg > path {
	fill: var(--black-20);
	transition: fill .25s ease;
}

/**
 * Every country in the hovered region lifts together. A translucent purple, picking up the
 * region panel's own colour — the theme's --purple is far too pale to read as a tint over
 * the map's grey, so this is the same hue held at a usable depth and low alpha.
 */
.global-map .map > svg > path.active {
	fill: rgb(126 111 168 / .3);
}

.global-map .region-nav {
	display: none;
	gap: var(--text-spacing-xxsmall);
	list-style: none;
	margin: var(--text-spacing-large) 0 0;
	padding: 0;
}

.global-map .region-nav button {
	align-items: center;
	background: var(--purple);
	border: none;
	border-radius: var(--text-spacing-xxsmall);
	cursor: pointer;
	display: flex;
	font: 500 calc(14rem/16)/1.4 var(--body-font);
	gap: var(--text-spacing-xxsmall);
	justify-content: space-between;
	padding: var(--text-spacing-xsmall);
	text-align: left;
	transition: background .25s ease;
	width: 100%;
}

.global-map .region-nav button:after {
	content: url('svgs/icons/solid/plus.svg');
	flex-shrink: 0;
	height: 12px;
	opacity: .4;
	width: 12px;
}

.global-map .region-nav button:hover {
	background: var(--black-10);
}

.region-dialog {
	color: var(--white);
	padding: var(--text-spacing-large);
}

.region-dialog.white-popup-block .close-popup,
.region-dialog.white-popup-block .close-popup svg,
.region-dialog.white-popup-block .close-popup svg path {
	color: var(--white) !important;
	fill: var(--white) !important;
}

.region-dialog .heading-5 {
	margin-bottom: var(--text-spacing-small);
}

.region-dialog ul {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xxsmall);
	list-style: none;
	margin: 0;
	padding: 0;
}

.region-dialog li {
	border-bottom: 1px solid var(--white-20);
	padding-bottom: var(--text-spacing-xxsmall);
}

.region-dialog li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

/* Youtube Carousel */

.youtube-carousel {
	overflow: clip;
}

.youtube-carousel article {
	grid-column: span 8;
	margin-bottom: var(--text-spacing-xsmall);
}

.youtube-carousel .heading-2 .eyebrow {
	margin-bottom: var(--text-spacing-xsmall);
}

.youtube-carousel .heading-2 + p {
	margin-top: var(--text-spacing-xxsmall);
}

.youtube-carousel p:last-of-type {
	margin-bottom: 0;
}

.youtube-carousel .btn.primary {
	grid-column: span 4;
	margin: auto 0 var(--text-spacing-xsmall) auto;
}

.youtube-carousel .heading-4 {
	grid-column: 1 / -1;
	margin-bottom: calc(var(--text-spacing-xxsmall) * -1);
	padding-right: calc(100rem / 16);
}

.youtube-carousel .heading-4:not(:first-of-type) {
	margin-top: var(--text-spacing-xsmall);
}

.youtube-carousel .sb_youtube {
	grid-column: 1 / -1;
	margin: 80px var(--viewport-edge) 0 !important;
	padding: 0 calc(var(--container-outer-margin) + var(--container-outer-padding)) 0 !important;
	position: relative;
	width: 100vw !important;
}

.youtube-carousel .heading-4 + .sb_youtube {
	margin-top: 0 !important;
}

.youtube-carousel .sb_youtube .sby_item {
	position: relative;
	width: 578px !important;
}


.youtube-carousel [id^="sb_youtube_"].sb_youtube .sby_video_thumbnail_wrap {
	z-index: 0;
}

.youtube-carousel .sb_youtube .sby_video_thumbnail {
	aspect-ratio: 16/9;
	height: auto !important;
	width: 100% !important;
}

.youtube-carousel .sb_youtube .sby_video_thumbnail:before,
.youtube-carousel .sb_youtube .sby_video_thumbnail:after {
	bottom: var(--text-spacing-xxsmall) !important;
	content: '' !important;
	height: var(--module-spacing-small) !important;
	left: var(--text-spacing-xxsmall) !important;
	position: absolute !important;
	right: auto !important;
	top: auto !important;
	width: var(--module-spacing-small) !important;
	z-index: 2 !important;
}

.youtube-carousel .sb_youtube .sby_video_thumbnail:before {
	background: var(--crimson-red);
	border-radius: 100%;
}

.youtube-carousel .sb_youtube .sby_video_thumbnail:after {
	background: url('svgs/icons/solid/play.svg') no-repeat center / auto 20px !important;
	box-shadow: none !important;
	filter: invert(100%) !important;
}

.youtube-carousel [id^="sb_youtube_"].sb_youtube .sby_thumbnail_hover,
.youtube-carousel [id^="sb_youtube_"].sb_youtube .sby_play_btn {
	display: none !important;
}

.youtube-carousel [id^="sb_youtube_"].sb_youtube .sby_info {
	margin: var(--text-spacing-xsmall) 0 0 !important;
	opacity: 1 !important;
}

.youtube-carousel .sb_youtube .sby_video_title_wrap {
	text-align: left !important;
}

.youtube-carousel .sb_youtube .sby_video_title {
	font-weight: 400 !important;
	margin-top: var(--text-spacing-xsmall);
}

.youtube-carousel [id^="sb_youtube_"].sb_youtube .sby_info p.sby_meta .sby_date {
	font-size: calc(12rem/16) !important;
	left: var(--text-spacing-xsmall);
	position: absolute;
	top: var(--text-spacing-xsmall);
	width: max-content;
}

.youtube-carousel .sb_youtube .slick-arrow.slick-prev,
.youtube-carousel .sb_youtube .slick-arrow.slick-next {
	bottom: auto;
	left: auto;
	top: -80px;
}

.youtube-carousel .sb_youtube .slick-arrow.slick-prev {
	right: calc(var(--text-spacing-xlarge) + var(--text-spacing-xxsmall) + var(--container-outer-margin) + var(--container-outer-padding));
}

.youtube-carousel .sb_youtube .slick-arrow.slick-next {
	right: calc(var(--container-outer-margin) + var(--container-outer-padding));
}

/* Logo Garden */

.logo-garden .heading-4 {
	margin-bottom: var(--text-spacing-large);
	text-align: center;
}

.logo-garden ul {
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.logo-garden li {
	grid-column: span 3;
}

.logo-garden a {
	color: var(--black);
	display: block;
}

.logo-garden .media {
	align-items: center;
	aspect-ratio: 269/195;
	background: var(--white);
	box-shadow: 0 20px 28px -14px rgba(0, 0, 0, 0.08);
	display: flex;
	justify-content: center;
	overflow: visible;
	position: relative;
	transition: all .25s ease;
	z-index: 2;
}

.logo-garden a:hover .media {
	background: var(--purple);
	box-shadow: 0 15px 35px -30px rgba(0, 0, 0, 0.12);
}

.logo-garden a .media:before {
	background: url('svgs/logomark.svg') no-repeat left top / 100% auto;
	bottom: -33px;
	content: '';
	height: 145px;
	position: absolute;
	right: -29px;
	width: 146px;
	z-index: -1;
}

.logo-garden a .media:before {
	background: url('svgs/logomark.svg') no-repeat left top / 100% auto;
	bottom: -33px;
	content: '';
	height: 145px;
	position: absolute;
	right: -29px;
	width: 146px;
	z-index: -1;
}

.logo-garden a:hover .media:before {
	opacity: .05;
}

.logo-garden .btn.secondary {
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
}

.logo-garden a:hover .btn.secondary {
	opacity: 1;
}

.logo-garden .media img,
.logo-garden .media picture {
	max-height: 130px;
	max-width: 130px;
	object-fit: contain;
	object-position: center;
	width: auto;
}

.logo-garden .btn.secondary,
.logo-garden a:hover .media img,
.logo-garden a .media:before {
	opacity: 0;
	transition: opacity .25s ease;
}

.logo-garden .pill {
	margin-top: var(--text-spacing-xsmall);
	text-align: center;
	width: 100%;
}


/***************************************************************************************************************************************************************************************/

/*VISIT PAGE STYLES*/

/***************************************************************************************************************************************************************************************/

/*** Staff Quote ***/

.staff-quote {
	margin: var(--module-spacing-small) 0 var(--module-spacing-large);
}

.staff-quote .media {
	aspect-ratio: 372/412;
	grid-column: span 4;
}

.staff-quote .media img {
	border-radius: var(--arches-radii);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.staff-quote article {
	align-self: center;
	grid-column: span 8;
	padding-left: var(--text-spacing-large);
}

.staff-quote blockquote {
	margin-bottom: var(--text-spacing-medium);
}

.staff-quote cite {
	font-style: normal;
	font-weight: bold;
}

.staff-quote cite span {
	opacity: .6;
}

/*** Map ***/

.visit-map {
	position: relative;
}

.visit-map:before {
	background: var(--cream);
	content: '';
	height: 100%;
	left: calc(var(--container-outer-margin) + var(--container-outer-padding));
	position: absolute;
	top: 0;
	width: calc(var(--gap) * 11 + var(--one-column-width) * 12);
}

.visit-map article {
	align-items: start;
	display: flex;
	flex-direction: column;
	grid-column: span 5;
	padding: var(--text-spacing-medium) 0 var(--text-spacing-medium) var(--text-spacing-medium);
}

.visit-map h2 {
	margin-bottom: var(--text-spacing-xxsmall);
	opacity: .6;
}

.visit-map address {
	font-style: normal;
	margin-bottom: var(--text-spacing-small);
}

.visit-map .btn {
	margin-top: auto;
}

.visit-map .acf-map {
	aspect-ratio: 681/438;
	grid-column: span 7;
}

/*** Services ***/

.services {
	margin-top: var(--module-spacing-large);
}

.services article {
	grid-column: span 5;
	height: max-content;
	padding-right: var(--text-spacing-medium);
	position: sticky;
	top: 120px;
}

.services .heading-2 {
	margin-bottom: var(--text-spacing-small);
}

.services .details {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-small);
	grid-column: span 7;
	list-style: none;
	margin: 0;
	padding: 0;
}

.services .details li {
	background: var(--cream);
	padding: var(--text-spacing-medium);
}

.services .details li:nth-of-type(2) {
	font-weight: 600;
}

.services .details h3 {
	margin-bottom: var(--text-spacing-xxsmall);
	opacity: .6;
}

.services .details address {
	font-style: normal;
	margin-bottom: var(--text-spacing-xxsmall);
}

.services .details .btn + .btn {
	margin-left: var(--text-spacing-xsmall);
}

/*** Double CTAs ***/

.double-ctas {
	margin-top: var(--module-spacing-small);
	position: relative;
}

.double-ctas:before,
.virtual-tour:before,
.virtual-tour .embed:before {
	background: var(--cream);
	bottom: 0;
	content: '';
	height: 50%;
	left: var(--text-spacing-small);
	position: absolute;
	width: calc(100% - var(--text-spacing-small) * 2);
}

.double-ctas .grid {
	gap: var(--text-spacing-small);
}

.double-ctas article {
	background: var(--white);
	box-shadow: var(--shadow2);
	grid-column: span 6;
	padding: var(--text-spacing-large) var(--text-spacing-xlarge);
	text-align: center;
}

.double-ctas h2 {
	margin-bottom: var(--text-spacing-small);
}

.double-ctas h2 .pill {
	margin: 0 auto var(--text-spacing-xsmall);
}

/*** Virtual Tour ***/

.virtual-tour {
	padding-top: var(--module-spacing-large);
	position: relative;
}

.virtual-tour:before,
.virtual-tour .embed:before {
	bottom: auto;
	top: 0;
}

.virtual-tour .flex-container,
.newsletter-cta .flex-container {
	align-items: end;
	flex-wrap: nowrap;
	gap: var(--text-spacing-small);
}

/* Let the heading wrap so a long button label can never push the button outside the section. */
.newsletter-cta .flex-container .heading-2 {
	min-width: 0;
}

.virtual-tour .flex-container {
	margin-bottom: var(--text-spacing-large);
}

.virtual-tour .flex-container .btn,
.newsletter-cta .flex-container .btn {
	flex-shrink: 0;
}

.virtual-tour .embed {
	position: relative;
	z-index: 2;
}

.virtual-tour .embed:before {
	left: calc(var(--viewport-edge) + var(--text-spacing-small));
	width: calc(100vw - var(--text-spacing-small) * 2);
	z-index: -1;
}

.virtual-tour iframe {
	aspect-ratio: 1196/598;
	object-fit: cover;
	width: 100%;
}

/*** Newsletter ***/

.newsletter-cta {
	background: url('svgs/arched-bkg.svg') repeat-x center bottom var(--purple);
	border-left: var(--text-spacing-small) solid var(--off-white);
	border-right: var(--text-spacing-small) solid var(--off-white);
	margin-top: var(--module-spacing-large);
	padding: var(--module-spacing-small) 0;
}

/*** CTA ***/

.page-template .cta,
.post-type-archive-events .cta {
	margin: var(--module-spacing-large) 0;
}

/***************************************************************************************************************************************************************************************/

/*DONATE PAGE STYLES*/

/***************************************************************************************************************************************************************************************/

/*** Hero ***/

.plain-hero.background-image {
	background: no-repeat center / cover;
	color: var(--white);
	padding: 100px 0;
	position: relative;
}

.plain-hero.background-image:before {
	background: var(--black);
	content: '';
	height: 100%;
	left: 0;
	opacity: .5;
	position: absolute;
	top: 0;
	width: 100%;
}

/*** Donation ***/

.donation-form {
	padding-top: var(--module-spacing-large);
	position: relative;
}

.donation-form:before {
	background: var(--cream);
	content: '';
	height: calc(100% - 217px);
	left: var(--text-spacing-small);
	position: absolute;
	top: 0;
	width: calc((11 * var(--one-column-width)) + (10 * var(--gap)) + var(--container-outer-margin) + var(--container-outer-padding) - var(--text-spacing-small));
}

.donation-form article {
	grid-column: span 6;
	padding-right: var(--text-spacing-large);
}

.donation-form h2 {
	margin-bottom: var(--text-spacing-xsmall);
}

.donation-form .embed-form {
	background: var(--white);
	box-shadow: var(--shadow2);
	grid-column: span 6;
	padding: var(--text-spacing-xxlarge);
	position: relative;
	width: calc(100% + 74px);
}

.donation-form h3 {
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	top: -15px;
}

.donation-form .widget-content {
	box-shadow: none;
	max-width: 100%;
}

/***************************************************************************************************************************************************************************************/

/*LIVESTREAM PAGE STYLES*/

/***************************************************************************************************************************************************************************************/

/*** Hero ***/

.page-template-page-livestream .module.plain-hero.bkg-cream {
	background: none;
}

/*** Livestream ***/

.livestream {
	background: var(--cream);
	padding-top: var(--module-spacing-large);
	position: relative;
}

.livestream:before {
	background: var(--off-white);
	bottom: 0;
	content: '';
	height: 74px;
	left: 0;
	position: absolute;
	width: 100%;
}

.livestream h2 {
	grid-column: 2 / span 10;
	text-align: center;
}

.livestream .embed {
	aspect-ratio: 1196/598;
	grid-column: 1 / -1;
}

.livestream .embed iframe {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.livestream ul.grid {
	gap: var(--text-spacing-xsmall);
	grid-column: 1 / -1;
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.livestream ul.grid li {
	grid-column: span 4;
}

.livestream ul.grid a {
	background: var(--white);
	box-shadow: var(--shadow2);
	color: var(--black);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: var(--text-spacing-small);
	transition: background .25s ease;
}

.livestream ul.grid a:hover {
	background: var(--purple);
}

.livestream ul.grid .pill {
	margin-bottom: var(--text-spacing-xsmall);
}

.livestream ul.grid .heading-5 {
	margin-bottom: var(--text-spacing-large);
}

.livestream ul.grid .btn {
	margin: auto 0 0 auto;
	transition: translate .25s ease;
}

.livestream ul.grid a:hover .btn {
	translate: 4px 0;
}

/*** Ways to Worship ***/

.ways-worship {
	margin-top: var(--module-spacing-large);
	text-align: center;
}

.ways-worship h2 {
	grid-column: 3 / span 8;
	margin-bottom: var(--text-spacing-large);
}

.ways-worship ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ways-worship ul.grid {
	grid-column: 1 / -1;
}

.ways-worship ul.grid > li {
	background: var(--white);
	border-radius: var(--arches-radii);
	box-shadow: var(--shadow2);
	grid-column: span 4;
	padding: var(--module-spacing-medium) var(--text-spacing-small) var(--text-spacing-large);
	position: relative;
}

.ways-worship ul.grid .btn.icon {
	left: 50%;
	position: absolute;
	top: calc(var(--text-spacing-medium) * -1);
	transform: translateX(-50%);
}

.ways-worship h3 {
	border-bottom: 1px solid var(--black-20);
	margin: 0 var(--text-spacing-xlarge) var(--text-spacing-small);
	padding-bottom: var(--text-spacing-small);
}

.ways-worship .eyebrow {
	margin: var(--text-spacing-medium) auto var(--text-spacing-xxsmall);
	width: max-content;
}

.ways-worship .pill-stats {
	display: flex;
	font-weight: 600;
	gap: var(--text-spacing-xxsmall);
	line-height: 1;
	justify-content: center;
}

.ways-worship p + .pill-stats {
	margin-top: var(--text-spacing-small);
}

.ways-worship .pill-stats .pill {
	margin-bottom: var(--text-spacing-xxsmall);
}

.ways-worship .btn.primary {
	margin-top: var(--text-spacing-xxsmall);
}

/*** Newsletter ***/

.page-template-page-livestream .newsletter-cta,
.page-template-page-visit .newsletter-cta {
	border: none;
	margin: var(--text-spacing-small) calc(var(--container-outer-margin) + var(--container-outer-padding)) 0;
	width: calc(100% - 2 * (var(--container-outer-margin) + var(--container-outer-padding)));
}

/*
 * These two sections are inset from the viewport, so the container's default 90vw is wider than the
 * section and pushes the button out past the purple background. Fill the section instead.
 */
.page-template-page-livestream .newsletter-cta .container,
.page-template-page-visit .newsletter-cta .container {
	width: 100%;
}


/***************************************************************************************************************************************************************************************/

/*ARCHIVE STYLES*/

/***************************************************************************************************************************************************************************************/

/*** Hero ***/

.hero-archive {
	background: var(--white);
	padding-top: var(--module-spacing-small);
}

.hero-archive .featured-cards {
	background: var(--cream);
	position: relative;
}

.hero-archive .featured-cards:before {
	background: var(--white);
	content: '';
	height: 80px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.hero-archive h1 {
	align-self: center;
	grid-column: span 4;
}

.hero-archive h1 .eyebrow {
	margin-bottom: var(--text-spacing-xsmall);
}

.hero-archive .animated-ticker {
	grid-column: span 8;
	overflow: clip;
	padding-bottom: var(--text-spacing-medium);
	position: relative;
}

.hero-archive .animated-ticker .slick-track {
	gap: 0;
}

.hero-archive .animated-ticker a {
	aspect-ratio: 784/441;
	background: no-repeat center / cover;
	display: flex;
	position: relative;
	z-index: 2;
}

.hero-archive .animated-ticker a:before,
.hero-archive .animated-ticker a:after {
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.hero-archive .animated-ticker a:before {
	background: var(--black-20);
}

.hero-archive .animated-ticker a:after {
	background: linear-gradient(204deg, rgba(0, 0, 0, 0.00) 36.91%, rgba(0, 0, 0, 0.60) 66.97%);
}

.hero-archive .animated-ticker article {
	color: var(--white);
	margin-top: auto;
	padding: 0 var(--text-spacing-large) var(--text-spacing-medium);
	position: relative;
	z-index: 2;
}

.hero-archive .animated-ticker article .btn.secondary {
	margin-top: var(--text-spacing-xsmall);
}

.hero-archive .animated-ticker .flex-container {
	align-items: center;
	gap: var(--text-spacing-xsmall);
	justify-content: start;
	margin-bottom: var(--text-spacing-xsmall);
}

.hero-archive .animated-ticker .slick-dots {
	bottom: 0;
	left: 50%;
	max-width: max-content;
	transform: translateX(-50%);
}

.hero-archive .animated-ticker .slick-dots li button {
	background: var(--black-20);
}

.hero-archive .featured-cards ul {
	list-style: none;
	margin: var(--text-spacing-large) 0 0;
	padding: 0;
	position: relative;
	z-index: 2;
}

.hero-archive .featured-cards ul:before {
	display: none;
}

.hero-archive .scroll-spacer {
	display: none;
}

.hero-archive .featured-cards li {
	grid-column: span 4;
}

/*** Archive Content ***/

.archive-content {
	background: var(--cream);
	padding: var(--module-spacing-xlarge) 0;
}

.archive-content h2 {
	grid-column: span 3;
}

/* Loading Animations */

.archive-content.loading {
	pointer-events: none;
}

body:has(.archive-content.loading):after {
	background: var(--black);
	content: '';
	height: 100dvh;
	left: 0;
	opacity: .5;
	position: fixed;
	top: 0;
	width: 100vw;
	z-index: 4;
}

.archive-content.loading #sidebar-container,
.archive-content.loading [jx-form-results] {
	opacity: .5;
}

.archive-content:not(.loading) .svg-loader {
	display: none;
}

.archive-content .svg-loader{
	left: 50%;
	position: fixed;
	transform: translate(-50%,-50%);
	top: 50%;
	z-index: 5;
}

.archive-content .loader-svg {
	fill: none;
	left: 0;
	position: absolute;
	stroke: var(--white);
	stroke-linecap: round;
	stroke-width: 5px;
	top: 0;
}

.archive-content .loader-svg.bg {
	stroke: var(--black);
	stroke-width: 8px;
}

.archive-content .animate {
	animation: fill-animation 1s cubic-bezier(1,1,1,1) 0s infinite;
	stroke-dasharray: 242.6;
}

@keyframes fill-animation{
	0%{
		stroke-dasharray: 40 242.6;
		stroke-dashoffset: 0;
	}
	50%{
		stroke-dasharray: 141.3;
		stroke-dashoffset: 141.3;
	}
	100%{
		stroke-dasharray: 40 242.6;
		stroke-dashoffset: 282.6;
	}
}

/* Filters */

.archive-content form {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-xsmall);
	margin-bottom: var(--text-spacing-small);
}

.archive-content .filters {
	position: relative;
}

.archive-content .filters button,
.archive-content .sort {
	align-items: center;
	background: none;
	border: none;
	display: flex;
	font-weight: 600;
	gap: 4px;
	padding: 0;
	text-align: left;
}

.archive-content .sort > label {
	margin-bottom: 0;
}

.archive-content .filters button.active .btn {
	transform: rotate(45deg);
}

.archive-content .filters ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.archive-content .filters > ul {
	background: var(--white);
	box-shadow: var(--shadow);
	display: none;
	flex-direction: column;
	gap: var(--text-spacing-xsmall);
	left: 0;
	list-style: none;
	margin: 0;
	padding: var(--text-spacing-xsmall);
	pointer-events: none;
	position: absolute;
	top: calc(100% + var(--text-spacing-xsmall));
	width: 250px;
	z-index: 4;
}

.archive-content .filters >  ul.active {
	display: flex;
	pointer-events: unset;
}

.archive-content .filters ul ul {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xxsmall);
	line-height: 1;
	list-style: none;
	margin: var(--text-spacing-xxsmall) 0 0;
	padding: 0;
}

.archive-content .filters label {
	display: block;
	line-height: var(--label-line-height);
	padding-left: var(--text-spacing-small);
	position: relative;
	--label-line-height: calc(24em/16);
}

.archive-content .filters label:before,
.archive-content .filters label:after {
	content: '';
	position: absolute;
}

.archive-content .filters label:before {
	border: 1px solid var(--black);
	height: 11px;
	left: 0;
	top: calc((var(--label-line-height) - 11px) / 2);
	width: 11px;
}

.archive-content .filters label:after {
	background: var(--black);
	height: 7px;
	left: 3px;
	opacity: 0;
	top: calc((var(--label-line-height) - 11px) / 2 + 3px);
	width: 7px;
}

.archive-content .filters input:checked + label:after {
	opacity: 1;
}

/* Sort */

.archive-content .sort select {
	appearance: none;
	background: none;
	border: none;
	font-family: var(--body-font);
	font-weight: 600;
	height: auto;
	line-height: 1;
	padding: 0;
	width: 175px;
}

/* Search */

.archive-content .search-sort {
	align-items: center;
	border-bottom: 1px solid var(--black-40);
	display: flex;
	gap: var(--text-spacing-xxsmall);
	justify-content: space-between;
	margin-left: auto;
	padding: var(--text-spacing-xxsmall) 0;
	width: 269px;
}

.archive-content .search-sort:focus-within {
	border-color: var(--black);
}

.archive-content .search-sort input[type="text"] {
	background: none;
	border: none;
	color: var(--black);
	font-family: var(--body-font);
	height: auto;
	padding: 0;
	width: 100%;
}

.archive-content .search-sort input[type="text"]::placeholder {
	color: var(--black);
	opacity: .8;
}

.archive-content .search-sort .btn {
	border: none;
	flex-shrink: 0;
}

/* Results */

.archive-content .container.grid > article  {
	grid-column: span 9;
}

.archive-content article [jx-form-results-items] {
	display: flex;
	flex-direction: column;
	gap: var(--gap);
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.loop-default {
	align-items: center;
	color: var(--black);
	display: flex;
	position: relative;
	z-index: 2;
}

.loop-default:hover {
	color: var(--black);
	filter: drop-shadow(0 15px 20px rgba(0, 0, 0, 0.12))
}

.loop-default:before {
	background: var(--white);
	content: '';
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: calc(100% - 220px);
	z-index: -1;
}

.loop-default .media {
	aspect-ratio: 269/151;
	flex-shrink: 0;
	position: relative;
	width: 269px;
}

.loop-default .media:before {
	background: var(--black-40);
	content: '';
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity .25s ease;
	width: 100%;
}

.loop-default:hover .media:before,
.loop-default:hover .btn {
	opacity: 1;
}

.loop-default .btn {
	left: 50%;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	transition: opacity .25s ease;
}

.loop-default .media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.loop-default article {
	padding: var(--text-spacing-small) var(--text-spacing-xsmall) var(--text-spacing-small) var(--text-spacing-small);
}

.loop-default .flex-container {
	align-items: center;
	gap: var(--text-spacing-xsmall);
	justify-content: start;
	margin-bottom: var(--text-spacing-xsmall);
}

.loop-default h3 {
	margin-bottom: 4px;
}

.loop-default p {
	margin: 0;
}

/* Pagination */

.jazzy-ajax-form-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: var(--module-spacing-small) 0 0;
	padding: 0 var(--module-spacing-small);
	position: relative;
}

.jazzy-ajax-form-pagination a {
	font-size: 1rem;
}

.jazzy-ajax-form-pagination a,
.jazzy-ajax-form-pagination a:hover {
	color: var(--black);
}

.jazzy-ajax-form-pagination .current,
.jazzy-ajax-form-pagination a:hover {
	font-weight: 600;
}

.jazzy-ajax-form-pagination a:not(.current) {
	background: none;
}

.archive-content .btn.primary.load-more-complete,
.jazzy-ajax-form-pagination li:has(.first),
.jazzy-ajax-form-pagination li:has(.last),
.jazzy-ajax-form-pagination li:has(.extend) {
	display: none;
}

.jazzy-ajax-form-pagination li:has(.previous),
.jazzy-ajax-form-pagination li:has(.next) {
	position: absolute;
}

.jazzy-ajax-form-pagination li:has(.previous) {
	left: 0;
}

.jazzy-ajax-form-pagination li:has(.next) {
	right: 0;
}

.jazzy-ajax-form-pagination li:has(.previous) a,
.jazzy-ajax-form-pagination li:has(.next) a {
	font-size: 0;
	position: relative;
	text-indent: -99999px;
}

.jazzy-ajax-form-pagination li:has(.previous) a:before,
.jazzy-ajax-form-pagination li:has(.next) a:before {
	background: url('svgs/icons/regular/arrow-right.svg') no-repeat center / auto 14px;
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.jazzy-ajax-form-pagination li:has(.previous) a:before {
	background-image: url('svgs/icons/regular/arrow-left.svg');
}

.jazzy-ajax-form-pagination li:has(.previous) a:hover::before,
.jazzy-ajax-form-pagination li:has(.next) a:hover::before {
	filter: invert(100%);
}

/*** CTA ***/

.blog .archives-cta,
.post-type-archive-press-news .archives-cta {
	background: var(--cream);
	border-color: var(--cream);
	border-radius: 0;
	border-width: var(--text-spacing-xsmall);
	position: relative;
	z-index: 2;
}

.blog .archives-cta:before,
.post-type-archive-press-news .archives-cta:before {
	background: var(--white);
	border-radius: 160px 160px 0 0;
	box-sizing: border-box;
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

/***************************************************************************************************************************************************************************************/

/* BLOG SINGLE STYLES */

/***************************************************************************************************************************************************************************************/

/*** Hero ***/

.post-hero {
	margin-top: var(--text-spacing-medium);
	padding: var(--text-spacing-large) 0 var(--module-spacing-medium);
	position: relative;
}

.post-hero:before {
	background: var(--cream);
	content: '';
	height: 100%;
	left: var(--text-spacing-small);
	position: absolute;
	top: 0;
	width: calc(var(--container-outer-margin) + var(--container-outer-padding) + (var(--one-column-width) * 11) + (var(--gap) * 10));
}

.post-hero article {
	grid-column: span 7;
	padding-right: calc((var(--one-column-width) * 1) + var(--text-spacing-xsmall));
}

.post-hero .btn.back-btn {
	margin-bottom: var(--text-spacing-large);
}

.post-hero .pill,
.post-hero .heading-2 {
	margin-bottom: var(--text-spacing-xsmall);
}

.post-hero p {
	margin: 0;
}

.post-hero .media {
	align-self: flex-end;
	aspect-ratio: 573/352;
	grid-column: span 5;
	width: calc(100% + var(--container-outer-margin) + var(--container-outer-padding) - var(--text-spacing-small));
}

.post-hero .media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/*** Post ***/

.post-content {
	padding: var(--module-spacing-medium) 0 var(--module-spacing-xlarge);
}

/* Share */

.post-content .share-post {
	align-self: start;
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xxsmall);
	grid-column: 1;
	line-height: 1;
	list-style: none;
	margin: 0 0 0 calc((var(--text-spacing-large) + var(--text-spacing-xxlarge)) * -1);
	max-width: max-content;
	padding: 0;
	position: sticky;
	text-align: center;
	top: 150px;
}

.post-content .share-post .pill {
	margin-bottom: var(--text-spacing-xxsmall);
	opacity: .6;
}

/* Content */

.post-content .grid > article {
	grid-column: 3 / span 8;
	padding: 0 var(--text-spacing-small);
}

.post-content .wp-caption.alignnone,
.shortcode {
	margin: var(--text-spacing-large) calc(var(--text-spacing-small) * -1);
	width: calc(100% + var(--text-spacing-small) * 2) !important;
}

.post-content .wp-caption.alignnone {
	margin-bottom: var(--module-spacing-small);
	margin-top: var(--text-spacing-xlarge);
	max-width: none;
	width: calc(100% + var(--text-spacing-small) * 2) !important;
}

.post-content .wp-caption p {
	border-bottom: 1px solid var(--black-10);
	font-weight: 600;
	margin: 0;
	padding: var(--text-spacing-xsmall) 0;
}

/* Shortcode - featured post */

.featured-post {
	background: var(--white);
	box-shadow: var(--shadow);
	color: var(--black);
	display: flex;
	position: relative;
}

.featured-post:hover {
	color: var(--black);
}

.featured-post .media {
	aspect-ratio: 269/151;
	flex-shrink: 0;
	position: relative;
	width: 269px;
}

.featured-post .media:has(.date-info):before {
	background: linear-gradient(162deg, rgba(0, 0, 0, 0.60) 35.64%, rgba(0, 0, 0, 0.00) 68.47%);
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

.featured-post .media .date-info {
	color: var(--white);
	left: 0;
	padding: var(--text-spacing-xsmall);
	position: absolute;
	top: 0;
	z-index: 3;
}

.featured-post .content {
	padding: var(--text-spacing-xlarge) var(--text-spacing-xlarge) var(--text-spacing-xlarge) var(--text-spacing-medium);
	width: 100%;
}

.featured-post .pill,
.featured-post .eyebrow {
	margin-bottom: var(--text-spacing-xxsmall);
}

.featured-post .content + .btn {
	bottom: var(--text-spacing-xxsmall);
	right: var(--text-spacing-xxsmall);
	position: absolute;
}

/* Shortcode - video lightbox */

.video-lightbox .open-dialog {
	aspect-ratio: 784/441;
	display: block;
	position: relative;
}

.video-lightbox .open-dialog:before {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.60) 23.3%, rgba(0, 0, 0, 0.00) 92.13%);
	content: '';
	height: 120px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.video-lightbox .open-dialog img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.video-lightbox .heading-5 {
	color: var(--white);
	left: 0;
	padding: var(--text-spacing-xsmall) var(--text-spacing-small);
	position: absolute;
	top: 0;
}

.video-lightbox .btn.icon.hover-link {
	position: absolute;
}

/* Shortcode - cta */

.shortcode.cta {
	align-items: center;
	background: var(--purple);
	display: flex;
	gap: var(--module-spacing-small);
	padding: var(--text-spacing-medium);
}

.shortcode.cta p {
	margin: 0;
}

.shortcode.cta .btn {
	flex-shrink: 0;
}

/* Shortcode - image gallery */

.image-gallery {
	overflow: clip;
	position: relative;
}

.image-gallery .large-carousel {
	position: relative;
	z-index: 1;
}

.image-gallery .large-carousel .slick-track {
	gap: 0;
}

.image-gallery .large-carousel .slick-slide {
	z-index: 1 !important;
}

.image-gallery .large-carousel .slick-slide.slick-active {
	z-index: 2 !important;
}

.image-gallery .large-carousel p,
.image-gallery .thumbnail-carousel {
	width: calc(269/784 * 100%);
}

.image-gallery .large-carousel p {
	border-top: 1px solid var(--black-10);
	font-weight: bold;
	margin: 0;
	padding-top: var(--text-spacing-xsmall);
}

.image-gallery .large-carousel .slide > .media {
	aspect-ratio: 475/366;
	background: var(--black);
	position: relative;
	width: calc(475/784 * 100%);
}

.image-gallery .large-carousel .slide > .media:before {
	background: linear-gradient(138deg, rgba(0, 0, 0, 0.40) 34.14%, rgba(0, 0, 0, 0.00) 51.57%);
	bottom: 0;
	content: '';
	height: 78px;
	position: absolute;
	right: 0;
	transform: scale(-1,-1);
	width: 162px;
}

.image-gallery .slide > .media img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.image-gallery .thumbnail-carousel img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.image-gallery .large-carousel .media .btn {
	border: none;
	bottom: var(--text-spacing-xxsmall);
	position: absolute;
	right: var(--text-spacing-xxsmall);
}

.image-gallery .thumbnail-carousel {
	bottom: 0;
	left: 0;
	overflow: clip;
	position: absolute;
	z-index: 2;
}

.image-gallery .thumbnail-carousel .slick-track {
	gap: 4px;
}

.image-gallery .thumbnail-carousel .slide {
	aspect-ratio: 50/39;
	transition: opacity .25s ease;
	width: 50px;
}

.image-gallery .thumbnail-carousel .slide:not(.slick-current) {
	opacity: .5;
}

.image-gallery dialog {
	max-height: 90dvh;
	max-width: 90vw;
	width: auto;
}

/*** CTA ***/

.archives-cta {
	background: var(--cream);
	border: var(--text-spacing-small) solid var(--off-white);
	border-radius: 160px 160px 0 0;
	padding: var(--module-spacing-large) 0;
	text-align: center;
}

.archives-cta article {
	grid-column: 2 / span 10;
}

.archives-cta .heading-1 {
	margin-bottom: var(--text-spacing-medium);
}

.archives-cta .heading-1:before {
	aspect-ratio: 1;
	background: url('svgs/logomark.svg') no-repeat center / 100% auto;
	content: '';
	display: block;
	filter: var(--crimson-filter);
	margin: 0 auto var(--text-spacing-medium);
	width: 65px;
}

/***************************************************************************************************************************************************************************************/

/*STAFF ARCHIVE STYLES*/

/***************************************************************************************************************************************************************************************/

/*** Main Staff ***/

.staff-group {
	margin: var(--module-spacing-large) 0;
}

.staff-group ul.grid {
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.staff-group ul.grid > li {
	grid-column: span 3;
}

.staff-group .open-dialog {
	background: none;
	border: none;
	padding: 0;
	text-align: left;
}

.staff-group .open-dialog .media {
	aspect-ratio: 269/360;
	margin-bottom: var(--text-spacing-xsmall);
	overflow: clip;
	position: relative;
	transition: border-radius .25s ease;
}

.staff-group .open-dialog:hover .media {
	border-radius: calc(140 / 1440 * 100vw) calc(140 / 1440 * 100vw) 0 0;
}

.staff-group .open-dialog .media:before {
	background: linear-gradient(168deg, rgba(0, 0, 0, 0.40) 34.14%, rgba(0, 0, 0, 0.00) 51.57%);
	bottom: 0;
	content: '';
	height: 71px;
	left: 0;
	transform: scale(-1,-1);
	opacity: 0;
	position: absolute;
	transition: opacity .25s ease;
	width: 100%;
	z-index: 2;
}

.staff-group .open-dialog:hover .media:before {
	opacity: 1;
}

/* Hover photo (animated GIF) swap — sits above the featured image, below gradient/buttons */
.staff-group .open-dialog .media .hover-photo,
.staff-grid .open-dialog .hover-photo {
	inset: 0;
	object-fit: cover;
	opacity: 0;
	position: absolute;
	transition: opacity .25s ease, transform .25s ease;
	z-index: 1;
}

.staff-group .open-dialog:is(:hover, :focus-visible) .media .hover-photo,
.staff-grid .open-dialog:is(:hover, :focus-visible) .hover-photo {
	opacity: 1;
}

.staff-group .open-dialog .btn {
	bottom: var(--text-spacing-xsmall);
	opacity: 0;
	position: absolute;
	right: var(--text-spacing-xsmall);
	transition: opacity .25s ease;
	z-index: 3;
}

.staff-group .open-dialog:hover .btn {
	opacity: 1;
}

.staff-group .open-dialog h3 {
	margin-bottom: 4px;
}

.staff-group .open-dialog p {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
}

.staff-group .open-dialog p .pronouns {
	font-weight: 600;
}

/*** Other Staff ***/

.other-staff h2 {
	grid-column: span 3;
}

.other-staff ul.grid {
	grid-column: span 9;
	grid-template-columns: subgrid;
}

/***************************************************************************************************************************************************************************************/

/* EVENTS ARCHIVE STYLES */

/***************************************************************************************************************************************************************************************/

/*** Hero ***/

.hero-events-archive {
	overflow:clip;
}

.hero-events-archive h1 {
	margin-bottom:  var(--module-spacing-medium);
	padding: var(--module-spacing-medium) 0;
	position: relative;
	text-align: center;
	z-index: 2;
}

.hero-events-archive h1:before {
	background: var(--cream);
	content: '';
	height: 100%;
	left: calc(var(--viewport-edge) + var(--text-spacing-small));
	position: absolute;
	top: 0;
	width: calc(100vw - var(--text-spacing-small) * 2);
	z-index: -1;
}

.hero-events-archive .animated-ticker {
	overflow: clip;
}

.hero-events-archive .animated-ticker .slick-track {
	gap: 0;
}

.hero-events-archive .animated-ticker .slick-dots {
	bottom: var(--module-spacing-small);
	left: 255px;
	width: max-content;
}

.hero-events-archive .animated-ticker .slick-dots li button {
	background: var(--black-20);
}

.hero-events-archive .animated-ticker .slick-arrow {
	bottom: var(--text-spacing-xxlarge);
}

.hero-events-archive .animated-ticker .slick-prev {
	left: var(--container-outer-padding);
}

.hero-events-archive .animated-ticker .slick-next {
	left: calc(var(--container-outer-padding) + var(--text-spacing-xlarge) + var(--text-spacing-xxsmall));
}

.loop-event-featured .media {
	grid-column: 1 / span 9;
	grid-row: 1;
	margin-bottom: var(--module-spacing-large);
}

.loop-event-featured .media::before {
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.60) 33.61%, rgba(0, 0, 0, 0.00) 65.9%);
	height: 176px;
}

.loop-event-featured .media::after {
	display: none;
}

.loop-event-featured .media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.loop-event-featured .media .date-info {
	left: var(--text-spacing-small);
	top: var(--text-spacing-small);
}

.loop-event-featured article {
	align-self: end;
	background: var(--white);
	box-shadow: var(--shadow2);
	bottom: var(--text-spacing-large);
	grid-column: 5 / span 8;
	grid-row: 1;
	height: unset;
	padding: var(--text-spacing-medium) var(--text-spacing-large) var(--text-spacing-xsmall);
	right: 0;
	z-index: 3;
}

.loop-event-featured article:before {
	display: none;
}

.loop-event-featured p {
	margin-bottom: var(--text-spacing-xsmall)
}

.loop-event-featured .btn.secondary {
	display: flex;
	margin-left: auto;
	width: max-content;
}

/*** Archive Content ***/

.post-type-archive-events .archive-content {
	background: none;
	padding: var(--module-spacing-large) 0;
}

.post-type-archive-events .archive-content article [jx-form-results-items] {
	gap: var(--module-spacing-small);
}

/***************************************************************************************************************************************************************************************/

/* EVENTS SINGLE STYLES */

/***************************************************************************************************************************************************************************************/

/*** Hero ***/

.event-hero {
	padding: 0;
}

.event-hero article {
	padding: var(--module-spacing-small) 0 var(--module-spacing-xlarge);
}

.event-hero .btn.back-btn {
 	margin-bottom: var(--text-spacing-xxlarge);
}

.event-hero ul {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xsmall);
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.event-hero .btn.primary {
	margin-top: var(--text-spacing-small);
}

.post-hero.event-hero .media {
	align-self: center;
	aspect-ratio: unset;
	height: 100%;
	position: relative;
}

.post-hero.event-hero .media img {
	left: 0;
	position: absolute;
	top: 0;
}

/*** Content ***/

.single-events .post-content {
	padding-bottom: var(--module-spacing-large);
}

/***************************************************************************************************************************************************************************************/

/*PRESS NEWS ARCHIVE STYLES*/

/***************************************************************************************************************************************************************************************/

/*** Hero ***/

.hero-press-archive {
	margin-top: var(--module-spacing-medium);
}

.hero-press-archive h1 {
	margin-bottom: var(--module-spacing-medium);
	text-align: center;
}

.hero-press-archive h1 .eyebrow {
	margin: 0 auto var(--text-spacing-xsmall);
	width: max-content;
}

.loop-press-featured {
	gap: 0;
	position: relative;
	z-index: 2;
}

.loop-press-featured .spinning-badge {
	left: -90px;
	top: -110px;
	z-index: 2;
}

.loop-press-featured:before {
	background: var(--cream);
	bottom: 0;
	content: '';
	height: 50%;
	left: var(--viewport-edge);
	position: absolute;
	width: 100vw;
	z-index: -1;
}

.loop-press-featured .media {
	grid-column: span 7;
	position: relative;
}

.loop-press-featured .media img {
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
}

.loop-press-featured .media.has-logo {
	background: var(--white);
}

.loop-press-featured .media.has-logo img {
	object-fit: contain;
	padding: var(--text-spacing-large);
}

.loop-press-featured article {
	background: var(--white);
	display: flex;
	flex-direction: column;
	grid-column: span 5;
	padding: var(--module-spacing-small) var(--text-spacing-xlarge) var(--text-spacing-small);
}

.loop-press-featured .flex-container {
	align-items: center;
	justify-content: start;
	margin-bottom: var(--text-spacing-xsmall);
	opacity: .6;
}

.loop-press-featured h2 {
	margin-bottom: var(--text-spacing-large);
}

.loop-press-featured .btn {
	margin: auto 0 0 auto;
}

/*** Archive Content ***/

.post-type-archive-press-news .archive-content {
	padding-top: var(--module-spacing-small);
}

.post-type-archive-press-news .archive-content h2,
.post-type-archive-press-news .archive-content .container.grid > article,
.post-type-archive-events .archive-content h2,
.post-type-archive-events .archive-content .container.grid > article {
	grid-column: 1 / -1;
}

.post-type-archive-press-news .archive-content article [jx-form-results-items] li {
	grid-column: span 4;
}

.post-type-archive-press-news .archive-content .loop-press-news {
	background: var(--white);
	box-shadow: var(--shadow2);
	display: flex;
	flex-direction: column;
	padding: var(--text-spacing-medium) var(--text-spacing-small) var(--text-spacing-small);
	position: relative;
}

.post-type-archive-press-news .loop-press-news .heading-5 {
	margin-bottom: var(--module-spacing-small);
}

.post-type-archive-press-news .loop-press-news .small-date {
	font-size: calc(16rem / 16);
	line-height: calc(28 / 16);
	margin-top: auto;
	margin-bottom: 2px;
	opacity: .6;
}

.post-type-archive-press-news .loop-press-news .btn {
	bottom: var(--text-spacing-small);
	position: absolute;
	right: var(--text-spacing-small);
}

.post-type-archive-press-news .loop-press-news .btn .words {
	opacity: 0;
	transition: opacity .25s ease;
}

.post-type-archive-press-news .loop-press-news:hover .btn .words {
	opacity: 1;
}

/***************************************************************************************************************************************************************************************/

/* MQ MIN-WIDTH 1778 (1778 is when the container width is ~1600) */

/***************************************************************************************************************************************************************************************/

@media only screen and (min-width: calc(1778rem/16)) {

	:root {
		--container-width: var(--container-max-width);
		--one-column-width: 88px;
	}

}

/***************************************************************************************************************************************************************************************/

/* MQ MAX-WIDTH 1400 - Smaller Desktop Sizes */

/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(1400rem/16)) {

	:root {
		--container-width: 100%;
		--container-outer-margin: 0px;
	}

	/*** Header ***/

	#menu-main .sub-menu .links:not(:has(li:nth-child(3))) {
		padding-top: calc(120 / 1400 * 100vw);
	}

	#menu-main .sub-menu .links li {
		min-width: unset;
		width: 100%;
	}

	/*** Page Builder ***/

	/* Hero Style 3 */

	.hero.style3 .media {
		width: 100%;
	}

	.hero.style3.layout-reversed .media {
		margin: 0;
	}

	/* Cards - disable hover state on tablet */

	.cards li a {
		justify-content: flex-end;
		padding-top: var(--text-spacing-medium);
	}

	.cards li a:hover,
	.cards a:hover .image {
		border-radius: 0;
	}

	.cards a:hover .image {
		opacity: 1;
	}

	.cards li a:hover,
	.cards li a:hover .btn.secondary {
		color: var(--white);
	}

	.cards li p {
		grid-template-rows: 1fr;
		margin-bottom: var(--text-spacing-xsmall);
		opacity: 1;
		transform: none;
	}

	/* CTA - Style 2 */

	.cta.style2 .content-container::before,
	.cta.style2 .content-container::after {
		border-radius: unset;
		right: var(--viewport-edge);
		width: 100vw;
	}

	/*** Blog Single ***/

	.post-hero article {
		padding-left: var(--text-spacing-small);
	}

	.post-content .share-post {
		margin: 0 0 0 calc(-1 * var(--container-outer-padding) + var(--text-spacing-small));
	}

	/*** Donate ***/

	.donation-form .embed-form {
		width: 100%;
	}

}

/***************************************************************************************************************************************************************************************/

/* MQ MIN-WIDTH 1200 - Smaller Desktop Sizes / Larger Tablet Sizes AND UP */

/***************************************************************************************************************************************************************************************/

@media only screen and (min-width: calc(1200rem/16)) {

	/*** Light Header ***/

	.header-offset {
		margin-top: -88px;
	}

	header.light-style:not(.super-sticky) {
		background: none;
	}

	header.light-style:not(.super-sticky) .logo .letter-change {
		fill: var(--white);
	}

	header.light-style:not(.super-sticky) #menu-main > li > a:not(.btn) {
		color: var(--white);
	}

	header.light-style:not(.super-sticky) #menu-main > li.menu-item-has-children > a:after {
		background-color: var(--black-20);
		filter: invert(100%);
	}

	header.light-style:not(.super-sticky) #menu-main .btn.primary {
		background: var(--white);
		color: var(--black);
	}

	header.light-style:not(.super-sticky) #menu-main .btn.primary:hover {
		background: var(--crimson-red);
		color: var(--white);
	}

}

/***************************************************************************************************************************************************************************************/

/* MQ MAX-WIDTH 1200 - Smaller Desktop Sizes / Larger Tablet Sizes */

/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(1200rem/16)) {

	:root {
		--container-outer-padding: 40px;
	}

	html.active,
	html.active body {
		height: 100%;
		overflow: hidden;
	}

	/*** Header ***/

	body:has(.alert-bar) header {
		margin-top: var(--text-spacing-large);
	}

	header {
		margin: 0 0 var(--text-spacing-xsmall);
		padding: 15px var(--text-spacing-small) 19px var(--text-spacing-xsmall);
		transition: all 0.25s ease;
	}

	header.active {
		margin-top: 0 !important;
		position: absolute;
	}

	header .logo,
	header.super-sticky .logo {
		height: 64px;
		margin: 0;
		position: relative;
		width: auto;
		z-index: 99999;
	}

	header .logo svg {
		height: 100%;
		width: auto;
	}

	header .mobile-menu {
		align-items: center;
		background: var(--black); /* Black square */
		border: 0;
		cursor: pointer;
		display: flex !important;
		flex-direction: column;
		height: 64px; /* From Figma */
		justify-content: center;
		margin: 0 0 0 auto;
		overflow: visible;
		position: relative;
		width: 64px; /* From Figma */
		z-index: 99999;
		--menu-bar-height: 2px; /* From Figma: 24x2px bars */
		--menu-bar-margin: 5px; /* Spacing between bars */
		--menu-bar-width: 24px; /* From Figma */
	}

	header .mobile-menu:focus-visible {
		outline: 2px solid var(--black);
		outline-offset: 2px;
	}

	header.active .mobile-menu:focus-visible {
		outline-color: var(--white);
	}

	header .mobile-menu span:not(.accessibility) {
		background: var(--white); /* White lines on black background */
		border-radius: 1px;
		display: block;
		height: var(--menu-bar-height);
		position: relative;
		width: var(--menu-bar-width);
	}

	header .mobile-menu span:nth-of-type(2) {
		margin: var(--menu-bar-margin) 0;
	}

	/* Close */

	header.active .mobile-menu span:nth-of-type(1) {
		transform: translateY(calc(var(--menu-bar-height) + var(--menu-bar-margin))) rotate(45deg);
	}

	header.active .mobile-menu span:nth-of-type(2) {
		margin-right: auto;
		width: 0;
	}

	header.active .mobile-menu span:nth-of-type(3) {
		transform: translateY(calc((var(--menu-bar-height) + var(--menu-bar-margin)) * -1)) rotate(-45deg);
	}

	/* Top Nav */

	.top-nav {
		bottom: 0;
		left: 0;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		transition: all 0.25s ease;
		visibility: hidden;
		width: 100%;
	}

	body:has(header.active:not(.dropdown-open)) .top-nav {
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
		z-index: 10;
	}

	/* The top nav is pinned to the bottom of the screen here, so the menu opens upward. */
	.top-nav .translate-menu {
		bottom: calc(100% + var(--text-spacing-xxsmall));
		top: auto;
	}

	.top-nav .translate-toggle:after {
		transform: rotate(180deg);
	}

	.top-nav .translate-toggle[aria-expanded="true"]:after {
		transform: none;
	}

	/* Nav */

	header nav {
		align-items: center;
		background: var(--white);
		display: flex;
		flex-direction: column;
		height: 100dvh;
		justify-content: center;
		left: 0;
		margin-left: 0;
		opacity: 0;
		overflow-x: hidden;
		overflow-y: auto;
		position: absolute;
		top: 0;
		transition: .3s;
		visibility: hidden;
		width: 100%;
		z-index: 9;
	}

	header.active nav {
		opacity: 1;
		visibility: visible;
	}

	header nav:after {
		background: var(--cream);
		content: '';
		height: 150px;
		left: 0;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		top: 0;
		transition: all 0.25s ease;
		width: 100vw;
		z-index: 9;
	}

	header.dropdown-open nav:after {
		opacity: 1;
	}

	header nav #menu-main {
		align-items: center;
		background: var(--white);
		flex-direction: column;
		gap: var(--text-spacing-xsmall);
		justify-content: center;
		left: 0;
		line-height: 1;
		justify-content: safe center;
		min-height: 100%;
		overflow: auto;
		padding: 110px var(--container-outer-padding) 160px;
		position: relative;
		top: 0;
		width: 100%;
		z-index: 1;
	}

	/* header #menu-main.has-scroll:before {
		background: linear-gradient(to bottom, transparent, var(--black));
		bottom: 0;
		content: '';
		height: 140px;
		left: 0;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		transition: all 0.25s ease;
		width: 100%;
		z-index: 5;
	} */

	header #menu-main.has-scroll:has(.menu-item-has-children.active):before {
		opacity: 1;
	}

	header nav #menu-main > li {
		width: 100%;
	}

	header #menu-main a:not([class*="btn"]),
	header #menu-main button:not([class*="btn"]) {
		color: var(--black);
	}

	#menu-main > .menu-item > a,
	#menu-main > .menu-item > button,
	header.super-sticky #menu-main > .menu-item > a,
	header.super-sticky #menu-main > .menu-item > button {
		font-size: calc(24rem / 16);
		gap: var(--text-spacing-xsmall);
		margin: 0 auto;
		padding: var(--text-spacing-xsmall) 0;
		width: max-content;
	}

	#menu-main > li.menu-item-has-children > a:before,
	#menu-main > li.menu-item-has-children > button:before {
		display: none;
	}

	#menu-main > li.menu-item-has-children > a:after,
	#menu-main > li.menu-item-has-children > button:after,
	#menu-main > li.menu-item-has-children:hover > a:after,
	#menu-main > li.menu-item-has-children:hover > button:after {
		background-size: 9px auto;
		height: var(--text-spacing-medium);
		rotate: -90deg;
		width: var(--text-spacing-medium);
	}

	#menu-main > li > .btn.primary {
		display: block;
		font-size: calc(20rem / 16);
		margin: var(--text-spacing-xsmall) auto 0;
		max-width: max-content;
		padding: 12px 32px;
	}

	header #back-to-main-nav {
		background: unset;
		display: flex !important;
		left: var(--container-outer-padding);
		opacity: 0;
		padding: unset;
		pointer-events: none;
		position: fixed;
		top: 96px;
		visibility: hidden;
		z-index: 99;
	}

	header #back-to-main-nav > svg {
		display: none;
	}

	header #back-to-main-nav .icon {
		color: var(--black);
		margin-right: 7px;
		transition: .25s ease;
	}

	header #back-to-main-nav .icon svg {
		height: 1em;
		position: relative;
		transform: none;
		width: auto;
	}

	/* Open */

	header.dropdown-open #back-to-main-nav {
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}

	/* header.dropdown-open #back-to-main-nav {
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}

	header.dropdown-open nav {
		overflow: hidden;
	} */

	/* Dropdown */

	header #menu-main > li > .sub-menu,
	header #menu-main > li:hover > .sub-menu {
		align-items: flex-start;
		background: var(--white);
		display: flex;
		gap: var(--text-spacing-xsmall);
		height: 100vh;
		left: 0;
		opacity: 0;
		overflow-x: clip;
		overflow-y: auto;
		pointer-events: none;
		position: fixed;
		top: 0;
		transform: translate3d(0, 0, 0);
		transition: all 0.25s ease;
		visibility: hidden;
		width: 100vw;
		z-index: 1;
	}

	header #menu-main > li.active > .sub-menu {
		opacity: 1;
		padding: 0;
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
		visibility: visible;
	}

	#menu-main .sub-menu > li {
		flex-wrap: wrap;
		gap: var(--gap);
		height: max-content;
		/* overflow: auto; */
		padding: 0 0 var(--module-spacing-small);
		position: relative;
	}

	#menu-main .sub-menu li > article {
		padding: 150px var(--container-outer-padding) var(--text-spacing-xlarge);
		width: 100%;
	}

	#menu-main .sub-menu .links,
	#menu-main .sub-menu .links:not(:has(li:nth-child(3))) {
		padding: var(--text-spacing-small) 0 0 var(--container-outer-padding);
		width: calc((100% - var(--gap)) / 2);
	}

	#menu-main .sub-menu .links a {
		justify-content: start;
		padding: var(--text-spacing-small) 0;
	}

	#menu-main .sub-menu .right-column {
		margin: 0 var(--text-spacing-small) 0 0;
		width: calc((100% - var(--gap)) / 2 - var(--text-spacing-small));
	}

	.loop-event-card {
		margin: 0 0 var(--text-spacing-large);
	}

	/***Archive***/

	.archive-content [data-jazzy-scroll] {
		transform: unset !important;
	}

	.archive-content .grid {
		gap: 0;
	}

	.archive-content .grid > form,
	.archive-content .grid > article {
		grid-column: 1 / -1;
	}

	.archive-content #open-filters {
		background: none;
		border: none;
		display: flex;
		max-width: max-content;
		padding: 0;
	}

	.archive-content .sidebar-container {
		background: var(--white);
		height: 100dvh;
		left: unset;
		max-width: 310px;
		overflow: auto;
		padding: var(--text-spacing-xlarge) var(--text-spacing-small) var(--text-spacing-small);
		pointer-events: none;
		position: fixed;
		right: 0;
		top: 0;
		transform: translate3d(100%, 0, 0);
		transition: transform 0.25s ease, visibility 0.25s ease;
		visibility: hidden;
		width: 100vw;
		z-index: 99999;
	}

	.archive-content .sidebar-container.active {
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
		visibility: visible;
	}

	.archive-content .sidebar-container #close-filters {
		display: block;
		position: absolute;
		right: 0;
		top: 0;
	}

	/*** Page Builder ***/

	/* Hero Style 3 */

	.hero.style3,
	.hero.style3.bkg-cream {
		padding: var(--text-spacing-xxlarge) 0;
	}

	/* Text Style 2 */

	.text.style2 article {
		grid-column: 2 / span 10;
	}

	/* Text & Media - Style 1 */

	.text-media.style1.bkg-cream.layout-reversed::before {
		left: 0;
	}

	/* Blog & Press/News */

	.blog-press-news ul {
		display: flex;
		gap: var(--gap);
		left: calc(-1 * var(--container-outer-padding));
		margin-bottom: -30px;
		overflow: auto;
		padding: 0 var(--container-outer-padding) 30px;
		position: relative;
		width: calc(100% + (2 * var(--container-outer-padding)));
	}

	.blog-press-news li {
		min-width: calc((100vw - (2 * (var(--container-outer-padding) + var(--gap))) - var(--text-spacing-xxlarge)) / 2);
	}

	/* Logo Garden */

	.logo-garden a {
		padding-bottom: var(--text-spacing-xxlarge);
		position: relative;
	}

	.logo-garden .media {
		position: static;
	}

	.logo-garden .btn.secondary {
		bottom: 0;
		justify-content: center;
		left: 0;
		top: auto;
		transform: none;
		width: 100%;
	}

	.logo-garden .btn.secondary,
	.logo-garden a:hover .media img {
		opacity: 1;
	}

	.logo-garden a:hover .media {
		background: var(--white);
		box-shadow: 0 20px 28px -14px rgba(0, 0, 0, 0.08);
	}

	.logo-garden a .media:before {
		display: none;
	}

	/* Global Map */

	.global-map {
		overflow: clip;
	}

	.global-map .region {
		display: none;
	}

	.global-map .region-nav {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	/* Sunday Service */

	.sunday-service.layout-reversed article,
	.sunday-service article,
	.sunday-service .acf-map,
	.sunday-service.layout-reversed .acf-map {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.sunday-service.bkg-cream {
		padding: var(--module-spacing-large) 0;
	}

	.sunday-service .acf-map,
	.sunday-service.layout-reversed .acf-map {
		aspect-ratio: 16/9;
	}

	.sunday-service.layout-reversed article,
	.sunday-service article {
		padding: 0;
	}

	.sunday-service .description {
		grid-column: span 7;
	}

	.sunday-service aside {
		grid-column: 9 / span 4;
	}

	.sunday-service aside p + .eyebrow {
		margin-top: var(--text-spacing-small);
	}

	/*** Blog Single ***/

	.post-hero:not(.event-hero) article {
		padding: 0 0 0 var(--text-spacing-small);
	}

	.post-content .grid > article {
		grid-column: 2 / span 10;
	}

	/*** Donate ***/

	.module.plain-hero.bkg-cream {
		border: none;
	}

	.donation-form::before {
		left: 0;
		width: 100%;
	}

	.donation-form article,
	.donation-form .embed-form {
		grid-column: 1 / -1;
	}

	.donation-form article {
		padding: 0;
	}

	/*** Staff Archive ***/

	.staff-group .open-dialog .btn,
	.staff-group .open-dialog .media::before {
		opacity: 1;
	}

	/*** Events Archive ***/

	.loop-event .media {
		grid-column: 1 / -1;
	}

	.loop-event article {
		margin: 0;
		padding: var(--text-spacing-medium) var(--text-spacing-large) var(--text-spacing-medium);
	}

	.loop-event article::before {
		box-sizing: border-box;
		width: 100%;
	}

}

/***************************************************************************************************************************************************************************************/

/* MQ MAX-WIDTH 1000 - Custom size for Top Nav */

/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(1000rem/16)) {

	/*** Header ***/

	.top-nav {
		justify-content: flex-start;
		gap: 12px var(--text-spacing-small);
	}

	.top-nav address {
		width: 100%;
	}

	.top-nav .translate {
		margin: 0;
	}

}

/***************************************************************************************************************************************************************************************/

/* MQ MAX-WIDTH 950 - Tablet Sizes */

/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(950rem/16)) {

	:root {
		--module-spacing-medium: 64px;
		--module-spacing-large: 100px;
		--module-spacing-xlarge: 120px;
	}

	.tablet-only {
		display: block !important;
	}

	.desktop-only {
		display: none !important;
	}

	.alert-bar.desktop-only + header { /* If the alert bar next to the header is desktop-only, there is no mobile version */
		margin-top: 0;
	}

	/*** Content Styles ***/

	.content-styles * + h2:not([class^="heading-"]),
	.content-styles * + h3:not([class^="heading-"]),
	.content-styles * + h4:not([class^="heading-"]),
	.content-styles * + h5:not([class^="heading-"]) {
		margin-top: var(--text-spacing-medium);
	}

	.content-styles > ul:not([class]),
	.content-styles > ol:not([class]) {
		margin-bottom: var(--text-spacing-medium);
	}

	/*** Footer - Tablet Layout ***/

	footer .container.grid {
		gap: var(--text-spacing-large);
	}

	/* Logo + Address - Full width centered */

	footer article {
		grid-column: 4 / span 6;
		margin: 0;
		padding: var(--module-spacing-small) 0 var(--text-spacing-xxlarge);
		text-align: center;
		width: 100%;
	}

	footer article:before {
		border-radius: var(--arches-radii);
		height: 100%;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
		width: calc(100vw - (2 * var(--container-outer-padding)));
	}

	footer article .logo {
		max-width: 200px;
	}

	/* Flag + Statement - Full width centered */

	footer p.heading-5 {
		border-bottom: none;
		grid-column: 1 / -1;
		padding-bottom: 0;
		padding-left: 0;
		text-align: center;
	}

	footer p.heading-5 img {
		margin: 0 auto var(--text-spacing-small);
	}

	footer p.heading-5 .btn {
		margin: var(--text-spacing-small) auto 0;
	}

	/* Links & Socials - Left column */

	footer .links-socials {
		grid-column: 1 / span 6;
		padding-left: 0;
	}

	#menu-footer {
		flex-wrap: wrap;
		gap: var(--text-spacing-xsmall) var(--text-spacing-medium);
		padding-left: 0;
	}

	#menu-footer li {
		width: calc(50% - var(--text-spacing-small));
	}

	footer .eyebrow {
		padding-left: 0;
	}

	footer .social {
		padding-left: 0;
	}

	/* Newsletter - Right column */

	footer .newsletter {
		grid-column: 7 / -1;
		padding-left: 0;
	}

	/* Copyright - Full width */

	footer .copyright {
		flex-direction: column;
		gap: var(--text-spacing-small);
		text-align: center;
	}

	/*** Page Builder ***/

	/* Hero - Style 2 */

	.hero.style2 article {
		grid-column: 1 / -1;
	}

	/* Hero Style 3 */

	.hero.style3 article,
	.hero.style3 .media,
	.hero.style3.layout-reversed article,
	.hero.style3.layout-reversed .media {
		grid-column: 1 / -1;
	}

	.hero.style3 article,
	.hero.style3.layout-reversed article {
		grid-row: 2;
		padding: 0;
		text-align: center;
	}

	.hero.style3 .media,
	.hero.style3.layout-reversed .media {
		grid-row: 1;
	}

	.hero.style3 .heading-1 .eyebrow {
		margin: 0 auto var(--text-spacing-xsmall);
	}

	/* Media - Style 2 */

	.media-carousel.style2 img,
	.media-carousel.style3 video {
		aspect-ratio: 16 / 9;
	}

	/* Media - Style 3 */

	.media-carousel.style3 .play,
	.video-lightbox a .btn.icon.hover-link {
		bottom: var(--text-spacing-xsmall);
		font-size: calc(20rem/16);
		left: var(--text-spacing-xsmall);
	}

	/* Text Style 1 - Pattern above/below on tablet */

	.text.style1 .container > article {
		grid-column: 1 / -1;
	}

	.text.style1:not(.hide-bkg) {
		padding-top: 164px;
		padding-bottom: 164px;
	}

	.text.style1:not(.hide-bkg):before,
	.text.style1:not(.hide-bkg):after {
		background-size: auto 82px;
		height: 164px;
		left: 0;
		width: 100%;
	}

	.text.style1:not(.hide-bkg):before {
		top: 0;
	}

	.text.style1:not(.hide-bkg):after {
		bottom: 0;
		top: auto;
	}

	/* Text Style 2 */

	.text.style2 .content-styles .heading-2 {
		margin: 0 0 var(--text-spacing-medium);
	}

	/* Text Style 3 */

	.text.style3 li .heading-3 {
		font-size: calc(36rem / 16);
		line-height: calc(46 / 36);
		padding-right: var(--text-spacing-xxsmall);
	}

	/* Text + Media Style 1 - Stack and center on tablet */

	.text-media.style1 .container.grid {
		align-items: center;
		display: flex;
		flex-direction: column;
	}

	.text-media.style1 .media {
		margin: 0;
		max-width: 429px; /* From Figma tablet */
		order: 1;
		overflow: visible; /* Allow badge to show */
		width: 100%;
	}

	.text-media.style1 .spinning-badge {
		background-size: 80px auto; /* Scale logomark: 101px * (190/240) */
		bottom: 0;
		height: 190px;
		left: 50%;
		position: absolute;
		top: auto;
		transform: translate(-50%, 50%);
		width: 190px;
	}

	.text-media.style1 .spinning-badge:after {
		background-size: 85%; /* Slightly smaller than circle for rim space */
	}

	.text-media.style1 article {
		order: 2;
		padding-left: 0;
		padding-right: 0;
		text-align: center;
	}

	.text-media.style1:has(.spinning-badge) article {
		padding-top: 75px;
	}

	.text-media.style1 .heading-3 {
		margin-bottom: var(--text-spacing-xxsmall);
	}

	.text-media.style1 .heading-3 .eyebrow {
		margin: 0 auto var(--text-spacing-xsmall);
	}

	.text-media.style1.bkg-cream:before {
		display: none;
	}

	.text-media.style1.bkg-cream {
		background: var(--cream);
	}

	/* Cards - Horizontal scroll on tablet */

	.cards .container.grid {
		display: flex;
		flex-direction: column;
		gap: var(--text-spacing-small); /* 24px between header and cards */
	}

	.cards article {
		width: 100%;
	}

	.cards .btn.primary {
		margin: 0;
		max-width: max-content;
		order: 2;
	}

	.cards ul {
		align-items: stretch; /* Equal height cards */
		display: flex;
		flex-wrap: nowrap;
		gap: 20px;
		margin-left: 0;
		order: 3;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-right: var(--container-outer-padding);
		scroll-snap-type: x mandatory;
		width: calc(100% + var(--container-outer-padding));
	}

	.cards ul:before {
		display: none;
	}

	.cards li {
		display: flex; /* Allow child to stretch */
		flex-shrink: 0;
		scroll-snap-align: start;
		width: calc((100% - 70px) / 2); /* Two cards + peek */
	}

	.cards li a {
		display: flex;
		flex-direction: column;
		height: 100%; /* Fill parent height */
		min-height: 397px;
	}

	.cards li a .heading-4 {
		line-height: calc(40/34);
		margin-top: auto; /* Push content to bottom */
	}

	/* Show description text by default on tablet (no hover) */
	.cards li p {
		grid-template-rows: 1fr;
		margin-bottom: var(--text-spacing-xsmall);
		opacity: 1;
		transform: translateY(0);
	}

	/* Upcoming Events - Horizontal scroll on tablet */

	.upcoming-events article {
		align-items: flex-start;
		flex-direction: column;
		gap: var(--text-spacing-small); /* 24px between headline and button */
		margin-bottom: var(--text-spacing-large); /* Reduce margin to cards */
	}

	.upcoming-events article .heading-1 {
		width: 100%; /* Full width headline */
	}

	.upcoming-events article .btn {
		margin: 0;
		width: max-content; /* Natural width, not full width */
	}

	.upcoming-events ul {
		align-items: stretch;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 20px; /* Fixed 20px gap from Figma */
		margin-left: 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-right: var(--container-outer-padding);
		scroll-snap-type: x mandatory;
		width: calc(100% + var(--container-outer-padding));
	}

	.upcoming-events li {
		flex-shrink: 0;
		scroll-snap-align: start;
		width: 302px;
	}

	.loop-event {
		display: flex;
		flex-direction: column;
		gap: 0; /* Override .grid gap */
		height: unset;
	}

	.loop-event .media {
		aspect-ratio: 302 / 170;
		flex-shrink: 0;
		margin: 0;
		width: 100%;
	}

	.loop-event article {
		background: var(--cream);
		bottom: 0;
		flex-grow: 1;
		height: auto;
		padding: var(--text-spacing-small);
		right: 0;
	}

	.bkg-cream .loop-event article {
		background: var(--white);
	}

	.loop-event article:before {
		display: none;
	}

 	.loop-event article .heading-4 {
		margin-bottom: var(--text-spacing-xxsmall);
	}

	/* Move "Learn More" button to article on tablet (no hover on touch) */
	.loop-event .media .btn.secondary {
		display: none;
	}

	.loop-event .media:after {
		display: none;
	}

	.loop-event article .btn.tertiary {
		display: inline-flex;
		margin-top: var(--text-spacing-xsmall);
	}

	/* CTA Style 1 */

	.cta.style1 .container.grid {
		align-items: center;
		display: flex;
		flex-direction: column;
	}

	.cta.style1 .media {
		margin: 0;
		max-width: 429px;
		order: 1;
		width: 100%;
	}

	.cta.style1 article {
		order: 2;
		padding-left: 0;
		padding-right: 0;
		text-align: center;
	}

	.cta.style1 .heading-2 .eyebrow {
		margin: 0 auto var(--text-spacing-small);
	}

	/* CTA - Style 2 */

	.cta.style2 .content-container.flex-container {
		flex-wrap: wrap;
		gap: var(--text-spacing-xsmall);
	}

	.cta.style2 .media {
		margin-left: 0;
	}

	.cta.style2 .btn {
		margin: var(--text-spacing-xxsmall) 0 0;
	}

	/* Blog & Press/News */

	.blog-press-news li {
		min-width: 60vw;
	}

	.loop-press-news .heading-5 {
		font-size: calc(24rem / 16);
		letter-spacing: -0.5px;
		line-height: calc(35 / 24);
	}

	/* Youtube Carousel */

	.youtube-carousel article,
	.youtube-carousel .btn.primary {
		grid-column: 1 / -1;
	}

	.youtube-carousel .grid {
		gap: var(--text-spacing-xxsmall);
	}

	.youtube-carousel .heading-4 {
		margin-bottom: 0;
		margin-top: var(--text-spacing-large);
	}

	.youtube-carousel .btn.primary {
		margin: 0;
		width: max-content;
	}

	.youtube-carousel .sb_youtube {
		margin-top: var(--text-spacing-xsmall) !important;
	}

	.youtube-carousel .heading-4 + .sb_youtube {
		margin-top: var(--text-spacing-xxsmall) !important;
	}

	.youtube-carousel .sb_youtube .slick-arrow.slick-prev,
	.youtube-carousel .sb_youtube .slick-arrow.slick-next {
		top: calc(-66rem / 16);
	}

	/* Logo Garden */

	.logo-garden li {
		grid-column: span 6;
	}

	/* Global Map */

	.global-map .heading-3,
	.global-map p {
		grid-column: 1 / -1;
	}

	.global-map .heading-3 {
		padding: 0;
	}

	.global-map .region-nav {
		grid-template-columns: repeat(2, 1fr);
	}

	/* At this width the map is too small to anchor a popup to a pin, so it becomes a sheet. */

	.global-map .map-marker-popup,
	.global-map .map-marker-popup.flip-x,
	.global-map .map-marker-popup.flip-y {
		bottom: auto;
		left: 50%;
		max-width: calc(100vw - var(--text-spacing-medium));
		position: fixed;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 320px;
		z-index: 100;
	}

	/* Keep a generous tap target even though the pin art scales down with the map. */
	.global-map .map-marker-pin {
		height: 38px;
		width: 38px;
	}

	/* Sunday Service */

	.sunday-service .description,
	.sunday-service aside {
		grid-column: 1 / -1;
	}

	/*** Default Page ***/

	/* Hero */

	.plain-hero article {
		grid-column: 1 / -1;
	}

	/* Shortcode - People */

	.staff-grid .open-dialog:before {
		height: 100%;
	}

	/*** Blog Single ***/

	.post-hero,
	.event-hero  {
		margin: 0;
		padding: var(--text-spacing-large) 0;
	}

	.post-hero:before {
		left: 0;
		width: 100vw;
	}

	.post-hero article,
	.post-content .grid > article,
	.post-hero .media,
	.post-content .share-post {
		grid-column: 1 / -1;
	}

	.post-hero article,
	.post-content .grid > article {
		padding: 0;
	}

	.post-hero .media {
		width: 100%;
	}

	.post-content .share-post {
		flex-direction: row;
		margin: 0;
		position: static;
	}

	.post-content .wp-caption.alignnone,
	.shortcode {
		margin: var(--text-spacing-large) 0;
		width: 100% !important;
	}

	.featured-post .media {
		width: 269px;
	}

	.archives-cta article {
		grid-column: 1 / -1;
		padding: 0 var(--text-spacing-xlarge);
	}

	/*** Events Single ***/

	.post-hero.event-hero .media {
		aspect-ratio: 16/9;
		height: unset;
		width: 100%;
	}

	/*** Livestream ***/

	.livestream h2,
	.ways-worship h2,
	.ways-worship ul.grid > li {
		grid-column: 1 / -1;
	}

	.ways-worship ul.grid {
		row-gap: var(--module-spacing-small);
	}

	.ways-worship ul.grid > li {
		border-radius: 0;
	}

	.newsletter-cta {
		border: none;
	}

	.page-template-page-livestream .newsletter-cta .container,
	.page-template-page-visit .newsletter-cta .container {
		padding-left: 0;
		padding-right: 0;
	}

	.page-template-page-livestream .newsletter-cta .flex-container,
	.page-template-page-visit .newsletter-cta .flex-container {
		flex-direction: column;
		align-items: center;
		gap: var(--text-spacing-medium);
		text-align: center;
	}

	.newsletter-modal article,
	.newsletter-modal form {
		width: 100%;
	}

	.newsletter-modal article {
		padding: 0 0 var(--text-spacing-medium);
	}

	/*** Visit ***/

	.staff-quote .media,
	.staff-quote article,
	.visit-map article,
	.visit-map .acf-map,
	.services article,
	.services .details {
		grid-column: 1 / -1;
	}

	.staff-quote .media {
		margin: 0 auto;
		max-width: 350px;
		width: 100%;
	}

	.staff-quote article {
		padding: 0;
		text-align: center;
	}

	.staff-quote cite {
		display: block;
		font-style: normal;
	}

	.staff-quote cite span {
		margin: 0 auto;
	}

	.visit-map article {
		padding: var(--text-spacing-medium);
	}

	.services article {
		align-items: center;
		padding: 0;
		position: static;
		text-align: center;
	}

	.double-ctas::before,
	.virtual-tour::before,
	.virtual-tour .embed::before {
		left: 0;
		width: 100vw;
	}

	.virtual-tour .embed::before {
		left: var(--viewport-edge);
	}

	.double-ctas::before {
		height: 25%;
	}

	.double-ctas .heading-4 {
		font-size: calc(24rem/16);
		letter-spacing: -.5px;
		line-height: calc(35/24);
	}

	.virtual-tour .flex-container {
		align-items: center;
		flex-direction: column;
		text-align: center;
	}

	/*** Blog Archive ***/

	.hero-archive h1,
	.hero-archive .animated-ticker,
	.archive-content .container.grid > article,
	.archive-content h2 {
		grid-column: 1 / -1;
	}

	.hero-archive h1 {
		text-align: center;
	}

	.hero-archive h1 .eyebrow {
		margin-left: auto;
		margin-right: auto;
	}

	.hero-archive .featured-cards ul {
		align-items: stretch;
		display: flex;
		flex-wrap: nowrap;
		gap: var(--gap);
		left: calc(-1 * var(--container-outer-padding));
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding: 0 var(--container-outer-padding) 0 0;
		position: relative;
		scroll-snap-type: x mandatory;
		width: calc(100% + (2 * var(--container-outer-padding)));
	}

	.hero-archive .featured-cards .scroll-spacer {
		display: block;
		flex-shrink: 0;
		padding: 0;
		width: calc(var(--container-outer-padding) - var(--gap));
	}

	.hero-archive .featured-cards li {
		display: flex;
		flex-shrink: 0;
		scroll-snap-align: start;
		width: calc((100% - 70px) / 2);
	}

	.archive-content h2 {
		margin-bottom: var(--text-spacing-small);
	}

	/*** Staff Archive ***/

	.other-staff h2,
	.other-staff ul.grid {
		grid-column: 1 / -1;
	}

	.staff-group ul.grid > li {
		grid-column: span 6;
	}

	.staff-popup {
		overflow: auto;
	}

	.staff-popup::before {
		display: none;
	}

	.staff-popup .info,
	.staff-popup article {
		width: 100%;
	}

	.staff-popup .media {
		max-width: 350px;
		width: 100%;
	}

	.staff-popup .eyebrow {
		margin: 0;
	}

	.staff-popup ul.xsmall,
	.staff-popup ul.xsmall,
	.staff-popup .eyebrow + .social {
		margin-top: var(--text-spacing-large);
	}

	.staff-popup .flex-container {
		height: unset;
	}

	.staff-popup .bio::before {
		right: calc(var(--text-spacing-small) * -1);
		width: calc(100% + var(--text-spacing-small) * 2);
	}

	.staff-popup article {
		height: unset;
		margin: 0;
		overflow: visible;
		padding: var(--text-spacing-small) var(--text-spacing-small) 0;
	}

	/*** Press News Archive ***/

	.loop-press-featured .media,
	.loop-press-featured article {
		grid-column: 1 / -1;
	}

	.loop-press-featured .media {
		aspect-ratio: 16/9;
	}

	.loop-press-featured .spinning-badge {
		display: none;
	}

	.loop-press-featured article {
		padding-top: var(--text-spacing-large);
	}

	.post-type-archive-press-news .archive-content article [jx-form-results-items] li {
		grid-column: span 6;
	}

	/*** Events Archive ***/

	.hero-events-archive h1::before {
		left: calc(var(--container-outer-padding) * -1);
		width: 100vw;
	}

	.hero-events-archive .animated-ticker {
		padding-bottom: 80px;
	}

	.hero-events-archive .animated-ticker .slick-arrow {
		bottom: 0;
	}

	.hero-events-archive .animated-ticker .slick-dots {
		bottom: 10px;
		left: auto;
		right: var(--container-outer-padding);
	}

	.hero-events-archive .animated-ticker .loop-event article {
		background: var(--white);
		display: flex;
		flex-direction: column;
	}

	.loop-event-featured .media .date-info .heading-3 {
		font-size: calc(24rem/16);
	}

	.loop-event-featured article .heading-3 {
		font-size: calc(20rem/16);
		letter-spacing: -.5px;
		line-height: calc(28/20);
		margin-bottom: var(--text-spacing-xxsmall);
	}

	.loop-event-featured .btn.secondary {
		margin-top: auto;
	}

	.loop-event .eyebrow {
		align-items: start;
		flex-direction: column;
	}

	.loop-event .eyebrow-item + .eyebrow-item {
		margin-left: 0;
	}

}

/***************************************************************************************************************************************************************************************/

/* MQ MAX-WIDTH 650 - Mobile Sizes */

/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(650rem/16)) {

	:root {
		--container-outer-padding: 20px;
		--grid: 1fr;
		--module-spacing-large: 64px;
		--module-spacing-xlarge: 80px;
	}

	.mobile-only {
		display: block !important;
	}

	/*** Typography ***/

	h1,
	.heading-1 {
		font-size: calc(50rem/16);
		line-height: calc(62/50);
	}

	h2,
	.heading-2 {
		font-size: calc(42rem / 16);
	}

	h3,
	.heading-3 {
		font-size: calc(36rem/16);
		line-height: calc(46/36);
	}

	h4,
	.heading-4,
	.content-styles h2:not([class^="heading-"]):not([class*="pill"]),
	.newsletter-modal .heading-2 {
		font-size: calc(28rem/16);
		line-height: calc(38/28);
	}

	h5,
	.heading-5,
	.content-styles h3:not([class^="heading-"]),
	.large-intro-text p,
	.youtube-carousel .sb_youtube .sby_video_title,
	.loop-event-featured article .heading-3,
	.loop-event article .heading-4,
	.loop-press-featured h2 {
		font-size: calc(21rem/16);
		line-height: calc(32/21);
	}

	/* CTA Style 1 */

	.cta.style1 .heading-2 {
		font-size: calc(43rem/16);
		line-height: calc(52/43);
	}

	.cta.style1 .heading-2 .eyebrow {
		margin: 0 auto var(--text-spacing-xsmall);
	}

	/*** Header ***/

	.top-nav ul {
		flex-wrap: wrap;
		gap: 12px var(--text-spacing-small);
	}

	.top-nav .menu > li {
		width: calc((100% - (var(--text-spacing-small))) / 2);
	}

	header {
		padding: 15px var(--container-outer-padding);
	}

	header:before {
		width: calc(100% - (2 * var(--container-outer-padding)));
	}

	header .logo,
	header.super-sticky .logo {
		height: var(--text-spacing-large);
	}

	header .mobile-menu {
		height: var(--text-spacing-large);
		width: var(--text-spacing-large);
	}

	header #back-to-main-nav {
		top: 80px;
	}

	header nav:after {
		height: 126px;
	}

	header nav #menu-main {
		gap: 12px;
	}

	#menu-main > .menu-item > a,
	#menu-main > .menu-item > button,
	header.super-sticky #menu-main > .menu-item > a,
	header.super-sticky #menu-main > .menu-item > button {
		font-size: calc(20rem / 16);
		gap: 12px;
		padding: var(--text-spacing-xxsmall) 0;
	}

	#menu-main > li.menu-item-has-children > a:after,
	#menu-main > li.menu-item-has-children > button:after,
	#menu-main > li.menu-item-has-children:hover > a:after,
	#menu-main > li.menu-item-has-children:hover > button:after {
		background-size: 7px auto;
		height: 28px;
		width: 28px;
	}

	#menu-main > li > .btn.primary {
		font-size: calc(18rem / 16);
		padding: 10px var(--text-spacing-small);
	}

	#menu-main .sub-menu li > article {
		padding-top: 126px;
	}

	#menu-main .sub-menu article .btn + .btn {
		margin-top: var(--text-spacing-small);
	}

	#menu-main .sub-menu .links,
	#menu-main .sub-menu .links:not(:has(li:nth-child(3))) {
		padding: 0 var(--container-outer-padding);
		width: 100%;
	}

	#menu-main .sub-menu .links li:last-child {
		margin-bottom: -16px;
	}

	#menu-main .sub-menu .right-column {
		margin: 0 var(--container-outer-padding);
		width: 100%;
	}

	/*** Footer ***/

	footer {
		padding: var(--container-outer-padding) 0 var(--text-spacing-xlarge); /* 20px top, 48px bottom */
	}

	footer .container.grid {
		gap: var(--text-spacing-large); /* 40px between sections */
	}

	/* Left Column - Logo + Address */

	footer article {
		grid-column: 1 / -1;
		margin: 0;
		padding: var(--module-spacing-small) var(--text-spacing-small) var(--text-spacing-large);
		text-align: center;
		width: 100%;
	}

	footer article:before {
		width: 100%;
	}

	footer article .logo {
		max-width: 180px;
	}

	footer article address {
		font-size: calc(14rem/16);
		line-height: calc(22/14);
	}

	footer article p.small {
		font-size: calc(14rem/16);
		line-height: calc(22/14);
	}

	footer article p.xsmall {
		font-size: calc(12rem/16);
		line-height: calc(16/12);
	}

	footer .badges img {
		max-height: 62px;
	}

	/* Tagline - Flag + Statement */

	footer p.heading-5 {
		border-bottom: none;
		grid-column: 1 / -1;
		padding-bottom: 0;
		padding-left: 0;
		text-align: center;
	}

	footer p.heading-5 img {
		height: 49px;
		margin: 0 auto var(--text-spacing-small);
		width: auto;
	}

	footer p.heading-5 {
		font-size: calc(21rem/16);
		line-height: calc(32/21);
	}

	footer p.heading-5 .btn {
		margin: var(--text-spacing-small) auto 0;
	}

	/* Links & Socials */

	footer .links-socials {
		grid-column: 1 / -1;
		padding-left: 0;
	}

	#menu-footer {
		gap: var(--text-spacing-xsmall) var(--container-outer-padding); /* 16px vertical, 20px horizontal */
		margin-bottom: var(--text-spacing-large); /* 40px gap to socials */
		padding-left: 0;
	}

	#menu-footer li {
		width: calc(50% - 10px);
	}

	#menu-footer a {
		font-size: calc(18rem/16);
		font-weight: 600;
		line-height: calc(30/18);
	}

	footer .eyebrow {
		font-size: calc(14rem/16);
		margin: 0 auto var(--text-spacing-xxsmall);
		padding-left: 0;
		text-align: center;
	}

	footer .social {
		justify-content: center;
		padding-left: 0;
	}

	footer .social a.btn.icon {
		height: var(--text-spacing-large); /* 40px */
		width: var(--text-spacing-large);
	}

	/* Newsletter */

	footer .newsletter {
		grid-column: 1 / -1;
		margin-top: var(--text-spacing-large);
		padding-left: 0;
	}

	footer .newsletter p {
		font-size: calc(16rem/16);
		line-height: calc(28/16);
		text-align: center;
	}

	footer .newsletter .mc-field-group:not(:nth-of-type(3)) {
		width: calc(50% - 4px);
	}

	footer .newsletter .mc-field-group input {
		font-size: calc(14rem/16);
		height: 54px;
	}

	footer .newsletter .btn.primary {
		height: 54px;
	}

	/* Copyright */

	footer .copyright {
		flex-direction: column;
		gap: var(--text-spacing-small);
		text-align: center;
	}

	footer .copyright p,
	footer .copyright a {
		font-size: calc(13rem/16);
		line-height: calc(16/13);
	}

	footer .copyright ul {
		gap: var(--text-spacing-small);
	}

	/* Popup Toast */

	.sticky-toast {
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}

	/*** Page Builder ***/

	.module.plain-hero.bkg-cream {
		border-left-width: var(--container-outer-padding);
		border-right-width: var(--container-outer-padding);
	}

	/* Hero Style 1 */

	.hero.style1 {
		background: var(--off-white);
		color: var(--black);
		flex-direction: column;
		height: auto;
	}

	.hero.style1:after {
		display: none; /* Hide scroll arrow on mobile */
	}

	.hero.style1 .media {
		height: auto;
		order: 2;
		position: relative;
	}

	.hero.style1 .media:after {
		display: none; /* No gradient overlay needed on mobile */
	}

	.hero.style1 .media img,
	.hero.style1 .media video {
		height: 432px; /* From Figma */
		object-fit: cover;
		width: 100%;
	}

	.hero.style1 article {
		align-items: center;
		display: flex;
		flex-direction: column;
		margin-top: 0;
		order: 1;
		padding: var(--text-spacing-xlarge) var(--container-outer-padding) var(--text-spacing-large); /* 48px top */
		text-align: center;
	}

	.hero.style1 .heading-4 {
		margin-bottom: var(--text-spacing-xsmall); /* 16px gap to buttons */
	}

	.hero.style1 .heading-4 .eyebrow {
		margin: 0 auto var(--text-spacing-xxsmall);
	}

	.hero.style1 .heading-4 .eyebrow.white {
		color: var(--black);
	}

	.hero.style1 .btn.primary.white {
		background: var(--black);
		color: var(--white);
		width: auto; /* Not full width */
	}

	.hero.style1 .btn.secondary {
		margin-left: 0;
		margin-top: var(--text-spacing-xsmall); /* 16px gap between buttons */
	}

	.hero.style1 .btn.secondary.white {
		color: var(--black);
	}

	.hero.style1 .btn.secondary.white .btn-icon {
		background: var(--crimson-red);
		color: var(--white);
	}

	/* Hero Style 3 */

	.hero.style3 > .grid {
		gap: var(--text-spacing-medium);
	}

	.hero.style3 .heading-1 .eyebrow {
		margin: 0 auto var(--text-spacing-xxsmall);
	}

	/* Text Style 1 */

	.text.style1 .container > article {
		grid-column: 1 / -1;
	}

	/* Text Style 2 */

	.text.style2 article {
		grid-column: 1 / -1;
	}

	.text.style2 .content-styles .heading-2 {
		margin: 0 0 var(--text-spacing-small);
	}

	/* Text Style 3 */

	.text.style3 article {
		margin: 0;
	}

	.text.style3 ul {
		gap: var(--text-spacing-medium);
	}

	.text.style3 ul > li + li {
		border-top: 1px solid var(--purple);
		padding-top: var(--text-spacing-medium);
	}

	.text.style3 li.grid {
		gap: var(--text-spacing-xsmall);
	}

	.text.style3 li .heading-3,
	.text.style3 li article {
		grid-column: 1 / -1;
		padding: 0;
	}

	.text.style3 li article:before {
		display: none;
	}

	/* Text + Media Style 1 */

	.text-media.style1 .container.grid {
		display: flex;
		flex-direction: column;
	}

	.text-media.style1 .media {
		margin: 0;
		order: 1;
		width: 100%;
	}

	.text-media.style1 .media:not(.image-collage) {
		aspect-ratio: 335 / 371; /* From Figma mobile */
	}

	.text-media.style1 .spinning-badge {
		background-size: 67px auto; /* Scale logomark: 101px * (160/240) */
		height: 160px;
		width: 160px;
	}

	.text-media.style1 article {
		padding-top: 94px; /* Space for badge overhang */
	}

	.text-media.style1.bkg-cream:before {
		display: none; /* Hide partial cream background on mobile */
	}

	.text-media.style1.bkg-cream {
		background: var(--cream); /* Full cream background on mobile */
	}

	/* Cards - Mobile overrides (inherits tablet horizontal scroll) */

	.cards ul {
		gap: var(--container-outer-padding); /* 20px on mobile */
	}

	.cards li {
		width: 303px; /* Fixed width from Figma mobile */
	}

	/* Text + Media Style 2 */

	.text-media.style2 {
		background: var(--white); /* White background on mobile */
		display: flex;
		flex-direction: column;
		height: auto;
		min-height: unset;
	}

	.text-media.style2 .animated-ticker {
		aspect-ratio: 375 / 208; /* From Figma mobile */
		height: auto;
		order: 1;
		position: relative; /* Contain slick dots */
	}

	.text-media.style2 .animated-ticker .slick-dots {
		bottom: -38px;
		left: 50%;
		right: unset;
		translate: -50% 0;
		z-index: 1;
	}

	.animated-ticker .slick-dots li button {
		background: var(--black-10);
	}

	.text-media.style2 article {
		color: var(--black); /* Black text on white background */
		order: 2;
		padding: 52px var(--container-outer-padding) var(--text-spacing-large);
		position: relative;
	}

	.text-media.style2 .heading-3 .eyebrow.white {
		color: var(--black);
	}

	.text-media.style2 .btn.primary.white {
		background: var(--black);
		border-color: var(--black);
		color: var(--white);
	}

	/* Upcoming Events - inherits tablet styles, only mobile-specific overrides */

	.upcoming-events ul {
		gap: var(--container-outer-padding); /* 20px on mobile */
	}

	/* CTA Style 1 - inherits tablet styles, only mobile-specific overrides */

	.cta.style1 .container.grid {
		gap: var(--text-spacing-medium); /* 32px from Figma */
	}

	/* CTA - Style 2 */

	.cta.style2 .flex-container.container {
		flex-wrap: wrap;
		text-align: center;
	}

	.cta.style2 .media {
		margin: 0 auto;
	}

	.cta.style2 .content-container {
		padding-left: 0;
		padding-right: 0;
	}

	.cta.style2 .content-container::before,
	.cta.style2 .content-container::after {
		height: calc(100% + 100px);
	}

	.cta.style2 .eyebrow,
	.cta.style2 .btn {
		margin-left: auto;
		margin-right: auto;
	}

	.cta.style2 .eyebrow {
		margin-bottom: var(--text-spacing-xxsmall);
	}

	/* Blog & Press/News */

	.blog-press-news li {
		min-width: calc(300 / 375 * 100vw);
	}

	.loop-press-news {
		padding: var(--text-spacing-medium) var(--text-spacing-small);
	}

	/* Youtube Carousel */

	.youtube-carousel .grid {
		display: flex;
		flex-direction: column;
	}

	.youtube-carousel [id^="sb_youtube_"].sb_youtube .sby_info {
		margin: var(--text-spacing-xxsmall) 0 0 !important;
	}

	.youtube-carousel .sb_youtube .sby_video_title {
		font-size: calc(18rem/16);
	}

	.youtube-carousel .sb_youtube .slick-track {
		gap: var(--text-spacing-xsmall);
	}

	.youtube-carousel .sb_youtube .sby_item {
		width: calc(100vw - (var(--container-outer-margin) * 2) - (var(--container-outer-padding) * 2) - var(--text-spacing-small)) !important;
	}

	.youtube-carousel .sb_youtube .sby_video_thumbnail::before,
	.youtube-carousel .sb_youtube .sby_video_thumbnail::after {
		height: var(--text-spacing-xxlarge) !important;
		width: var(--text-spacing-xxlarge) !important;
	}

	.youtube-carousel .sb_youtube .sby_video_thumbnail::after {
		background-position: calc(50% + 1px) center !important;
		background-size: 18px !important;
	}

	.youtube-carousel .heading-4 {
		margin-bottom: var(--text-spacing-xsmall);
		padding-right: 0 !important;
	}

	.youtube-carousel .sb_youtube .slick-slider {
		display: flex !important;
		flex-wrap: wrap;
	}

	.youtube-carousel .sb_youtube .slick-slider .slick-list {
		order: 1;
		width: 100%;
	}

	.youtube-carousel .sb_youtube .slick-arrow.slick-prev,
	.youtube-carousel .sb_youtube .slick-arrow.slick-next {
		bottom: auto;
		left: 0;
		margin-bottom: var(--text-spacing-medium);
		margin-top: var(--text-spacing-xsmall);
		order: 2;
		position: relative;
		right: auto;
		top: auto;
	}

	.youtube-carousel .sb_youtube .slick-arrow.slick-next {
		left: var(--text-spacing-xxsmall);
	}

	.youtube-carousel .sb_youtube .slick-arrow.slick-prev {
		transform: scale(-1, 1);
	}

	/* Logo Garden */

	.logo-garden .grid {
		grid-template-columns: 1fr;
	}

	.logo-garden li {
		grid-column: span 1;
	}

	.logo-garden .media {
		margin: 0 auto;
		max-width: 350px;
	}

	/* Media Carousel - Style 1 */

	.media-carousel.style1 .image-carousel .slick-track {
		gap: var(--text-spacing-xsmall);
	}

	.media-carousel.style1 .image-carousel img {
		max-height: 300px;
		max-width: 300px;
	}

	/* Media Carousel - Style 1 */

	.media-carousel.style3 .play,
	.video-lightbox a .btn.icon.hover-link {
		bottom: var(--text-spacing-xxsmall);
		left: var(--text-spacing-xxsmall);
	}

	.media-carousel.style3 .btn.icon {
		bottom: var(--text-spacing-xxsmall);
		right: var(--text-spacing-xxsmall);
	}

	/*** Post Archive ***/

	.post-hero:not(.event-hero) article {
		padding-left: 0;
	}

	.post-hero .heading-2 {
		font-size: calc(36rem/16);
		line-height: calc(46/36);
	}

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

	.featured-post .media {
		width: 100%;
	}

	.featured-post .content {
		padding: var(--text-spacing-small);
	}

	/*** Default Page ***/

	.post-content .wp-caption.alignnone,
	.shortcode {
		margin: var(--text-spacing-medium) 0;
	}

	/* Shortcode - CTA */

	.shortcode.cta {
		align-items: flex-start;
		flex-direction: column;
		gap: var(--text-spacing-xsmall);
		padding: var(--text-spacing-small);
	}

	.shortcode.cta .heading-5 {
		margin: 0 0 var(--text-spacing-xxsmall);
	}

	/* Shortcode - People */

	.staff-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Shortcode - video lightbox */

	.video-lightbox .heading-5:not(.mobile-only) {
		display: none;
	}

	.video-lightbox .heading-5.mobile-only {
		color: var(--black);
		left: unset;
		margin: 0 0 var(--text-spacing-xsmall);
		padding: unset;
		position: relative;
		top: unset;
	}

	.video-lightbox a .btn.icon.hover-link {
		bottom: var(--text-spacing-xxsmall);
		left: var(--text-spacing-xxsmall);
	}

	.accordion.active > :nth-child(n + 2) {
		padding-right: 0;
	}

	/*** Blog Single ***/

	.post-content .grid {
		display: flex;
		flex-direction: column;
	}

	.image-gallery .large-carousel {
		padding-bottom: var(--text-spacing-xxlarge);
	}

	.image-gallery .large-carousel p,
	.image-gallery .large-carousel .slide > .media {
		width: 100%;
	}

	.image-gallery .large-carousel .slide > .media {
		order: 1;
	}

	.image-gallery .large-carousel p {
		order: 2;
	}

	.image-gallery .thumbnail-carousel {
		margin-top: var(--text-spacing-xsmall);
		position: relative;
		width: 100%;
	}

	.image-gallery .slick-arrow {
		bottom: 0;
	}

	.archives-cta {
		border: none;
		border-radius: 0;
	}

	.archives-cta .heading-1 {
		font-size: calc(42rem/16);
		line-height: calc(52/42);
	}

	.archives-cta article {
		padding: 0 var(--text-spacing-small);
	}

	.archives-cta .btn {
		margin-top: var(--text-spacing-xsmall);
	}

	/*** Donate ***/

	.donation-form .embed-form {
		padding: var(--text-spacing-xxlarge) var(--text-spacing-small);
	}

	.page-template-page-donate .heading-2 {
		font-size: calc(28rem/16);
		line-height: 1.4;
	}

	.page-template-page-donate .text-media.style1 article {
		padding-top: 0;
	}

	/*** Livestream ***/

	.livestream ul.grid li {
		grid-column: span 1;
	}

	.newsletter-cta .flex-container {
		align-items: center;
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}

	.newsletter-modal .flex-container {
		padding: var(--module-spacing-xlarge) var(--text-spacing-small) var(--text-spacing-small);
	}

	.newsletter-modal .heading-2::before {
		display: none;
	}

	/*** Visit ***/

	.staff-quote .media {
		margin: 0;
	}

	.staff-quote article {
		text-align: left;
	}

	.staff-quote cite span {
		margin: 0;
	}

	.services article {
		align-items: flex-start;
		text-align: left;
	}

	.double-ctas::before {
		height: 75%;
	}

	.double-ctas article {
		grid-column: span 1;
	}

	/*** Blog Archive ***/

	.hero-archive > .container {
		display: flex;
		flex-direction: column;
	}

	.hero-archive .animated-ticker,
	.hero-archive .animated-ticker .slide {
		width: 100%;
	}

	.hero-archive .animated-ticker .slide,
	.hero-archive .animated-ticker a {
		height: calc(400rem / 16);
	}

	.hero-archive .animated-ticker a {
		aspect-ratio: unset;
	}

	.hero-archive .featured-cards ul {
		gap: var(--container-outer-padding);
	}

	.hero-archive .featured-cards li {
		width: calc(100vw - (3 * var(--container-outer-padding)));
	}

	.archive-content form,
	.loop-default {
		align-items: start;
		flex-wrap: wrap
	}

	.archive-content .search-sort,
	.loop-default .media,
	.loop-default::before {
		width: 100%;
	}

	.blog .archives-cta,
	.post-type-archive-press-news .archives-cta {
		background: var(--white);
	}

	/*** Staff Archive ***/

	.staff-group ul.grid {
		column-gap: var(--text-spacing-small);
		grid-template-columns: 1fr 1fr;
	}

	.staff-group ul.grid > li {
		grid-column: span 1;
	}

	.staff-group .open-dialog .media {
		margin-bottom: var(--text-spacing-xxsmall);
	}

	.staff-group .open-dialog .btn,
	.staff-group .open-dialog:hover .btn {
		color: transparent;
		height: var(--text-spacing-medium);
	}

	.staff-group .heading-5 {
		font-size: calc(18rem/16);
	}

	.staff-popup .close-popup.btn.icon.gray {
		background: var(--purple);
	}

	/*** Press News Archive ***/

	.loop-press-featured article {
		padding: var(--text-spacing-small);
	}

	.post-type-archive-press-news .archive-content article [jx-form-results-items] li {
		grid-column: span 1;
	}

	/*** Events Archive ***/

	.post-type-archive-events .archive-content article [jx-form-results-items] {
		gap: var(--text-spacing-medium);
	}

}

/***************************************************************************************************************************************************************************************/

/* ACCESSIBILITY REDUCE MOTIONS */

/***************************************************************************************************************************************************************************************/

@media (prefers-reduced-motion: no-preference) {

	html {
		scroll-behavior: smooth;
	}

	section {
		scroll-margin-top: 130px;
	}

	/*** LogoGarden Autoscroll ***/

	@keyframes autoscroll {
		0% {
			transform: translateX(var(--autoscroller-gap));
		}
		100% {
			transform: translateX(-100%)
		}
	}

	/*** JazzyScroll Animations ***/

	[data-jazzy-scroll] {
		pointer-events: none;
		transition-duration: .8s;
		transition-property: opacity, transform;
		transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}

	[data-jazzy-scroll].animated-in {
		pointer-events: all;
	}

	/* All fade ins */

	[data-jazzy-scroll*="fade-in"] {
		opacity: 0;
		transition-property: opacity;
	}

	[data-jazzy-scroll*="fade-in"].animated-in {
		opacity: 1;
	}

	/* Fade in up */

	[data-jazzy-scroll="fade-in-up"] {
		position: relative;
		transform: translate3d(0, 60px, 0);
		transition-property: opacity, transform;
	}

	[data-jazzy-scroll="fade-in-up"].animated-in {
		transform: translate3d(0, 0, 0);
	}

	/*** Header ***/

	header .mobile-menu span:not(.accessibility) {
		transition: .3s;
	}

	/*** Zoom Images ***/

	a:hover .image-zoom img,
	button.image-zoom:hover img {
		transform: scale(1.05);
	}

	/*** Bouncy Arrows ***/

	.hero.style1:after {
		animation: bouncy 2s ease infinite;
	}

	@keyframes bouncy {
		0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
		40% {transform: translateY(-15px);}
		60% {transform: translateY(-5px);}
	}

	/*** Spinning Badfe ***/

	.spinning-badge:after {
		animation: spinny 15s linear infinite;
	}

	@keyframes spinny {
		from {
			transform: rotate(0);
		}

		to {
			transform: rotate(360deg);
		}
	}

	/*** Animated Tickers ***/

	.animated-ticker .slick-dots li.slick-active button::before {
		animation: autoplay-slick-active 5.5s forwards;
	}

	@keyframes autoplay-slick-active {
		0% {
			transform: translateX(-100%);
		}
		100% {
			transform: translateX(0%);
		}
	}

	/**
	 * Marker popups ease in from the side of the pin they sit on — up from below when the
	 * popup is above the pin, down from above when it's flipped under. The individual scale
	 * and translate properties are used so they compose with the popup's own
	 * transform: translateX(-50%) rather than overwriting it.
	 */
	@keyframes map-marker-popup-in {
		from {
			opacity: 0;
			scale: .95;
			translate: 0 8px;
		}
		to {
			opacity: 1;
			scale: 1;
			translate: 0 0;
		}
	}

	@keyframes map-marker-popup-in-flipped {
		from {
			opacity: 0;
			scale: .95;
			translate: 0 -8px;
		}
		to {
			opacity: 1;
			scale: 1;
			translate: 0 0;
		}
	}

	.global-map .map-marker-popup:not([hidden]) {
		animation: map-marker-popup-in .22s cubic-bezier(.2, .8, .3, 1);
		transform-origin: 50% 100%;
	}

	.global-map .map-marker-popup.flip-y:not([hidden]) {
		animation-name: map-marker-popup-in-flipped;
		transform-origin: 50% 0;
	}

}


/***************************************************************************************************************************************************************************************/

/* TOOLBAR */

/***************************************************************************************************************************************************************************************/

body.admin-bar {
	--wp-admin-bar-height: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar {
		--wp-admin-bar-height: 46px;
	}
}

body.admin-bar header,
body.admin-bar .alert-bar,
body.admin-bar .sticky-menu {
	top: var(--wp-admin-bar-height);
}

@media only screen and (max-width: calc(75rem)) {
	body.admin-bar header {
		top: 0;
	}
}
