/*
Theme Name: GCAAP Empower
Theme URI: https://heliumstudio.com
Description: A Custom WordPress Theme
Author: HeliumStudio
Author URI: https://heliumstudio.com
Version: 20260909
*/

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

/* ==========================================

    HTML5 Reset

========================================== */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:bottom}body{line-height:1}button{font:inherit}button:focus{outline:none}:focus-visible{outline: 1px solid rgba(255, 255, 255, .8);outline-offset:2px;border-radius: 2px;}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type=text],input[type=button],input[type=submit],input[type=reset],input[type=search],input[type=password]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:60%;line-height:initial}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:1.2rem}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important}

/* ==========================================
    EMPOWER LANDING PAGE
========================================== */
html {
	scroll-behavior: smooth;
}
:root {
	/* Colors */
	--ep-gold: #ead8a1;
	--ep-light-gold: #f6f0e2;
	--ep-dark-gold: #aa8034;
	--ep-dark-green: #002a30;
	--ep-light-green: #0a4c55;
	--ep-lime-green: #b6d233;
	--ep-white: #ffffff;
	--ep-black: #000000;

	/* Typography */
	--ep-font-h1: 66px;
	--ep-font-h2: 66px;
	--ep-font-h3: 40px;
	--ep-font-h4: 30px;
	--ep-font-h5: 28px;
	--ep-font-body-sm: 15px;
	--ep-font-body: 17px;
	--ep-font-body-lg: 19px;

	/* Layout */
	--ep-site-width: 1440px;

	/* Spacing */
	--ep-space-xs: 10px;
	--ep-space-sm: 20px;
	--ep-space-md: 30px;
	--ep-space-lg: 50px;
	--ep-space-xl: 80px;

	/* Other */
	--ep-transition-base: 0.3s ease;
	--ep-transition-header: 0.5s ease;
}

#ep-page {
	/* Existing typography variable aliases */
	--font-h1: var(--ep-font-h1);
	--font-h2: var(--ep-font-h2);
	--font-h3: var(--ep-font-h3);
	--font-h4: var(--ep-font-h4);
	--font-h5: var(--ep-font-h5);
	--font-body-sm: var(--ep-font-body-sm);
	--font-body: var(--ep-font-body);
	--font-body-lg: var(--ep-font-body-lg);
	--line-height-base: var(--ep-line-height-base);

	/* Existing spacing aliases */
	--space-xs: var(--ep-space-xs);
	--space-sm: var(--ep-space-sm);
	--space-md: var(--ep-space-md);
	--space-lg: var(--ep-space-lg);
	--space-xl: var(--ep-space-xl);

	/* Existing color aliases */
	--color-primary-white: var(--ep-white);
	--color-primary-black: var(--ep-black);
	--color-text-primary: var(--ep-dark-green);
	--color-text-heading: var(--ep-dark-green);
	--color-link: var(--ep-light-green);

	/* Existing layout aliases */
	--site-width: var(--ep-site-width);
	--font-icon: var(--ep-font-icon);
	--transition-base: var(--ep-transition-base);
	--transition-header: var(--ep-transition-header);

	position: relative;
	width: 100%;
	min-height: 100vh;
	overflow-x: clip;
	font-family: "Barlow Condensed", sans-serif;
	font-size: var(--ep-font-body);
	font-weight: 300;
	line-height: 1;
	color: var(--ep-dark-green);
	background-color: var(--ep-white);
	-webkit-font-smoothing: antialiased;
}
	body.admin-bar {
	    --wp-admin-bar-height: 32px;
	}
	
	@media screen and (max-width: 782px) {
	    body.admin-bar {
	        --wp-admin-bar-height: 46px;
	    }
	}
	
	@media screen and (max-width: 1024px) {
	    :root {
	        --header-height: 60px;
	        --header-scrolled-height: 60px;
	    }
	}


/* ==========================================
    Scoped Reset
========================================== */



#ep-page button,
#ep-page input,
#ep-page select,
#ep-page textarea {
	font: inherit;
}

#ep-page button {
	border-radius: 0;
}

#ep-page button:focus {
	outline: none;
}

#ep-page :focus-visible {
	outline: 2px solid rgba(0, 42, 48, 0.7);
	outline-offset: 3px;
}

#ep-page ::selection {
	color: var(--ep-white);
	background-color: var(--ep-dark-green);
}

/* ==========================================
    Base Layout
========================================== */

#ep-page .row {
	position: relative;
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: var(--ep-site-width);
	margin: 0 auto;
}

#ep-page .row.full,
#ep-page .full {
	max-width: 100%;
	padding: 0;
}

#ep-page .row.inset,
#ep-page .inset {
	width: calc(100% - 60px);
}

#ep-page .narrow {
	max-width: 1140px;
}

#ep-page .narrower {
	max-width: 1024px;
}

#ep-page .panel-header {
	flex-direction: column;
	gap: var(--ep-space-xs);
	margin-bottom: var(--ep-space-lg);
}

/* ==========================================
    Typography
========================================== */

#ep-page h1,
#ep-page h2,
#ep-page h3,
#ep-page h4,
#ep-page h5,
#ep-page h6 {
	font-family: "Playfair Display", serif;
	line-height: 1;
	word-break: normal;
	overflow-wrap: break-word;
}

#ep-page h1 {
	margin: 0 0 var(--ep-space-sm);
	font-size: var(--ep-font-h1);
	font-weight: 700;
}

#ep-page h2 {
	margin: 0 0 var(--ep-space-xs);
	font-size: var(--ep-font-h2);
	font-weight: 500;
}

#ep-page h3 {
	margin: 0 0 var(--ep-space-xs);
	font-size: var(--ep-font-h3);
	font-weight: 400;
}

#ep-page h4 {
	margin: 0 0 var(--ep-space-xs);
	font-size: var(--ep-font-h4);
	font-weight: 600;
}

#ep-page h5 {
	margin: 0 0 var(--ep-space-xs);
	font-size: var(--ep-font-h5);
	font-weight: 500;
}

#ep-page p,
#ep-page ul,
#ep-page ol {
	margin-top: 0;
	margin-bottom: var(--ep-space-xs);
}

#ep-page p:last-child,
#ep-page ul:last-child,
#ep-page ol:last-child {
	margin-bottom: 0;
}

#ep-page a {
	text-decoration: none;
}
#ep-page a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

#ep-page em,
#ep-page i {
	font-weight: 300;
	font-style: italic;
}

#ep-page strong,
#ep-page b {
	font-weight: 600;
}

#ep-page .preheader {
	margin: 0;
	font-size: var(--ep-font-body-sm);
	font-weight: 500;
}

@media (max-width: 960px) {
	#ep-page {
		--ep-font-h1: 38px;
		--ep-font-h2: 36px;
		--ep-font-h3: 30px;
		--ep-space-lg: 40px;
		--ep-space-xl: 60px;
	}

	#ep-page .row.inset,
	#ep-page .inset {
		width: calc(100% - 40px);
	}
}

@media (max-width: 600px) {
	#ep-page {
		--ep-font-h1: 44px;
		--ep-font-h2: 44px;
		--ep-font-body: 16px;
		--ep-space-md: 25px;
		--ep-space-lg: 35px;
		--ep-space-xl: 50px;
	}
}

/* ==========================================
    Panel Options
========================================== */

#ep-page .middle {
	align-self: center;
}

#ep-page .row.header {
	flex: 1;
	margin-bottom: var(--ep-space-md);
}

#ep-page .header-text.text-left {
	flex: 1;
	text-align: left;
}

#ep-page .ep-bg-white {
	background-color: var(--ep-white);
}

#ep-page .ep-bg-gold {
	background-color: var(--ep-gold);
}

#ep-page .ep-bg-light-gold {
	background-color: var(--ep-light-gold);
}

#ep-page .ep-bg-dark-green {
	background-color: var(--ep-dark-green);
}

#ep-page .ep-bg-light-green {
	background-color: var(--ep-light-green);
}

#ep-page .text-dark {
	color: var(--ep-dark-green);
}

#ep-page .text-dark :where(h1, h2, h3, h4, h5, h6, p, li, i) {
	color: var(--ep-dark-green);
}

#ep-page .text-light {
	color: var(--ep-white);
}

#ep-page .text-light :where(h1, h2, h3, h4, h5, h6, p, li, i) {
	color: var(--ep-white);
}

/* ==========================================
    Animations
========================================== */

#ep-page .reveal {
	position: relative;
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}

#ep-page .reveal.active {
	opacity: 1;
	transform: translateY(0);
}

@keyframes ep-fade-up-hold {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes ep-fade-slide-up {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes ep-slide-in-arrow {
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes ep-push-headline {
	to {
		transform: translateX(20px);
	}
}

/* ==========================================
    Accessibility
========================================== */

@media (prefers-reduced-motion: reduce) {
	#ep-page *,
	#ep-page *::before,
	#ep-page *::after {
		box-sizing: border-box;
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	#ep-page .reveal {
		opacity: 1;
		transform: none;
	}
}


/* ------------------------------------------
    HERO PANEL
------------------------------------------ */

.ep-hero.row.full {
	position: relative;
	display: flex;
	min-height: 80vh;
	overflow: hidden;
	background-color: var(--ep-dark-green);
	border-top: 4px solid #debf7e;
}
.ep-hero-image {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.ep-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: rgba(0, 42, 48, 0.1);
	pointer-events: none;
}
.ep-hero-inner {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 80vh;
	padding-top: 22px;
	padding-bottom: 20px;
}


/* Hero navigation */

.ep-hero-nav {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: start;
	gap: 40px;
	width: 100%;
}
.ep-hero-header-logo {
	width: 265px;
	text-align: center;
}
.ep-hero-header-logo img,
.ep-hero-event-logo img {
	display: block;
	width: 100%;
	height: auto;
}
.ep-hero-jump-links {
	display: flex;
	align-items: center;
	padding-top: 14px;
}
.ep-hero-jump-links-left {
	justify-content: flex-start;
}
.ep-hero-jump-links-right {
	justify-content: flex-end;
}
.ep-hero-jump-links a {
	display: inline-flex;
	align-items: center;
	color: var(--ep-white);
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	transition: color 0.25s ease;
}
.ep-hero-jump-links a:not(:last-child)::after {
	content: '';
	display: block;
	width: 1px;
	height: 18px;
	margin: 0 12px;
	background-color: var(--ep-white);
}
.ep-hero-jump-links a:hover {
	color: var(--ep-gold);
	text-decoration: none;
}


/* Hero content */

.ep-hero-content.row {
	position: relative;
	z-index: 3;
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 0;
	color: var(--ep-light-gold);
	text-align: center;
}
.ep-hero-event-logo {
	width: min(100%, 660px);
	margin: 0 auto 10px;
}
.ep-hero-callout {
	margin-top: 16px;
	padding: 12px 20px;
	border: 1px solid var(--ep-gold);
	color: var(--ep-light-gold);
	font-family: "Playfair Display", serif;
	font-size: 20px;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
}


/* Hero animation */

.ep-hero-header-logo,
.ep-hero-jump-links,
.ep-hero-event-logo,
.ep-hero-callout {
	opacity: 0;
	transform: translateY(18px);
	animation: epHeroFadeUp 0.6s ease-out forwards;
}
.ep-hero-header-logo,
.ep-hero-jump-links {
	animation-delay: 0.15s;
}
.ep-hero-event-logo {
	animation-delay: 0.35s;
}
.ep-hero-callout {
	animation-delay: 0.55s;
}
.ep-buttons {
    gap: 20px;
    display: flex;
}
@keyframes epHeroFadeUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* Responsive */

@media (max-width: 1100px) {
	.ep-hero-nav {
		gap: 24px;
	}
	.ep-hero-header-logo {
		width: 140px;
	}
	.ep-hero-jump-links a:not(:last-child)::after {
		margin: 0 8px;
	}
}
@media (max-width: 850px) {
	.ep-hero.row.full,
	.ep-hero-inner {
		min-height: auto;
	}
	.ep-hero-inner {
		padding-top: 24px;
		padding-bottom: 24px;
	}
	.ep-hero-nav {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 14px;
	}
	.ep-hero-header-logo {
		order: 1;
		width: 135px;
	}
	.ep-hero-jump-links {
		justify-content: center;
		flex-wrap: wrap;
		padding-top: 0;
	}
	.ep-hero-jump-links-left {
		order: 2;
	}
	.ep-hero-jump-links-right {
		order: 3;
	}
	.ep-hero-content.row {
		margin-top: 45px;
	}
	.ep-hero-event-logo {
		width: min(100%, 480px);
		margin: 40px 0;
	}
}
@media (max-width: 600px) {
	.ep-hero.row.full {
		border-top-width: 3px;
	}
	.ep-hero-overlay {
		background: rgba(0, 42, 48, 0.68);
	}
	.ep-hero-inner {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.ep-hero-jump-links {
		row-gap: 10px;
	}
	.ep-hero-jump-links a {
		font-size: 14px;
		line-height: 1;
	}
	.ep-hero-jump-links a:not(:last-child)::after {
		height: 14px;
		margin: 0 7px;
	}
	.ep-hero-content.row {
		margin-top: 38px;
	}
	.ep-hero-event-logo {
		width: min(100%, 380px);
	}
	.ep-buttons {
		flex-wrap: wrap;
		margin-top: 18px;
	}
	.ep-btn {
		min-width: 115px;
		padding: 12px 16px;
		font-size: 14px;
	}
	.ep-hero-callout {
		padding: 11px 14px;
		font-size: 15px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.ep-hero-header-logo,
	.ep-hero-jump-links,
	.ep-hero-event-logo,
	.ep-hero-callout {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

/* ------------------------------------------
    INTRO CONTENT PANEL
------------------------------------------ */

#ep-page .ep-intro.row.full {
	position: relative;
	isolation: isolate;
	padding: 60px 0;
	overflow: hidden;
	background-color: var(--ep-white);
	background-image: var(--ep-intro-bg);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}

#ep-page .ep-intro.row.full::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	height: 40%;
	pointer-events: none;
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.75) 70%,
		var(--ep-white) 100%
	);
}
.ep-intro-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.ep-intro-logo {
	width: clamp(75px, 11vw, 130px);
	margin-bottom: 15px;
}
.ep-intro-logo img {
	display: block;
	width: 100%;
	height: auto;
}
.ep-intro-heading {
	max-width: 900px;
	margin: 0;
	color: var(--ep-dark-green);
	font-family: "Playfair Display", serif;
	font-weight: 400;
	line-height: 0.92;
	text-transform: uppercase;
}
.ep-intro-subhead {
	max-width: 1200px;
	margin-top: 12px;
	color: #92919B;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.1;
	max-width: 760px;
}
.ep-intro-subhead p,
.ep-intro-cochairs p,
.ep-intro-advisory p {
	margin: 0;
	font-weight: 500;
}
#ep-page .ep-intro-cochairs,
#ep-page .ep-intro-advisory {
	width: min(100%, 680px);
	max-width: 100%;
	text-align: center;
	box-sizing: border-box;
}


/* Co-chairs box */
#ep-page .ep-intro-cochairs {
	margin-top: 45px;
	padding: 16px 30px 18px;
	border: 1px solid var(--ep-gold);
	background-color: rgba(255, 255, 255, 0.75);
}
.ep-intro-chair-header {
	color: var(--ep-dark-green);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.15;
}
.ep-intro-chair-names {
	margin-top: 4px;
	color: #92919b;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.15;
}
.ep-intro-chair-header p,
.ep-intro-chair-names p {
	margin: 0;
}

/* Advisory committee box */
#ep-page .ep-intro-advisory {
	margin: 12px 0 0;
	padding: 16px 30px 18px;
	color: var(--ep-white);
	background: linear-gradient(
		135deg,
		#d9bb73 0%,
		#c99f4d 100%
	);
}
.ep-intro-advisory-header {
	margin-bottom: 6px;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.1;
}
.ep-intro-advisory-header p {
	margin: 0;
}
.ep-intro-advisory-names {
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
}
.ep-intro-advisory-names p {
	margin: 0;
}
.ep-intro-advisory-names ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 3px 40px;
	max-width: fit-content;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.ep-intro-advisory-names li {
	margin: 0;
	padding: 0;
}

@media (max-width: 760px) {
	.ep-intro-cochairs {
		margin-top: 35px;
		padding: 18px 20px;
	}
	.ep-intro-advisory {
		padding: 18px 20px;
	}
}
@media (max-width: 600px) {
	.ep-intro-advisory-names ul {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}
@media (max-width: 520px) {
	.ep-intro-advisory ul {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------------
    MOSAIC PANEL
------------------------------------------ */

#ep-page .ep-mosaic.row.full {
	padding: clamp(60px, 7vw, 60px) 0;
	background-color: var(--ep-white);
	text-align: center;
}
.ep-mosaic-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.ep-mosaic-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	max-width: 1040px;
}
.ep-mosaic-tile {
	position: relative;
	overflow: hidden;
}
.ep-mosaic-image-tile {
	background-color: var(--ep-light-green);
	position: relative;
}
.ep-mosaic-image-tile::after {
    content: '';
    position: absolute;
    inset: 45% 0 0;
    z-index: 1;
    background: linear-gradient(to bottom, transparent, rgba(0, 42, 48, 0.88));
    pointer-events: none;
}
.ep-mosaic-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.ep-mosaic-image-tile:hover .ep-mosaic-image {
	transform: scale(1.035);
}
.ep-mosaic-text-tile {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: linear-gradient(135deg, var(--ep-light-green) 0%, var(--ep-dark-green) 100%);
}
.ep-mosaic-text {
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	text-align: center;
	text-transform: uppercase;
}
.ep-mosaic-primary-text,
.ep-mosaic-accent-text {
	display: block;
}
.ep-mosaic-primary-text {
	color: var(--ep-white);
}
.ep-mosaic-accent-text {
	color: var(--ep-dark-gold);
}
.ep-mosaic-buttons {
	margin-top: 30px;
}

@media (max-width: 900px) {
	.ep-mosaic-text-tile {
		padding: 25px;
	}
}
@media (max-width: 700px) {
	.ep-mosaic-grid {
		grid-template-columns: 1fr;
	}
	.ep-mosaic-tile {
		aspect-ratio: 4 / 3;
	}
}
@media (prefers-reduced-motion: reduce) {
	.ep-mosaic-image {
		transition: none;
	}
}

/* ------------------------------------------
    GUESTS GRID PANEL
------------------------------------------ */

#ep-page .ep-guests.row.full {
	padding: 60px 0 0 0;
	background-color: var(--ep-white);
}
.ep-guests-inner {
	display: flex;
	flex-direction: column;
}
.ep-guests-heading {
	max-width: 780px;
	margin: 0 auto 20px;
	color: var(--ep-dark-green);
	font-family: "Playfair Display", serif;
	font-size: 66px;
	font-weight: 400;
	line-height: 0.92;
	text-align: center;
	text-transform: uppercase;
}
.ep-guests-grid {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	width: 100%;
}
.ep-guest {
	position: relative;
	grid-column: span 2;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: var(--ep-light-green);
}
.ep-guest:first-child {
	grid-column: 2 / span 2;
}
.ep-guest::after {
	content: '';
	position: absolute;
	inset: 45% 0 0;
	z-index: 1;
	background: linear-gradient(to bottom, transparent, rgba(0, 42, 48, 0.88));
	pointer-events: none;
}
.ep-guest-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.ep-guest:hover .ep-guest-image {
	transform: scale(1.035);
}
.ep-guest-name {
	position: absolute;
	left: clamp(18px, 1.8vw, 32px);
	bottom: clamp(18px, 1.6vw, 28px);
	z-index: 2;
	max-width: calc(100% - 60%);
	margin: 0;
	color: var(--ep-white);
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 0.9;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

@media (max-width: 1100px) {
	.ep-guests-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.ep-guest,
	.ep-guest:first-child {
		grid-column: span 1;
	}
}
@media (max-width: 760px) {
	.ep-guests-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 480px) {
	.ep-guests.row.full {
		padding: 60px 0;
	}
	.ep-guests-inner.row.inset {
		width: 100%;
	}
}
@media (prefers-reduced-motion: reduce) {
	.ep-guest-image {
		transition: none;
	}
}


/* ------------------------------------------
    CARD REPEATER PANEL
------------------------------------------ */

#ep-page .ep-cards.row.full {
	position: relative;
	padding: clamp(70px, 7vw, 110px) 0;
	background-color: var(--ep-dark-green);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}
.ep-cards-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.ep-cards-header {
	width: min(100%, 920px);
	margin: 0 auto clamp(35px, 4vw, 55px);
	text-align: center;
}
#ep-page .ep-cards-heading h2 {
	margin: 0;
	color: var(--ep-light-gold);
	background: linear-gradient(
		to bottom,
		#fff9e8 0%,
		#f6f0e2 25%,
		#ead8a1 62%,
		#c99f4d 100%
	);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-family: "Playfair Display", serif;
	font-weight: 400;
	line-height: 0.95;
	text-transform: uppercase;
}
.ep-cards-intro {
	margin-top: 18px;
	color: var(--ep-white);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 25px;
	font-weight: 500;
	line-height: 1.15;
}
.ep-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	width: min(100%, 920px);
}
.ep-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 280px;
	padding: 38px 20px 30px;
	background-color: var(--ep-white);
	color: var(--ep-dark-green);
	font-family: "Barlow Condensed", sans-serif;
	text-align: center;
}
.ep-card-heading {
	margin: 0;
	color: var(--ep-dark-green);
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}
.ep-card-amount {
	margin-top: 6px;
	color: #B4862F;
	font-size: 45px;
	font-weight: 600;
	line-height: 0.95;
}
.ep-card-text {
	margin-top: 14px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
}
.ep-cards-buttons {
	margin-top: clamp(40px, 5vw, 65px);
}
@media (max-width: 900px) {
	.ep-cards-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 600px) {
	.ep-cards-grid {
		grid-template-columns: 1fr;
		max-width: 420px;
	}
	.ep-card {
		min-height: 0;
	}
	.ep-cards-buttons {
		flex-wrap: wrap;
	}
}

/* ------------------------------------------
    SPONSOR / MEDIA LOGOS PANEL
------------------------------------------ */
#ep-page .ep-sponsorlogos.row.full {
	padding: clamp(3rem, 5vw, 5rem) 0;
	background-color: var(--ep-white);
}
.ep-sponsorlogos-inner.row {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
.ep-sponsorlogos-heading {
	margin: 0;
	color: var(--ep-dark-green);
	line-height: 1.05;
	text-align: center;
	text-transform: uppercase;
}
.ep-sponsorlogos-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	width: 100%;
}
.ep-sponsorlogos-item {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
}
.ep-sponsorlogos-link {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	text-decoration: none;
	transition: opacity 0.25s ease;
}
.ep-sponsorlogos-item .ep-sponsorlogos-image {
	display: block;
	width: auto;
	height: auto;
	max-width: auto;
	max-height: 6.5rem;
	margin: 0;
	object-fit: contain;
}
.ep-sponsorlogos-link:hover {
	opacity: 0.7;
}
.ep-sponsorlogos-link:focus-visible {
	outline: 2px solid var(--ep-light-green);
	outline-offset: 6px;
}
@media (max-width: 760px) {
	.ep-sponsorlogos-list {
		gap: 1.5rem;
	}
	.ep-sponsorlogos-item {
		flex: 0 1 calc(50% - 0.75rem);
		min-width: 0;
	}
	.ep-sponsorlogos-item .ep-sponsorlogos-image {
		max-height: 6.5rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.ep-sponsorlogos-link {
		transition: none;
	}
}


		
/* ------------------------------------------
    TWO COLUMN PANEL
------------------------------------------ */
#ep-page .ep-twocol.row.full {
	box-sizing: border-box;
	padding: 2rem 0;
	background-color: var(--ep-white);
}
.ep-twocol-inner.row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: clamp(2rem, 5vw, 6rem);
}
.ep-twocol-inner.ep-photo-left {
	flex-direction: row-reverse;
}
.ep-twocol-content {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
	text-align: left;
}
.ep-twocol-photo {
	flex: 0 0 22%;
	min-width: 0;
	aspect-ratio: 1;
	overflow: hidden;
}
.ep-twocol-photo .ep-twocol-image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
}
.ep-twocol-heading {
	margin: 0;
	color: var(--ep-dark-green);
	font-family: "Playfair Display", serif;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	max-width: 900px;
}
.ep-twocol-subheader {
	color: var(--ep-dark-green);
	font-family: "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}
.ep-twocol-copy,
.ep-twocol-copy p {
	color: #666;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.25;
}
.ep-twocol-subheader p,
.ep-twocol-copy > :first-child {
	margin-top: 0;
}
.ep-twocol-subheader p,
.ep-twocol-copy > :last-child {
	margin-bottom: 0;
}
.ep-twocol-button {
	margin-top: 0.5rem;
}
@media (max-width: 1024px) {
	.ep-twocol-inner.row,
	.ep-twocol-inner.row.ep-photo-left {
		flex-direction: column;
		align-items: stretch;
		gap: 2rem;
	}
	.ep-twocol-photo {
		order: -1;
		flex: none;
		width: min(100%, 25rem);
		margin: 0 auto;
	}
}

/* ------------------------------------------
    FOOTER PANEL
------------------------------------------ */

#ep-page .ep-footer {
	position: relative;
	background-color: var(--ep-dark-green);
	background-image: var(--ep-footer-bg, none);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.ep-footer-inner.row {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.75rem;
	text-align: center;
	font-family: "Montserrat", sans-serif;
	padding:40px 0;
}
.ep-footer-logo {
	width: min(100%, 25rem);
}
.ep-footer-logo img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}
#ep-page .ep-footer-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem 0;
}
#ep-page .ep-footer-nav a {
	display: inline-flex;
	align-items: center;
	color: var(--ep-white);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	text-transform: uppercase;
}

#ep-page .ep-footer-nav a:not(:last-child)::after {
	content: "|";
	margin: 0 1rem;
	color: var(--ep-white);
	font-weight: 400;
}
.ep-footer .ep-footer-social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ep-footer-social li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ep-footer-social li::before,
.ep-footer-social li::after {
	content: none;
}
.ep-footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	color: var(--ep-lime-green);
	font-size: 1.4rem;
	text-decoration: none;
}
.ep-footer .ep-footer-copyright {
	margin: 0;
	color: var(--ep-light-gold);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 16px;
	line-height: 1.5;
}
.ep-footer-copyright a {
	color: inherit;
	text-decoration: none;
}
.ep-footer a {
	transition: color 0.2s ease;
}
.ep-footer a:hover {
	color: var(--ep-gold);
}
.ep-footer a:focus-visible {
	outline: 2px solid var(--ep-gold);
	outline-offset: 4px;
}
@media (max-width: 600px) {
	.ep-footer.row.full {
		padding-top: 2.5rem;
	}
	.ep-footer-logo {
		width: min(100%, 15rem);
	}
	.ep-footer-nav {
		gap: 0.75rem 1rem;
	}
	.ep-footer-nav a {
		font-size: 0.8rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.ep-footer a {
		transition: none;
	}
}
	
/* ==========================================

    Buttons

========================================== */


#ep-page .ep-btn {
	position: relative;
	z-index: 1;
	display: inline-block;
	min-width: 120px;
	margin: 0;
	padding: 13px 18px;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: linear-gradient(
		105deg,
		#f1dda0 0%,
		#d7b45f 55%,
		#b88932 100%
	);
	color: var(--ep-white);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background 0.3s ease,
		box-shadow 0.3s ease,
		color 0.3s ease,
		transform 0.3s ease;
}

#ep-page .ep-btn.ghost {
	border: 0;
	background: linear-gradient(
		105deg,
		rgba(0, 42, 48, 0.82) 0%,
		rgba(10, 76, 85, 0.72) 100%
	);
	box-shadow: inset 0 0 0 1px #d8bd78;
	color: var(--ep-white);
}

#ep-page .ep-btn:hover,
#ep-page .ep-btn:focus-visible {
	border-color: var(--ep-light-gold);
	background: linear-gradient(
		105deg,
		#b88932 0%,
		#d7b45f 45%,
		#f1dda0 100%
	);
	color: var(--ep-dark-green);
	text-decoration: none;
	transform: translateY(-2px);
}

#ep-page .ep-btn.ghost:hover,
#ep-page .ep-btn.ghost:focus-visible {
	border-color: var(--ep-light-gold);
	background: linear-gradient(
		105deg,
		#ead8a1 0%,
		#c79c48 100%
	);
	color: var(--ep-dark-green);
}

#ep-page .ep-btn.green {
	border-color: var(--ep-dark-green);
	background: linear-gradient(
		105deg,
		#002a30 0%,
		#0a4c55 100%
	);
	color: var(--ep-white);
}

#ep-page .ep-btn.green:hover,
#ep-page .ep-btn.green:focus-visible {
	border-color: var(--ep-gold);
	background: linear-gradient(
		105deg,
		#ead8a1 0%,
		#c79c48 100%
	);
	color: var(--ep-dark-green);
}


/* ------------------------------------------
    NOT FOUND / 404
------------------------------------------ */

.notfound-panel.row.full {
    min-height: calc(100vh);
    display: flex;
    align-items: center;
    text-align: left;
	position: relative;
	overflow: hidden;
	background-color: var(--ep-dark-green);
}



.notfound-content h1 {
	font-size: 10rem;
	line-height: 1;
    font-weight: 600;
	color: var(--ep-white);
	margin-bottom: 0;
	text-shadow: 0 0 8px rgba(0, 0, 0, .6);
}
.notfound-content h2 {
	font-size: 4rem;
	color: var(--ep-white);
	text-shadow: 0 0 8px rgba(0, 0, 0, .6);
	margin-bottom: 30px;
}
.notfound-content p, 
.notfound-content a {
	color: var(--ep-white);
	margin-bottom: 30px;
	text-shadow: 0 0 8px rgba(0, 0, 0, .6);
	line-height: 1.5;
}
.notfound-content {
	width: 100%;
	text-align: center;
	color: var(--ep-white);
	margin-bottom: 30px;
}
	@media screen and (max-width: 760px) {
		.notfound-content h1 {
			font-size: var(--font-h1);
		}
}		



/* ==========================================

    Hides & Fixes

========================================== */

.print-only, .hide, .hidden { display: none !important; visibility: hidden; }
body img.gform_ajax_spinner { display: none !important; }

/* ==========================================

    Media: Mobile

========================================== */

@media print {
	#site-header {display: none;}
	.print-only { display: block!important; visibility: visible;}
	* { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
	a, a:visited { text-decoration: underline; }
	pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
	thead { display: table-header-group; }
	tr, img { page-break-inside: avoid; }
	img { max-width: 100% !important; }
	@page { margin: 0.5cm; }
	p, h2, h3 { orphans: 3; widows: 3; }
	h2, h3 { page-break-after: avoid; }
}