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

/* Header font */
@font-face {
	font-family: "Espiritu";
  	src:
    		url("/fonts/espiritu/espiritu.woff2") format("woff2"),
    		url("/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("/fonts/espiritu/espiritu-condensed.woff2") format("woff2"),
    		url("/fonts/espiritu/espiritu-condensed.woff") format("woff");
  	font-weight: 400;
  	font-style: normal;
  	font-display: swap;
}

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

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

/* ===== 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;
}

.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;
}

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('/images/background/blue-watercolor.jpg');
}

img.seperator{
	height: 30px;
}

section.partners{
	background-color:#fff;
	background-image:url('/images/background/blue-watercolor.jpg');
	background-position:center 40%;
}

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('/images/background/red-watercolor.jpg');
	background-position:center 80%;
	background-size:cover;
}

/* 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("/images/hero/poster.jpg") center/cover no-repeat; }
      	.hero::before { position: absolute; }
}*/






 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;
}