@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;700;900&display=swap');

/* Header font */
@font-face {
	font-family: "Espiritu";
  	src:
    		url("/events/2026/fonts/espiritu/espiritu.woff2") format("woff2"),
    		url("/events/2026/fonts/espiritu/espiritu.woff") format("woff");
  	font-weight: 700;          /* adjust to your file */
  	font-style: normal;
  	font-display: swap;        /* avoid invisible text */
}

/* Condensed/subhead font */
@font-face {
  	font-family: "Espiritu Narrow";
  	src:
    		url("/events/2026/fonts/espiritu/espiritu-condensed.woff2") format("woff2"),
    		url("/events/2026/fonts/espiritu/espiritu-condensed.woff") format("woff");
  	font-weight: 400;
  	font-style: normal;
  	font-display: swap;
}

@font-face {
  	font-family: "Tropicalisimo";
  	src:
    		url("/events/2026/fonts/tropicalisimo/tropicalisimo.woff2") format("woff2"),
    		url("/events/2026/fonts/tropicalisimo/tropicalisimo.woff") format("woff");
  	font-weight: 400;
  	font-style: normal;
  	font-display: swap;
}

@font-face {
  	font-family: "Tropical Times";
  	src:
    		url("/events/2026/fonts/tropical-times/tropical-times.woff2") format("woff2"),
    		url("/events/2026/fonts/tropical-times/tropical-times.woff") format("woff");
  	font-weight: 400;
  	font-style: normal;
  	font-display: swap;
}

@font-face {
  	font-family: "KLG Sailor Rough Bold";
  	src:
    		url("/events/2026/fonts/klg-sailor/KLGSailorRoughBold.woff") format("woff");
  	font-weight: 700;
  	font-style: bold;
  	font-display: swap;
}

:root{
  	--epi-red: #d55b4c;
  	--epi-blue: #447aa7;
  	--epi-yellow: #ffc31e;

  	/* menu sizing (yours) */
  	--fp-btn-size: 56px;
  	--fp-btn-offset: 22px;
  	--fp-scrollbar: 0px;
  	--fp-btn-radius: calc(var(--fp-btn-size) / 2);
  	--fp-origin-x: calc(100% - (var(--fp-btn-offset) + var(--fp-scrollbar)) - var(--fp-btn-radius));
  	--fp-origin-y: calc(var(--fp-btn-offset) + var(--fp-btn-radius));

  	/* menu theme tokens (defaults) */
  	--fp-btn-bg: var(--epi-blue);
  	--fp-btn-bg-hover: var(--epi-blue);
  	--fp-icon-color: var(--epi-yellow);
  	--fp-overlay-bg: rgba(68,122,167,.92);
  	--fp-close-bg: rgba(255,255,255,.08);
  	--fp-close-color: var(--epi-yellow);
	
	/* ===== MENU TEXT VARIABLES ===== */
  	--fp-menu-text: #ffffff;
  	--fp-menu-hover-outline: var(--epi-yellow);
  	--fp-menu-hover-bg: rgba(255,195,30,.12);
  	--fp-menu-focus-outline: var(--epi-yellow);
}

html, body { height: 100%; color:#3A3A3A; }
body { background: #000; }

/* Facebook */
.text-fb {
    color: #1877F2;
}

/* Instagram Gradient */
.text-ig {
    background: linear-gradient(
        45deg,
        #f09433,
        #e6683c,
        #dc2743,
        #cc2366,
        #bc1888
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* YouTube */
.text-yt {
    color: #FF0000;
}

.speaker-1-facts{
	background-color: #ffcf4f;
	font-size: .85rem;
	box-shadow: 0 8px 20px rgba(20, 48, 79, 0.12);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.speaker-2-facts{
	background-color: #d55b4c;
	font-size: .85rem;
	box-shadow: 0 8px 20px rgba(20, 48, 79, 0.12);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.speaker-img{
	width:100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 8px 20px rgba(20, 48, 79, 0.12);
	transform: rotate(-1.5deg);
}

.speaker-1-facts:hover,
.speaker-2-facts:hover{
	transform: translateY(-5px);
	box-shadow: 0 12px 28px rgba(68, 122, 167, 0.22);
}

.speaker-img:hover{
	transform: translateY(-5px) rotate(1deg);
	box-shadow: 0 12px 28px rgba(68, 122, 167, 0.22);
}

@media only screen and (min-width: 992px) {
	.speaker-1-facts{
		font-size: .85rem;
		max-width: 350px;
		bottom:100px;
		position:absolute;
	}

	.speaker-2-facts{
		font-size: .85rem;
		max-width: 350px;
		bottom:100px;
		right:0;
		position:absolute;
	}

	.speaker-img{
		width:initial;
	}

}

/* When you're over BLUE sections: use YELLOW button so it pops */
body.menu-theme-blue{
  	--fp-btn-bg: var(--epi-yellow);
  	--fp-btn-bg-hover: var(--epi-yellow);
  	--fp-icon-color: var(--epi-blue);
  	--fp-overlay-bg: rgba(255,195,30,.92);
  	--fp-close-bg: rgba(0,0,0,.18);
  	--fp-close-color: var(--epi-yellow);
	
	--fp-menu-text: var(--epi-blue);
  	--fp-menu-hover-outline: var(--epi-red);
  	--fp-menu-hover-bg: rgba(213,91,76,.12);
  	--fp-menu-focus-outline: var(--epi-red);
}

/* When you're over RED sections: blue button stands out great */
body.menu-theme-red{
  	--fp-btn-bg: #f5f5f5;
  	--fp-btn-bg-hover: #f5f5f5;
  	--fp-icon-color: var(--epi-red);
  	--fp-overlay-bg: rgba(245,245,245,.92);
  	--fp-close-bg: rgba(255,255,255,.10);
  	--fp-close-color: var(--epi-yellow);

	--fp-menu-text: var(--epi-red);
  	--fp-menu-hover-outline: var(--epi-yellow);
  	--fp-menu-hover-bg: rgba(255,195,30,.15);
  	--fp-menu-focus-outline: var(--epi-yellow);
}

/* When you're over LIGHT/WHITE sections: blue button */
body.menu-theme-light{
  	--fp-btn-bg: var(--epi-blue);
  	--fp-btn-bg-hover: var(--epi-blue);
  	--fp-icon-color: var(--epi-yellow);
	--fp-overlay-bg: rgba(68,122,167,.92);
  	--fp-close-bg: rgba(0,0,0,.18);
  	--fp-close-color: var(--epi-yellow);

	--fp-menu-text: var(--epi-yellow);
  	--fp-menu-hover-outline: #f5f5f5;
  	--fp-menu-hover-bg: rgba(245,245,245,.15);
  	--fp-menu-focus-outline: #f5f5f5;
}

/* Optional: if you ever have very dark sections */
body.menu-theme-dark{
  	--fp-btn-bg: rgba(255,255,255,.12);
  	--fp-btn-bg-hover: rgba(255,255,255,.18);
  	--fp-icon-color: var(--epi-yellow);
  	--fp-overlay-bg: rgba(10,10,10,.92);
  	--fp-close-bg: rgba(255,255,255,.10);
  	--fp-close-color: var(--epi-yellow);

	--fp-menu-text: #ffffff;
  	--fp-menu-hover-outline: var(--epi-yellow);
  	--fp-menu-hover-bg: rgba(255,195,30,.15);
  	--fp-menu-focus-outline: var(--epi-yellow);
}

.fp-menu-btn{
  	position: fixed;
  	top: var(--fp-btn-offset);
  	right: calc(var(--fp-btn-offset) + var(--fp-scrollbar));
  	width: var(--fp-btn-size);
  	height: var(--fp-btn-size);
  	border-radius: 999px;
  	border: 0;
  	background: var(--fp-btn-bg);
	backdrop-filter: blur(8px);
  	-webkit-backdrop-filter: blur(8px);
  	z-index: 9999;
  	display: grid;
  	place-items: center;
  	cursor: pointer;
  	transition: transform .2s ease, background .2s ease;
}

.fp-menu-btn:hover{ transform: scale(1.05); background: var(--fp-btn-bg-hover); }
.fp-menu-btn:active{ transform: scale(.96); }
.fp-menu-btn:focus-visible{ outline: 3px solid rgba(255,193,7,.9); outline-offset: 3px; }

.fp-menu-icon{
  	width: 22px;
  	height: 2px;
  	background: var(--fp-icon-color);
  	position: relative;
  	border-radius: 2px;
  	transition: background .25s ease;
}

.fp-menu-icon::before,
.fp-menu-icon::after{
  	content:"";
  	position:absolute;
  	left:0;
  	width: 22px;
  	height: 2px;
  	background: var(--fp-icon-color);
  	border-radius: 2px;
  	transition: transform .25s ease, top .25s ease;
}
.fp-menu-icon::before{ top:-7px; }
.fp-menu-icon::after{ top:7px; }

.fp-menu-btn.is-open .fp-menu-icon{ background: transparent; }
.fp-menu-btn.is-open .fp-menu-icon::before{ top:0; transform: rotate(45deg); }
.fp-menu-btn.is-open .fp-menu-icon::after{ top:0; transform: rotate(-45deg); }

.fp-menu-overlay{
  	position: fixed;
  	inset: 0;
  	z-index: 9998;
  	background: var(--fp-overlay-bg);
  	backdrop-filter: blur(12px);
  	-webkit-backdrop-filter: blur(12px);
  	-webkit-clip-path: circle(var(--fp-btn-radius) at var(--fp-origin-x) var(--fp-origin-y));
  	clip-path: circle(var(--fp-btn-radius) at var(--fp-origin-x) var(--fp-origin-y));

  	transition: clip-path .7s cubic-bezier(.2,.9,.2,1),
              -webkit-clip-path .7s cubic-bezier(.2,.9,.2,1);

  	will-change: clip-path, -webkit-clip-path;

  	pointer-events: none;
}

.fp-menu-overlay.is-open{
  	pointer-events: auto;
  	-webkit-clip-path: circle(150vmax at var(--fp-origin-x) var(--fp-origin-y));
  	clip-path: circle(150vmax at var(--fp-origin-x) var(--fp-origin-y));
}

.fp-menu-panel{
  	position: absolute;
  	inset: 0;
  	display: grid;
  	place-items: center;
  	opacity: 0;
  	transform: translateY(16px);
  	transition: opacity .3s ease, transform .3s ease;
  	pointer-events: none;
}

.fp-menu-overlay.is-open .fp-menu-panel{
  	opacity: 1;
  	transform: translateY(0);
  	transition-delay: .15s;
  	pointer-events: auto;
}

.fp-menu-nav{
  	display: grid;
  	gap: 22px;
  	text-align: center;
	font-family: "Espiritu Narrow", system-ui, sans-serif;
      	text-transform: uppercase;
}

.fp-menu-link{
  	font-size: clamp(1.6rem, 3vw, 2.5rem);
  	font-weight: 800;
  	letter-spacing: .02em;
  	text-decoration: none;
  	 color: var(--fp-menu-text);
  	padding: 10px 24px 30px;
  	border-radius: 18px;
  	transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}

.fp-menu-link:hover{
  	background: var(--fp-menu-hover-bg);
  	box-shadow: 0 0 0 2px var(--fp-menu-hover-outline) inset;
  	transform: translateY(-2px);
}

.fp-menu-link:focus-visible{
  	outline: 3px solid var(--fp-menu-focus-outline);
  	outline-offset: 3px;
}

.fp-menu-close{
  	position: absolute;
  	top: var(--fp-btn-offset);
  	right: calc(var(--fp-btn-offset) + var(--fp-scrollbar));
  	width: var(--fp-btn-size);
  	height: var(--fp-btn-size);
  	border-radius: 999px;
  	border: 0;
  	background: var(--fp-close-bg);
  	color: var(--fp-close-color);
  	font-size: 28px;
  	line-height: 1;
  	display: grid;
  	place-items: center;
  	cursor: pointer;
  	transition: transform .2s ease, background .2s ease;
}

.fp-menu-close:hover{ transform: scale(1.05); background: rgba(255,255,255,.15); }
.fp-menu-close:active{ transform: scale(.96); }

body.fp-menu-lock{
  	overflow: hidden;
  	padding-right: var(--fp-scrollbar); /* keeps layout from shifting */
}

/*
@media (prefers-reduced-motion: reduce){
  	.fp-menu-overlay,
  	.fp-menu-panel,
  	.fp-menu-btn,
  	.fp-menu-icon,
  	.fp-menu-icon::before,
  	.fp-menu-icon::after{
    		transition: none !important;
  	}
}
*/

/* ===== HERO ===== */
.hero {
	position: relative;
      	min-height: 90svh;            /* supports mobile dynamic viewport */
      	display: grid;
      	place-items: center;           /* center content vertically & horizontally */
      	text-align: center;
      	color: #fff;
      	overflow: hidden;
}

/* Background video covers viewport */
.hero video.bg-video {
	position: fixed;               /* stays put if the page grows */
      	inset: 0;
      	width: 100%;
      	height: 100%;
      	object-fit: cover;
      	z-index: -2;
}

/* Darken to improve text contrast */
.hero::before {
      	content: "";
      	position: fixed;
      	inset: 0;
      	background: rgba(68,122,167,0.7);  /* tweak darkness here */
      	z-index: -1;
}

.btn-impact {
  	font-family: "Espiritu Narrow", system-ui, sans-serif;
  	letter-spacing: .08em;
  	text-transform: uppercase;

  	display: inline-flex;
  	align-items: center;
  	justify-content: center;
	font-size: 1.2rem;
    	font-weight: bold;
}

.btn-impact {
    	padding-top: 0.3em;
    	padding-bottom: 1rem;
    	line-height: 1;
}

h4.lead {
  	margin-bottom: 0;        /* remove default spacing */
  	display: flex;
  	align-items: center;
  	line-height: 1;
}

h4.lead {
  	position: relative;
  	top: -10px; /* try -1px to -3px depending on your eye */
}

.hero .hero-reg-wrap{
	margin-top: 0.5rem;
}

.hero .hero-reg-text{
	font-family: "Espiritu Narrow", system-ui, sans-serif;
	display: block;
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
	text-align: center;
}

.hero .hero-reg-btn{
	font-size: clamp(1.35rem, 2.1vw, 1.9rem);
	padding: 0.85rem 2rem 1.25rem 2rem;
	min-height: 66px;
	border-radius: 0.65rem;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
}

@media (max-width: 767.98px) {
	.hero .hero-reg-text{
		width: 100%;
	}

	.hero .hero-reg-btn{
		width: min(100%, 360px);
	}
}

.text-danger{
	color: var(--epi-red) !important;
}

.text-primary{
	color: var(--epi-blue) !important;
}

.text-warning{
	color: var(--epi-yellow) !important;
}

/* Content */
h1, h2, h3{
	font-family: "Espiritu", system-ui, sans-serif;
      	text-transform: uppercase;
}

/*h1, h2, h3{
	font-family: "KLG Sailor Rough Bold", system-ui, sans-serif;
	font-size: 2.5rem;
}*/

h4, h5{
	font-family: "Espiritu Narrow", system-ui, sans-serif;
      	letter-spacing: .08em;
      	text-transform: uppercase;
}

img.title-icon{
	max-width: 100px;
}

.kicker {
	font-family: "Espiritu Narrow", system-ui, sans-serif;
      	letter-spacing: .08em;
      	text-transform: uppercase;
      	color: var(--epi-yellow);
      	font-size: clamp(.8rem, 2vw, 1.44rem);
    	position: relative;
    	right: 126px;
    	top: 64px;
}

.kicker-mobile{
	font-family: "Espiritu Narrow", system-ui, sans-serif;
	letter-spacing: .08em;
      	text-transform: uppercase;
      	color: var(--epi-yellow);
	font-size: 1.44rem;
}

.impact-title {
	font-family: "Espiritu", system-ui, sans-serif;
      	font-weight: 700;
      	line-height: .95;
      	font-size: clamp(2.2rem, 10vw, 8rem);
      	color: #fff;
      	text-shadow: 0 2px 12px rgba(0,88,161,.25);
}	

.btn-epi {
	--bs-btn-color: #fff;
      	--bs-btn-border-color: var(--epi-yellow);
      	--bs-btn-hover-bg: var(--epi-yellow);
      	--bs-btn-hover-border-color: var(--epi-yellow);
      	--bs-btn-active-bg: var(--epi-yellow);
      	--bs-btn-active-border-color: var(--epi-yellow);
 	font-family: "Espiritu", system-ui, sans-serif;
	color: var(--epi-yellow);
      	border-color: var(--epi-yellow);
	border:4px solid;
      	font-weight: 700;
      	letter-spacing: .04em;
      	text-transform: uppercase;
      	padding: .7rem 1.25rem;
      	background: transparent;
}

section.savethedate{
	background-color:#fff;
	/*background-image:url('/events/2026/images/background/blue-watercolor.jpg');*/
}

#about .card{
	border: 1px solid rgba(68, 122, 167, 0.12);
	box-shadow: 0 8px 20px rgba(20, 48, 79, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	overflow: hidden;
}

#about .card:hover{
	transform: translateY(-5px);
	box-shadow: 0 12px 28px rgba(68, 122, 167, 0.22);
}

#about .card-img-top{
	transform: rotate(-1.25deg) scale(1.03);
	transform-origin: center center;
	transition: transform 0.35s ease;
}

#about .card:hover .card-img-top{
	transform: rotate(1deg) scale(1.06);
}

#training img{
	transform: rotate(-1.25deg);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
	box-shadow: 0 8px 20px rgba(20, 48, 79, 0.12);
}

#training img:hover{
	transform: translateY(-5px) rotate(1deg);
	box-shadow: 0 12px 28px rgba(68, 122, 167, 0.22);
}

img.seperator{
	height: 30px;
}

section.whatsimpact{
	/*background-color:var(--epi-blue);
	color: #ffffff;*/
}

section.partners{
	background-color:#fff;
	background-image:url('/events/2026/images/background/blue-watercolor.jpg');
	background-position:center top;
	background-size:cover;
	background-attachment: fixed;
}

section.sponsors{
	background-color:var(--epi-red);
}

img.sponsor-lg{
	width: auto;
  	height: auto;
  	max-width: 70%;
	max-height: 30px;
}

img.sponsor-sm{
	width: auto;
  	height: auto;
  	max-width: 90%;
	max-height: 30px;
}

section.subscribe{
	background-color:#fff;
	background-image:url('/events/2026/images/background/red-watercolor.jpg');
	background-position:center 80%;
	background-size:cover;
	background-attachment: fixed;
}

section.registration{
	position: relative;
	overflow: hidden;
	background-color: rgb(68, 122, 167);
}

section.registration::before{
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(180deg, rgba(68, 122, 167, 1), rgba(68, 122, 167, 0.85)),
		url('/events/2026/images/background/56cb558d13265c483f654d754527ee5f-xxlarge.jpg');
	background-position: center center, center center;
	background-size: auto, cover;
	background-repeat: no-repeat, no-repeat;
	background-attachment: scroll, fixed;
	pointer-events: none;
}

section.registration .container{
	position: relative;
	z-index: 1;
}

.registration-card{
	background: rgba(255, 255, 255, 0.82);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(68, 122, 167, 0.2);
	box-shadow: 0 8px 20px rgba(20, 48, 79, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.registration-card:hover{
	transform: translateY(-5px);
	box-shadow: 0 12px 28px rgba(68, 122, 167, 0.22);
}

.registration-list{
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.registration-list li{
	--ticket-cut-x: 6.15rem;
	position: relative;
	margin-bottom: 0.9rem;
	padding: 1.3rem 1.25rem 1.2rem 8rem;
	background:
		radial-gradient(circle at var(--ticket-cut-x) -12px, rgb(68, 122, 167) 13px, transparent 14px),
		radial-gradient(circle at var(--ticket-cut-x) calc(100% + 12px), rgb(68, 122, 167) 13px, transparent 14px),
		linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)),
		url('/events/2026/images/icons/26-icon.svg') right -8px center / 38% auto no-repeat,
		linear-gradient(90deg, #ffffff, #f6f8fa 70%);
	border: 1px solid rgba(68, 122, 167, 0.22);
	border-radius: 1rem;
	color: #1f3146;
	font-weight: 600;
	box-shadow: 0 10px 22px rgba(20, 48, 79, 0.12);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	overflow: hidden;
}

.registration-list li::before{
	content: "";
	position: absolute;
	left: var(--ticket-cut-x);
	top: 0.75rem;
	bottom: 0.75rem;
	border-left: 4px dashed rgba(68, 122, 167, 0.75);
}

.registration-list li:hover{
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(68, 122, 167, 0.28);
}

.registration-list li:last-child{
	margin-bottom: 0;
}

.registration-list li::before{
	pointer-events: none;
}

.registration-list .ticket-date-stub{
	position: absolute;
	left: 1.75rem;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1;
	pointer-events: none;
}

.registration-list .ticket-date-day{
	font-family: "Espiritu", "Barlow", sans-serif;
	font-size: 1.4rem;
	letter-spacing: 0.01em;
	color: rgba(213, 91, 76, 0.96);
	margin-top:10px
}

.registration-list .ticket-date-month{
	font-family: "Espiritu Narrow", "Barlow", sans-serif;
	font-size: 2rem;
	letter-spacing: 0.05em;
	color: rgba(68, 122, 167, 0.95);
}

.registration-list .ticket-amount{
	display: block;
	font-family: "Espiritu", "Barlow", sans-serif;
	font-size: 2.25rem;
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--epi-red);
}

.registration-list .ticket-cents{
	font-size: 0.48em;
	vertical-align: top;
	margin-left: 0.05em;
}

.registration-list .ticket-title{
	display: block;
	font-family: "Barlow", sans-serif;
	font-size: 1.25rem;
	line-height: 1.1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #1f405f;
	margin-top: 0.15rem;
	font-weight: 900;
}

.registration-list .ticket-meta{
	display: block;
	font-family: "Barlow", sans-serif;
	font-size: 0.85rem;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: rgba(47, 76, 103, 0.58);
	font-weight: 700;
}

.registration-list .ticket-meta2{
	display: block;
	font-family: "Barlow", sans-serif;
	font-size: 0.65rem;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: rgba(47, 76, 103, 0.58);
	font-weight: 400;
}

.registration-list-2{
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.registration-list-2 li{
	--ticket-cut-x-2: 0rem;
	position: relative;
	margin-bottom: 0.9rem;
	padding: 1.3rem;
	background:
			radial-gradient(circle at var(--ticket-cut-x-2) -12px, rgb(68, 122, 167) 13px, transparent 14px),
			radial-gradient(circle at var(--ticket-cut-x-2) calc(100% + 12px), rgb(68, 122, 167) 13px, transparent 14px),
			linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)),
			url('/events/2026/images/icons/26-icon.svg') right -8px center / 38% auto no-repeat,
			linear-gradient(90deg, #ffffff, #f6f8fa 70%);
	border: 1px solid rgba(68, 122, 167, 0.22);
	border-radius: 1rem;
	color: #1f3146;
	font-weight: 600;
	box-shadow: 0 10px 22px rgba(20, 48, 79, 0.12);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	overflow: hidden;
}

/*.registration-list-2 li::before{
	content: "";
	position: absolute;
	left: var(--ticket-cut-x);
	top: 0.75rem;
	bottom: 0.75rem;
	border-left: 4px dashed rgba(68, 122, 167, 0.75);
}*/

.registration-list-2 li:hover{
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(68, 122, 167, 0.28);
}

.registration-list-2 li:last-child{
	margin-bottom: 0;
}

.registration-list-2 li::before{
	pointer-events: none;
}

.registration-list-2 .ticket-amount{
	display: block;
	font-family: "Espiritu", "Barlow", sans-serif;
	font-size: 2.25rem;
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--epi-red);
}

.registration-list-2 .ticket-cents{
	font-size: 0.48em;
	vertical-align: top;
	margin-left: 0.05em;
}

.registration-list-2 .ticket-title{
	display: block;
	font-family: "Barlow", sans-serif;
	font-size: 1.25rem;
	line-height: 1.1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #1f405f;
	margin-top: 0.15rem;
	font-weight: 900;
}

.registration-cta{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 78px;
	padding: 1rem 1.5rem 1.2rem 1.5rem;
	border-radius: 0.85rem;
	border: 1px solid rgba(68, 122, 167, 0.22);
	background:
		linear-gradient(rgba(254, 198, 0, 0.96), rgba(254, 198, 0, 0.96)),
		url('/events/2026/images/icons/26-icon.svg') right -10px center / 42% auto no-repeat,
		linear-gradient(90deg, #ffd447, #fec600 70%);
	box-shadow: 0 10px 22px rgba(20, 48, 79, 0.16);
	color: #10283f;
	font-family: "KLG Sailor Rough Bold", "Barlow", sans-serif;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
	overflow: hidden;
}

.registration-cta:hover,
.registration-cta:focus{
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(20, 48, 79, 0.28);
	filter: brightness(1.02);
	color: #10283f;
}

@media (max-width: 767.98px) {
	.registration-list li{
		padding: 1rem 1rem 1.05rem 1rem;
		text-align: center;
		background: linear-gradient(90deg, #ffffff, #f6f8fa 70%);
	}

	.registration-cta{
		min-height: 68px;
		font-size: 1.65rem;
	}

	.registration-list li::before{
		display: none;
	}

	.registration-list .ticket-date-stub{
		display: none;
	}

	.registration-list .ticket-amount{
		font-size: 2rem;
	}

	.registration-list .ticket-title{
		font-size: 1.2rem;
		margin-top: 0.2rem;
	}

	.registration-list .ticket-meta,
	.registration-list .ticket-meta2{
		display: none;
	}

	.speaker-img,
	.speaker-img:hover,
	#about .card-img-top,
	#about .card:hover .card-img-top,
	#training img,
	#training img:hover{
		transform: none !important;
	}
}

.registration-note{
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(213, 91, 76, 0.28);
	border-left: 5px solid var(--epi-red);
	border-radius: 0.75rem;
	padding: 1rem 1.2rem;
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
	img.sponsor-lg{
		width: auto;
  		height: auto;
  		max-width: 175px;
  		max-height: 45px;
	}

	img.sponsor-sm{
		width: auto;
	  	height: auto;
	  	max-width: 150px;
	  	max-height: 30px;
	}
}

.video-container {
	position: relative;
	width: 100%;
  	height: auto;
  	overflow: hidden;
	border-radius:5px;
}

.video-container video, .video-container img{
  	width: 100%;
  	height: auto;
	border-radius:5px;
}

.video-container .overlay {
  	position: absolute;
  	top: 0;
  	left: 0;
  	width: 100%;
  	height: 100%;
  	background: rgba(255, 255, 255, 0.5);
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	opacity: 1;
  	transition: opacity 0.3s ease;
  	cursor: pointer;
	border-radius:5px;
}

.video-container .overlay i {
  	color: var(--epi-red);
  	font-size: 64px;
}

.video-container:hover .overlay {
  	opacity: 0;
}

.yt-preview{
	margin-bottom:-5px;
	border-radius:5px;	
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
	.yt-preview{
	
	}
}


section.footer{
	background-color:var(--epi-blue);
	color:#fff;
}

section.footer img{
	height:30px;
}

section.footer h3{
	font-size:1.25rem;
}

/* Optional: social row at top */
.social {
	position: absolute; top: .75rem; left: 0; right: 0;
}
.social a { color: #fff; opacity: .8; margin: 0 .35rem; }
.social a:hover { opacity: 1; }

/* Respect users who prefer less motion */
/*@media (prefers-reduced-motion: reduce) {
	.hero video.bg-video { display:none; }
      	.hero { background: url("/events/2026/images/hero/poster.jpg") center/cover no-repeat; }
      	.hero::before { position: absolute; }
}*/

.social-impact{
	font-size: 4rem;
}

.agenda {
	position: relative;
	overflow: hidden;
	background: radial-gradient(circle at top, #1a1a2e, #000) !important;
	color: #1f3146;
}

.agenda::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(180deg, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 1)),
		url('/events/2026/images/background/13944c6501255898fb78cce3e4ddf3c0-xxlarge.jpg');
	background-position: center center, center center;
	background-size: auto, cover;
	background-repeat: no-repeat, no-repeat;
	background-attachment: scroll, fixed;
	pointer-events: none;
}

.agenda .container {
	position: relative;
	z-index: 1;
}

.agenda p,
.agenda .agenda-time {
	font-family: "Barlow", sans-serif;
}

.agenda .text-light {
	color: #35506b !important;
}

.agenda-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	border-radius: 50px;
	padding: 12px 20px 18px 20px;
	font-family: "Espiritu Narrow", "Barlow", sans-serif;
	font-size: 1.05rem;
	line-height: 1.15;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--epi-blue);
	border-color: rgba(68, 122, 167, 0.65);
	background-color: rgba(255, 255, 255, 0.68);
	transition: all 0.3s ease;
}

.agenda-tab.active,
.agenda-tab:hover {
	background: linear-gradient(135deg, #d55b4c, #e27c6f);
	border-color: transparent;
	color: #fff;
}

.agenda-day-heading {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.agenda-day-heading::after {
	content: "";
	height: 1px;
	flex: 1;
	background: rgba(68, 122, 167, 0.35);
}

.agenda-day-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 0.45rem 1rem 1rem 1rem;
	font-family: "Espiritu Narrow", "Barlow", sans-serif;
	font-size: 1.1rem;
	line-height: 1.1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--epi-blue);
	border: 1px solid rgba(68, 122, 167, 0.45);
	background-color: rgba(255, 255, 255, 0.74);
}

.agenda-card {
	background: rgba(255, 255, 255, 0.78);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(68, 122, 167, 0.22);
	box-shadow: 0 8px 22px rgba(20, 48, 79, 0.12);
	display: flex;
	flex-direction: column;
	transition: all 0.3s ease;
}

.agenda-time {
	font-size: 1rem;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--epi-red) !important;
}

.agenda-card h5 {
	font-size: 1.35rem;
	line-height: 1.25;
	color: #1f3146;
}

.agenda-card p {
	font-size: 1.05rem;
	line-height: 1.5;
	color: #2a4159;
}

.agenda-card p.small {
	font-size: 1.05rem !important;
	line-height: 1.5;
	color: #2a4159 !important;
	opacity: 1 !important;
}

.agenda-footer {
	margin-top: auto;
	margin-right: -1.5rem;
	margin-bottom: -1.5rem;
	margin-left: -1.5rem;
	padding: 0.95rem 1.15rem 1rem 1.15rem;
	color: #ffffff;
	font-family: "Barlow", sans-serif;
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.01em;
	border-radius: 0 0 0.95rem 0.95rem;
	display: flex;
	align-items: center;
	gap: 0.45rem;
}

.agenda-location {
	background: #c94f43;
}

.agenda-location i {
	color: var(--epi-yellow);
	font-size: 1rem;
}

.agenda-speaker {
	background: rgb(68, 122, 167);
}

.agenda-speaker i {
	color: var(--epi-yellow);
	font-size: 1rem;
}

.agenda-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 28px rgba(68, 122, 167, 0.22);
}

@media (max-width: 991.98px) {
	.agenda-tab {
		font-size: 0.98rem;
		line-height: 1.2;
	}

	.agenda-day-label {
		font-size: 1rem;
	}

	.agenda-time {
		font-size: 0.95rem;
	}

	.agenda-card h5 {
		font-size: 1.2rem;
	}

	.agenda-card p,
	.agenda-card p.small {
		font-size: 0.98rem !important;
		line-height: 1.45;
	}
}




 fieldset.form-columns-1, fieldset.form-columns-2{
	max-width:100% !important;
	margin-bottom: 15px !important;
}

fieldset.form-columns-1 .input input, fieldset.form-columns-2 .input input{
    	display: block;
    	width: 100%;
    	padding: .375rem .75rem;
    	font-size: 1rem;
    	font-weight: 400;
    	line-height: 1.5;
    	color: var(--bs-body-color);
    	-webkit-appearance: none;
    	-moz-appearance: none;
    	appearance: none;
    	background-color: var(--bs-body-bg);
    	background-clip: padding-box;
    	border: var(--bs-border-width) solid var(--bs-border-color);
   	border-radius: var(--bs-border-radius);
}

fieldset.form-columns-1 .hs-form-field, fieldset.form-columns-2 .hs-form-field{
    	font-size: small;
	text-align: left;
	text-transform: uppercase;
	font-weight: bold;
}

fieldset.form-columns-1 .hs-input, fieldset.form-columns-2 .hs-input{
    	width: 100% !important;
}

.hs-submit .actions input[type='submit']{
	background-color: #C10C05;
    	border: 2px solid #C10C05;
    	font-family: "Espiritu", system-ui, sans-serif;
    	font-weight: 700;
    	color: #fff;
    	text-transform: uppercase;
	--bs-btn-padding-x: 0.75rem;
    	--bs-btn-padding-y: 0.375rem;
    	--bs-btn-font-family: ;
    	--bs-btn-font-size: 1rem;
    	--bs-btn-font-weight: 400;
    	--bs-btn-line-height: 1.5;
    	--bs-btn-color: var(--epi-red);
    	--bs-btn-bg: transparent;
    	--bs-btn-border-width: var(--bs-border-width);
    	--bs-btn-border-color: transparent;
    	--bs-btn-border-radius: var(--bs-border-radius);
    	--bs-btn-hover-border-color: transparent;
    	--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    	--bs-btn-disabled-opacity: 0.65;
    	--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    	display: inline-block;
    	padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    	font-size: var(--bs-btn-font-size);
    	line-height: var(--bs-btn-line-height);
    	text-align: center;
    	text-decoration: none;
    	vertical-align: middle;
    	cursor: pointer;
    	-webkit-user-select: none;
    	-moz-user-select: none;
    	user-select: none;
    	border-radius: var(--bs-btn-border-radius);
    	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.legal-consent-container{
	font-size: small;
}

#subscribeModal .modal-content {
  	background: #111;
  	color: #fff;
  	border: 0;
  	border-radius: 1rem;
}

#subscribeModal .btn-close {
  	filter: invert(1);
}

.hs-form-field label span{
	color: #ffffff !important;
}

#faqModal .modal-content {
	background: #f7f7f8;
	border: 0;
	border-radius: 1rem;
}

#faqModal .modal-body {
	color: #555;
}

#faqModal .faq-subtitle {
	font-size: 1rem;
	line-height: 1.5;
	color: #6c757d;
}

#faqModal .faq-item {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}

#faqModal .faq-icon {
	flex: 0 0 2.25rem;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid #d9dce1;
	border-radius: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #838a95;
	font-size: 1rem;
	background: #fff;
}

#faqModal .faq-content {
	flex: 1 1 auto;
	min-width: 0;
}

#faqModal .faq-question {
	font-size: 1.15rem;
	line-height: 1.3;
	font-weight: 700;
	color: #1f2937;
}

#faqModal .faq-answer,
#faqModal .faq-answer p,
#faqModal .faq-answer li {
	font-size: 0.98rem;
	line-height: 1.55;
	color: #5f6873;
}

#faqModal .faq-answer p:last-child {
	margin-bottom: 0;
}

@media (max-width: 767.98px) {
	#faqModal .faq-item {
		flex-direction: column;
		gap: 0.6rem;
	}

	#faqModal .faq-icon {
		margin-bottom: 0.1rem;
	}
}

/* IMPACT26 concert */
.concert {
	--concert-green: #17745f;
	--concert-yellow: #ffd054;
	--concert-teal: #087c83;
	overflow: hidden;
	background: var(--concert-green);
}

.concert-info {
	background: var(--concert-green);
	color: #fff;
}

.concert-info-inner {
	display: flex;
	min-height: 760px;
	max-width: 660px;
	margin-left: auto;
	padding: clamp(4rem, 6vw, 6.5rem) clamp(1.5rem, 4vw, 4.25rem);
	flex-direction: column;
	align-items: center;
}

.concert-presenters {
	font-size: 0.72rem;
	font-weight: 400;
	letter-spacing: 0.28em;
}

.concert-presenters span {
	display: inline-block;
	margin: 0 0.65rem;
	font-size: 1.15em;
}

.concert-title-wrap {
	width: 100%;
	max-width: 500px;
}

.concert-title {
	display: block;
	width: 100%;
	max-width: 500px;
	margin-right: auto;
	margin-left: auto;
}

.concert-details {
	width: 100%;
	max-width: 510px;
	padding: 1.5rem 1.75rem;
	background: #fff;
	color: #222;
	font-size: 0.83rem;
	line-height: 1.25;
}

.concert-details p {
	margin-bottom: 0.65rem;
}

.concert-cta {
	padding: 0.5rem 1.35rem 0.35rem;
	border: 2px solid var(--concert-yellow);
	background: var(--concert-yellow);
	color: var(--concert-teal);
	font-family: "Espiritu", system-ui, sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
}

.concert-cta:hover,
.concert-cta:focus {
	border-color: #fff;
	background: #fff;
	color: var(--concert-teal);
}

.concert-disclaimer {
	margin-top: auto;
	padding-top: 2.5rem;
	font-size: 0.68rem;
	line-height: 1.25;
}

.concert-disclaimer a {
	color: inherit;
	font-weight: 700;
}

.concert-stage {
	/* Center-relative offsets keep the band composition fixed as the stage width changes. */
	--concert-member-3-x: -80px;
	--concert-member-4-x: -509.5px;
	--concert-member-2-x: -457px;
	--concert-member-1-x: -362.5px;
	position: relative;
	min-height: 760px;
	overflow: hidden;
	background: #92dec2 url("../images/concert/bandbg.jpg") center center / cover no-repeat;
}

.concert-member {
	position: absolute;
	bottom: -2%;
	display: block;
	width: auto;
	max-width: none;
	object-fit: contain;
	object-position: center bottom;
}

.concert-member-3 {
	z-index: 2;
	left: calc(50% + var(--concert-member-3-x));
	height: 86%;
}

.concert-member-4 {
	z-index: 3;
	right: calc(50% + var(--concert-member-4-x));
	top: 13%;
	height: 100%;
}

.concert-member-2 {
	z-index: 4;
	left: calc(50% + var(--concert-member-2-x));
	top: 16%;
	height: 100%;
}

.concert-member-1 {
	z-index: 5;
	left: calc(50% + var(--concert-member-1-x));
	top: 10%;
	height: 150%;
}

@media (max-width: 1199.98px) {
	.concert-info-inner {
		padding-right: 2rem;
		padding-left: 2rem;
	}

	.concert-details {
		padding: 1.25rem;
	}

	.concert-stage {
		--concert-member-3-x: -96px;
		--concert-member-4-x: -420px;
		--concert-member-2-x: -414px;
		--concert-member-1-x: -348px;
	}
}

@media (max-width: 991.98px) {
	.concert-info-inner {
		min-height: auto;
		max-width: 720px;
		margin: 0 auto;
		padding: 4rem 1.5rem;
	}

	.concert-disclaimer {
		margin-top: 0;
	}

	.concert-stage {
		--concert-member-3-x: -72.9px;
		--concert-member-4-x: -467.6px;
		--concert-member-2-x: -439.9px;
		--concert-member-1-x: -365.4px;
		min-height: clamp(470px, 105vw, 760px);
	}
}

@media (max-width: 575.98px) {
	.concert-info-inner {
		padding: 3rem 1.5rem;
	}

	.concert-presenters {
		font-size: 0.6rem;
		letter-spacing: 0.2em;
	}

	.concert-details {
		font-size: 0.78rem;
	}

	.concert-stage {
		--concert-member-3-x: -70.6px;
		--concert-member-4-x: -291.6px;
		--concert-member-2-x: -285.6px;
		--concert-member-1-x: -238px;
	}
}


/* ---- Inline styles from sponsorships/index.php ---- */
    .sponsor-shift {
        transform: rotate(-1.25deg);
        transition: transform 0.35s ease, box-shadow 0.35s ease;
        box-shadow: 0 8px 20px rgba(20, 48, 79, 0.12);
    }

    .sponsor-shift:hover {
        transform: translateY(-5px) rotate(1deg);
        box-shadow: 0 12px 28px rgba(68, 122, 167, 0.22);
    }

    .package-card {
        border: 1px solid rgba(68, 122, 167, 0.12);
        box-shadow: 0 8px 20px rgba(20, 48, 79, 0.08);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        background: #fff;
    }

    .package-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 28px rgba(68, 122, 167, 0.22);
    }

    .package-card-soldout:hover {
        transform: none;
        box-shadow: 0 8px 20px rgba(20, 48, 79, 0.08);
    }

    .package-card-cta {
        background: var(--epi-blue) !important;
        border-color: var(--epi-blue) !important;
        color: #fff;
        letter-spacing: 0;
    }

    .package-card-cta:hover,
    .package-card-cta:focus,
    .package-card-cta:active,
    .package-card-cta.active,
    .show > .package-card-cta.dropdown-toggle {
        background: var(--epi-blue) !important;
        border-color: var(--epi-blue) !important;
        color: #fff !important;
        filter: brightness(0.92);
        box-shadow: none;
    }

    .package-card-cta-soldout {
        letter-spacing: 0;
        opacity: 1;
    }

    .package-sponsor-bar {
        background: #4d5259;
        color: #d8d8d8;
        border-top-left-radius: inherit;
        border-top-right-radius: inherit;
        min-height: 46px;
        padding: 8px 12px;
    }

    .package-sponsor-label {
        font-size: 0.95rem;
        line-height: 1;
    }

    .package-sponsor-logo {
        max-height: 28px;
        width: auto;
        display: block;
    }

    .package-item-images {
        display: grid;
        gap: 12px;
    }

    .package-item-images .carousel-indicators [data-bs-target] {
        background-color: var(--epi-blue);
    }

    .package-item {
        background: #f6f7f9;
        border: 1px solid rgba(68, 122, 167, 0.18);
        box-shadow: 0 8px 20px rgba(20, 48, 79, 0.08);
    }

    .package-item-cta,
    .package-item-cta-soldout {
        letter-spacing: 0;
    }

    .package-item-cta-soldout {
        opacity: 1;
    }

    .package-contact-card {
        background: #f6f7f9;
        border: 1px solid rgba(68, 122, 167, 0.18);
        box-shadow: 0 8px 20px rgba(20, 48, 79, 0.08);
        border-radius: 0.375rem;
        padding: 1.25rem;
    }

    .package-contact-card p {
        font-size: 1.05rem;
    }

    .sponsor-benefits-list {
        list-style: none;
        padding-left: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .sponsor-benefits-list > li {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.9rem;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, 0.35);
        border-radius: 0.6rem;
        padding: 1.1rem 1.15rem 1.15rem;
        line-height: 1.45;
    }

    .benefit-icon {
        color: var(--epi-blue);
        background: #fff;
        border: 1px solid rgba(255, 255, 255, 0.95);
        border-radius: 999px;
        margin-top: 0;
        width: 2.6rem;
        height: 2.6rem;
        line-height: 2.55rem;
        font-size: 1.15rem;
        text-align: center;
        flex: 0 0 2.6rem;
    }

    @media (min-width: 768px) {
        .sponsor-benefits-list {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1.25rem 1.4rem;
        }
        .sponsor-benefits-list > li { min-height: 100%; }
    }
