/* ============================================================
   EVENT TEMPLATE -- base styles (phone/tablet rules: css/responsive.css).
   Fonts: Archivo (titles), Hanken Grotesk (body), JetBrains Mono (labels).
   ============================================================ */

/* ---------- BASE ---------- */

/* Replaces Bootstrap's box-sizing reset (widths below rely on it). */
*, *::before, *::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth !important;
}

html, body {
	overflow-x: hidden;
}

body {
	font-family: Arial, Helvetica, sans-serif;
	color: #333333;
	font-size: 12px;
	margin: 0px;
	line-height: 1;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: #ffffff;
	background-attachment: fixed !important;
}

#container {
	margin-top: 0px;
	margin-left: auto;
	margin-bottom: 0px;
	margin-right: auto;
	text-align: left;
	height: 100%;
}

.padding {
	padding-left: 3%;
	padding-right: 3%;
}

.center {
	text-align: center;
	margin: 0px auto;
}

h1, h2, h3 {
	margin-top: 0 !important;
	margin-bottom: 20px !important;
}

a:link,
a:visited {
	font-weight: bold;
	text-decoration: none;
}

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

img {
	border: 0px;
}

.noscript {
	padding: 20px;
	text-align: center;
}

/* body.is-register-hidden is set by the page once registration closes. */
.registerlink {
	display: inline-block;
	margin: 0px;
}
body.is-register-hidden .registerlink {
	display: none !important;
}

:root {
	--hp-check-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff0000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}

.hpSkipLink {
	position: absolute;
	top: -60px;
	left: 12px;
	z-index: 10000;
	background: #ffffff;
	color: #043053;
	padding: 12px 20px;
	border-radius: 6px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-weight: 700;
	text-decoration: none !important;
	transition: top 0.2s ease;
}

.hpSkipLink:focus {
	top: 12px;
}

.hpProgress {
	position: fixed;
	top: 0;
	left: 0;
	height: 3px;
	width: 0%;
	background: var(--brandPrimaryLight);
	z-index: 10001;
	transition: width 0.1s linear;
}

/* ---------- REAL BUTTONS ----------
   Removes the browser's button look from FAQ questions, day tabs, the Brella video and
   "See All"; :where() has zero specificity, so each element's own rules still win. */
:where(button.hpFaqQuestion, button.agviewTab, button.hpBrellaVideoFacade, button.hpSeeAllBtn) {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	word-spacing: inherit;
	text-align: inherit;
	text-transform: inherit;
	text-indent: inherit;
	text-shadow: inherit;
	cursor: pointer;
}
/* Full-width blocks, like the <div>s they replaced. */
:where(button.hpFaqQuestion, button.hpBrellaVideoFacade) {
	display: block;
	width: 100%;
}

/* ---------- BUTTONS ---------- */
.hpBtnGhostWhite {
	display: inline-block;
	background: transparent;
	color: #ffffff !important;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none !important;
	padding: 13px 30px;
	border: 1.5px solid #ffffff;
	border-radius: 26px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.hpBtnGhostWhite:hover {
	background: #ffffff;
	color: var(--brandPrimary) !important;
}

/* White pill for red backgrounds. */
.hpBtnWhite {
	display: inline-block;
	background: #ffffff;
	color: var(--brandPrimary) !important;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none !important;
	padding: 11px 24px;
	border: 1.5px solid #ffffff;
	border-radius: 26px;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.hpBtnWhite:hover {
	background: transparent;
	color: #ffffff !important;
	border-color: #ffffff;
}

/* Rounded-pill primary button (Register CTAs). */
.hpBtnPrimary {
	display: inline-block;
	background: var(--brandPrimary);
	color: #ffffff !important;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none !important;
	text-shadow: none !important;
	padding: 11px 24px;
	border: 1.5px solid var(--brandPrimary);
	border-radius: 26px;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.hpBtnPrimary:hover {
	background: #ffffff;
	color: var(--brandPrimary) !important;
}

/* ---------- NAV ---------- */

.hpNav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9000;
	background: rgba(0,0,0,0);
	transition: background-color 0.25s ease, box-shadow 0.25s ease, backdrop-filter 0.25s ease;
}

.hpNav.is-scrolled {
	background: rgba(255,255,255,0.82);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0px 2px 12px rgba(0,0,0,0.08);
}

.hpNav.is-scrolled .hpNavLink {
	color: #043053 !important;
}

.hpNav.is-scrolled .hpNavToggleIcon span {
	background: #043053;
}

.hpNav.is-scrolled .hpNavToggleLabel {
	color: #043053;
}

/* Solid bar whenever the mobile menu is open, even at the top of the page. */
.hpNav:has(.hpNavLinks.is-open) {
	background: rgba(255,255,255,0.98);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0px 2px 12px rgba(0,0,0,0.08);
}

.hpNav:has(.hpNavLinks.is-open) .hpNavToggleIcon span {
	background: #043053;
}

.hpNav:has(.hpNavLinks.is-open) .hpNavToggleLabel {
	color: #043053;
}

.hpNavInner {
	max-width: 1120px;
	box-sizing: border-box;
	margin: 0px auto;
	padding: 10px 3%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.hpNavLogo {
	display: inline-flex;
	align-items: center;
}

.hpNavLogo img {
	height: 30px;
	width: auto;
	display: block;
}

.hpNavLinks {
	display: flex;
	align-items: center;
	gap: 28px;
}

.hpNavLink {
	color: #ffffff !important;
	font-family: "Hanken Grotesk", system-ui, -apple-system, sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	text-decoration: none !important;
	/* Full opacity: dimmed white over the hero photo fails contrast checks. */
	opacity: 1;
	padding-bottom: 4px;
	border-bottom: 2px solid transparent;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}

.hpNavLink:hover,
.hpNavLink.active {
	opacity: 1;
	border-bottom-color: var(--brandPrimaryLight);
}

.hpNavCta {
	margin-left: 8px;
}

/* Icon layout lives on the inner span (Safari ignores flex centering on <button>). */
.hpNavToggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: auto;
	height: 34px;
	flex-shrink: 0;
	background: transparent;
	border: none;
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	font: inherit;
	line-height: 1;
	cursor: pointer;
}

.hpNavToggle::-moz-focus-inner {
	border: 0;
	padding: 0;
}

.hpNavToggleIcon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 6px;
	width: 22px;
	height: 34px;
	pointer-events: none;
}

.hpNavToggleIcon span {
	display: block;
	height: 2px;
	width: 22px;
	border-radius: 2px;
	background: #ffffff;
	transition: transform 0.2s ease, opacity 0.2s ease, width 0.2s ease;
}

/* "MENU" label -- same type as the nav links; turns navy with the icon. */
/* Label + icon centered by this inner span (Safari doesn't reliably center inside <button>). */
.hpNavToggleInner {
	display: flex;
	align-items: center;
	gap: 8px;
	pointer-events: none;
}

.hpNavToggleLabel {
	display: block;
	line-height: 1;
	color: #ffffff;
	font-family: "Hanken Grotesk", system-ui, -apple-system, sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	transition: color 0.2s ease;
	pointer-events: none;
}

.hpNavToggle.is-open .hpNavToggleIcon span:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
}

.hpNavToggle.is-open .hpNavToggleIcon span:nth-child(2) {
	opacity: 0;
	width: 0px;
}

.hpNavToggle.is-open .hpNavToggleIcon span:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
}

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

.hpHero {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 120px 3% 80px 3%;
	overflow: hidden;
	background-color: #043053;
	/* Only needs to clear the fixed nav. */
	scroll-margin-top: 0px;
}

/* Hero photo is a real <img> (fetchpriority="high") so it loads early for LCP. */
.hpHeroBg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.hpHero::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(rgba(4,48,83,0.55),rgba(4,48,83,0.75));
	z-index: 1;
}

.hpHeroInner {
	position: relative;
	z-index: 2;
	max-width: 900px;
	margin: 0px auto;
}

.hpHeroEyebrow {
	display: block;
	color: #b6c6d6;
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 20px;
	line-height: 1.5em;
}

.hpHeroEyebrowBreak {
	display: none;
}

.hpHeroTitle {
	color: #ffffff;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-size: 60px;
	font-weight: 800;
	line-height: 1.15em;
	margin: 0px 0px 16px 0px;
}

.hpHeroDate {
	color: #d7e3ee;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.3px;
	margin-bottom: 20px;
}

.hpHeroSub {
	color: #d7e3ee;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5em;
	max-width: 640px;
	margin: 0px auto 36px auto;
}

.hpHeroNotice {
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.35);
	border-radius: 12px;
	max-width: 640px;
	margin: 20px auto 36px auto;
	padding: 20px 24px;
	box-sizing: border-box;
}

.hpHeroNoticeText {
	color: #ffffff;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 16px;
	line-height: 1.6em;
}

.hpHeroNoticeText a {
	color: #ffffff;
	font-weight: 700;
	text-decoration: underline;
}

.hpHeroCountdown {
	margin: 0px auto 36px auto;
}

.hpHeroCountdownLabel {
	color: #d7e3ee;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.hpHeroCountdownRow {
	display: flex;
	justify-content: center;
	gap: 14px;
}

.hpHeroCountdownUnit {
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.35);
	border-radius: 12px;
	min-width: 74px;
	padding: 12px 8px;
	box-sizing: border-box;
}

.hpHeroCountdownNumber {
	display: block;
	color: #ffffff;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-size: 32px;
	font-weight: 800;
	line-height: 1.1em;
	font-variant-numeric: tabular-nums;
}

.hpHeroCountdownUnitLabel {
	display: block;
	color: #d7e3ee;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-top: 4px;
}

@media (max-width: 480px) {
	.hpHeroCountdownRow {
		gap: 8px;
	}
	.hpHeroCountdownUnit {
		min-width: 62px;
		padding: 10px 6px;
	}
	.hpHeroCountdownNumber {
		font-size: 26px;
	}
}

.hpHeroCtas {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 56px;
}

.hpStat {
	text-align: center;
}

.hpStatNumber {
	display: block;
	color: #ffffff;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-size: 36px;
	font-weight: 800;
	line-height: 1.2em;
}

.hpStatLabel {
	display: block;
	color: #b6c6d6;
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-top: 4px;
}

/* ---------- SECTIONS ---------- */

.hpSection {
	position: relative;
	width: 100%;
	padding: 90px 0px;
	/* Clears floated full-width components above it. */
	clear: both;
	/* Anchor jumps land just below the fixed nav (net of the 90px section padding). */
	scroll-margin-top: -16px;
}

/* Extra jump target at the top of a section (e.g. #pricing on #passes); lands the same way. */
.hpAnchor {
	position: absolute;
	top: 0;
	scroll-margin-top: -16px;
}

/* Clearfix for floated full-width children. */
.hpSection::after {
	content: "";
	display: table;
	clear: both;
}

.hpSectionAlt {
	background-color: #f7f9fb;
}

.hpSectionDark {
	background-color: #043053;
}

.hpSectionRed {
	background: linear-gradient(135deg, var(--brandPrimaryDark) 0%, var(--brandPrimaryLight) 100%);
}

.hpSectionRed .hpSectionHeading,
.hpSectionRed .hpEyebrow {
	color: #ffffff;
}

.hpSectionCream {
	background-color: #F6F4F1;
}

.hpSectionInner {
	max-width: 1120px;
	box-sizing: border-box;
	margin: 0px auto;
	padding: 0px 3%;
}

.hpEyebrow {
	display: block;
	color: var(--brandPrimary);
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 10px;
	text-align: center;
}

.hpSectionHeading {
	color: #043053;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-size: 38px;
	font-weight: 800;
	line-height: 1.25em;
	text-align: center;
	margin: 0px auto 18px auto;
	/*max-width: 760px;*/
}

.hpSectionDark .hpSectionHeading {
	color: #ffffff;
}

/* Scroll reveal */
.hpReveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.hpReveal.is-visible {
	opacity: 1;
	transform: translateY(0px);
}

/* ---------- WELCOME ---------- */

.hpWelcomeText {
	color: #444444;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 17px;
	line-height: 1.7em;
	max-width: 100%;
	margin: 0px auto 30px auto;
}

.hpWelcomeText strong {
	color: #043053;
}


.hpWelcomeStats {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px;
	max-width: 100%;
	margin: 0px auto 36px auto;
	padding-top: 32px;
	border-top: 1px solid #eeeeee;
}

.hpWelcomeStats .hpStat {
	text-align: left;
	flex: 1 1 0;
	min-width: 150px;
}

.hpWelcomeStats .hpStatNumber {
	color: #043053;
	font-size: 64px;
	font-weight: 900;
}

.hpWelcomeStats .hpStatAccent {
	color: var(--brandPrimary);
}

.hpWelcomeStats .hpStatLabel {
	color: #6b6b6b;
	font-size: 14px;
}

/* ---------- WHY ATTEND CARDS ---------- */

.hpCards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.hpCard {
	background: #ffffff;
	border: 1px solid #e2e2e2;
	border-radius: 12px;
	padding: 36px 28px;
	text-align: center;
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.hpCard:hover {
	box-shadow: 0px 10px 24px rgba(0,0,0,0.08);
	transform: translateY(-4px);
	border-color: #00b0f0;
}

.hpCardIcon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #e3edf5;
	color: #043053;
	margin-bottom: 20px;
}

.hpCardTitle {
	color: #043053;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-size: 19px;
	font-weight: 800;
	margin-bottom: 10px;
}

.hpCardText {
	color: #6b6b6b;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 15px;
	line-height: 1.6em;
}

.hpCardText a {
	color: #00b0f0;
	text-decoration: none;
}

.hpCardText a:hover {
	text-decoration: underline;
	text-decoration-color: var(--brandPrimaryLight);
	text-underline-offset: 3px;
}

.hpExpectCta {
	text-align: center;
	margin-top: 40px;
}

/* ---------- FEATURED SPEAKERS (home) ---------- */

.hpSpeakerGrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-bottom: 40px;
}

/* Speaker tiles on the navy background: no card, ringed photo, light text. */
.hpSpeakerGrid .spkCard {
	background: transparent;
	border: none;
	border-radius: 0px;
	box-shadow: none;
	padding: 0px;
}

/* Keeps the hover lift working after the reveal animation. */
.hpSpeakerGrid .spkCard:hover {
	transform: translateY(-4px);
	border-color: transparent;
	box-shadow: none;
}

/* Brighter photo ring than the bio page, for the navy background. */
.hpSpeakerGrid .spkCardImgWrap {
	background: transparent;
	border: 4px solid rgba(255,255,255,0.15);
}

.hpSpeakerGrid .spkCardName {
	color: #ffffff;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
}

.hpSpeakerGrid .spkCardTitle {
	color: #b6c6d6;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
}

/* Same circular LinkedIn treatment as .bioSocialBtn on the speaker bio page. */
.hpSpeakerGrid .spkCardLinkedIn {
	width: 38px;
	height: 38px;
	background-color: rgba(255,255,255,0.12);
	font-size: 16px;
}

.hpSpeakerGrid .spkCardLinkedIn:hover {
	background-color: #00b0f0;
}

.hpSpeakerHidden {
	display: none;
}

.hpSpeakerHidden.is-visible {
	display: block;
}

.hpSeeAllWrap {
	text-align: center;
}

.hpSeeAllBtn {
	display: inline-block;
	white-space: nowrap;
	background: #ffffff;
	color: #043053 !important;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
	padding: 12px 28px;
	border: 1.5px solid #043053;
	border-radius: 26px;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.hpSeeAllBtn.is-hidden {
	display: none;
}

.hpSeeAllBtn:focus-visible {
	outline: 2px solid #00b0f0;
	outline-offset: 2px;
}

.hpSeeAllBtn:hover {
	background: #ffffff;
	color: var(--brandPrimary) !important;
	border-color: var(--brandPrimary);
}

/* ---------- SPEAKER CARDS (.spkCard*) ---------- */

.spkCard {
	position: relative;
	background: #ffffff;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
	box-shadow: 0px 2px 6px rgba(0,0,0,0.04);
	padding: 30px 22px 26px 22px;
	text-align: center;
}

.spkCard:hover {
	box-shadow: 0px 10px 24px rgba(0,0,0,0.12);
	transform: translateY(-4px);
	border-color: #00b0f0;
}

.spkCardLink {
	display: block;
	text-decoration: none !important;
	color: inherit;
}

.spkCardImgWrap {
	position: relative;
	width: 180px;
	height: 180px;
	margin: 0px auto;
	border-radius: 50%;
	background: #f2f2f2;
	overflow: hidden;
}

.spkCardImg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.spkCardBody {
	padding: 18px 0px 0px 0px;
	text-align: center;
}

.spkCardName {
	color: #303030;
	font-size: 21px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 700;
	line-height: 1.3em;
	margin-bottom: 4px;
}

.spkCardTitle {
	color: #6b6b6b;
	font-size: 15px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 400;
	line-height: 1.4em;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.spkCardLinkedIn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #0077b5;
	font-size: 14px;
	margin-top: 16px;
	text-decoration: none !important;
	transition: background-color 0.2s ease;
}

.spkCardLinkedIn:hover {
	background-color: var(--brandPrimary);
}

/* ---------- WHO SHOULD ATTEND ---------- */

.hpAttendGrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	max-width: 820px;
	margin: 0px auto;
}

.hpAttendList {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

.hpAttendList li {
	position: relative;
	color: #444444;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 16px;
	line-height: 1.5em;
	padding: 10px 0px 10px 28px;
	border-bottom: 1px solid #eeeeee;
}

.hpAttendList li::before {
	content: "";
	position: absolute;
	left: 0px;
	top: 13px;
	width: 16px;
	height: 16px;
	background-image: var(--hp-check-icon);
	background-size: contain;
	background-repeat: no-repeat;
}

/* ---------- PASSES / PRICING ---------- */

.hpPasses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin: 0px auto;
	align-items: stretch;
}

.hpPassCard {
	position: relative;
	background: #ffffff;
	border: 1px solid #e2e2e2;
	border-radius: 14px;
	padding: 36px 30px;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.hpPassCard:hover {
	box-shadow: 0px 10px 24px rgba(0,0,0,0.08);
	transform: translateY(-4px);
	border-color: #00b0f0;
}

.hpPassCard.hpPassFeatured {
	border-color: var(--brandPrimaryLight);
	box-shadow: 0px 10px 30px rgba(var(--brandPrimaryLightRgb),0.08);
}

.hpPassCard.hpPassFeatured:hover {
	border-color: var(--brandPrimaryLight);
	box-shadow: 0px 14px 34px rgba(var(--brandPrimaryLightRgb),0.14);
}

.hpPassBadge {
	position: absolute;
	top: -13px;
	left: 30px;
	background: var(--brandPrimaryLight);
	color: #ffffff;
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	padding: 5px 14px;
	border-radius: 12px;
}

.hpPassName {
	color: #043053;
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.hpPassPrice {
	color: #043053;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-size: 46px;
	font-weight: 800;
	line-height: 1.1em;
}

.hpPassPrice span {
	font-size: 16px;
	font-weight: 400;
	color: #6b6b6b;
}

.hpPassList {
	list-style: none;
	margin: 0px 0px 10px 0px;
	padding: 0px;
	flex: 1 1 auto;
}

.hpPassList li {
	position: relative;
	color: #444444;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 15px;
	line-height: 1.6em;
	padding: 8px 0px 8px 26px;
}

.hpPassList li::before {
	content: "";
	position: absolute;
	left: 0px;
	top: 10px;
	width: 15px;
	height: 15px;
	background-image: var(--hp-check-icon);
	background-size: contain;
	background-repeat: no-repeat;
}

.hpPassFoot {
	text-align: center;
	color: #6b6b6b;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 15px;
	margin-top: 40px;
	line-height: 1.7em;
}

.hpPassFoot a {
	color: #00b0f0;
	text-decoration: none;
}

.hpPassFoot a:hover {
	text-decoration: underline;
	text-decoration-color: var(--brandPrimaryLight);
	text-underline-offset: 3px;
}

/* ---------- SPONSORS (home page tiers) ---------- */

.hpSponsorWrap {
	text-align: center;
}

.hpSponsorTierGroup {
	margin-bottom: 56px;
}

.hpSponsorTierGroup:last-of-type {
	margin-bottom: 30px;
}

.hpSponsorTierLabel {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-bottom: 34px;
}

.hpSponsorTierLabel::before,
.hpSponsorTierLabel::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	max-width: 140px;
	background: #e2e2e2;
}

.hpSponsorTierLabel span {
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #9a9a9a;
	white-space: nowrap;
}

.hpSponsorTier {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 60px;
}

.hpSponsorLogo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease;
}

.hpSponsorLogo:hover {
	transform: translateY(-3px);
}

.hpSponsorLogo img {
	display: block;
	width: auto;
}

.hpSponsorTier-gold img {
	height: 110px;
}

.hpSponsorTier-silver img {
	height: 78px;
}

.hpSponsorTier-goldshowcase img {
	height: 70px;
}

.hpSponsorTier-silvershowcase img {
	height: 60px;
}

.hpSponsorTier-bronze img {
	height: 70px;
}

.hpSponsorTier-demo img {
	height: 60px;
}

.hpSponsorTier-spotlight img {
	height: 60px;
}

.hpSponsorTier-media img {
	height: 48px;
}

/* ---------- BRELLA ---------- */

.hpBrellaGrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	align-items: center;
}

.hpBrellaText {
	color: #6b6b6b;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 16px;
	line-height: 1.7em;
}

.hpBrellaText strong {
	color: #043053;
}

.hpBrellaList {
	margin-top: 20px;
}

.hpBrellaVideoFacade {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	border-radius: 14px;
	border: 1px solid #e2e2e2;
	box-sizing: border-box;
	overflow: hidden;
	cursor: pointer;
	background: #000000 url("https://img.youtube.com/vi/AfGzTOX6YZQ/hqdefault.jpg") center/cover no-repeat;
}

.hpBrellaPlayBtn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: rgba(var(--brandPrimaryLightRgb),0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.hpBrellaVideoFacade:hover .hpBrellaPlayBtn {
	background: var(--brandPrimaryLight);
	transform: translate(-50%, -50%) scale(1.08);
}

.hpBrellaPlayBtn svg {
	margin-left: 4px;
}

.hpBrellaVideoFrame {
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 14px;
	border: none;
	display: block;
}

/* ---------- FAQ ACCORDION ---------- */

.hpFaqList {
	max-width: 820px;
	margin: 0px auto;
}

.hpFaqItem {
	border-bottom: 1px solid #e2e2e2;
}

.hpFaqQuestion {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 4px;
	cursor: pointer;
	color: #043053;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-size: 17px;
	font-weight: 800;
}

.hpFaqIcon {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1.5px solid #043053;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #043053;
	font-size: 16px;
	line-height: 1;
	transition: transform 0.25s ease, background-color 0.2s ease, color 0.2s ease;
}

.hpFaqItem.is-open .hpFaqIcon {
	background: var(--brandPrimaryLight);
	border-color: var(--brandPrimaryLight);
	color: #ffffff;
	transform: rotate(45deg);
}

.hpFaqAnswer {
	max-height: 0px;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.hpFaqAnswerInner {
	padding: 0px 4px 22px 4px;
	color: #6b6b6b;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 15px;
	line-height: 1.65em;
}

.hpFaqAnswerInner a {
	color: #00b0f0;
	text-decoration: none;
}

.hpFaqAnswerInner a:hover {
	text-decoration: underline;
	text-decoration-color: var(--brandPrimaryLight);
	text-underline-offset: 3px;
}

/* ---------- TERMS ---------- */

.hpTermsText {
	color: #6b6b6b;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 14px;
	line-height: 1.7em;
	max-width: 820px;
	margin: 0px auto;
}

.hpTermsText strong {
	color: #444444;
}

.hpTermsText a {
	color: #00b0f0;
	text-decoration: none;
}

.hpTermsText a:hover {
	text-decoration: underline;
	text-decoration-color: var(--brandPrimaryLight);
	text-underline-offset: 3px;
}

/* ---------- FINAL CTA ---------- */

.hpFinalCta {
	background: linear-gradient(135deg, var(--brandPrimaryDark) 0%, var(--brandPrimaryLight) 100%);
	padding: 90px 0px;
	text-align: center;
}

.hpFinalCtaEyebrow {
	color: rgba(255,255,255,0.8);
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.hpFinalCtaTitle {
	color: #ffffff;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-size: 42px;
	font-weight: 800;
	line-height: 1.2em;
	max-width: 700px;
	margin: 0px auto 18px auto;
}

/* Italic uppercase titles on the red sections (Final CTA, Newsletter). */
.hpFinalCta .hpFinalCtaTitle,
#newsletter .hpFinalCtaTitle {
	font-style: italic;
	text-transform: uppercase;
	font-weight: 900;
	font-size: 58px;
	line-height: 1.05em;
	max-width: 780px;
	margin-top: 20px!important;
}

.hpFinalCtaSub {
	color: rgba(255,255,255,0.9);
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 17px;
	max-width: 560px;
	margin: 0px auto 34px auto;
	line-height: 1.55em;
}

.hpFinalCtaBtns {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}

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

.hpFooter {
	background-color: #0E1420;
	padding: 70px 0px 0px 0px;
	position: relative;
	overflow: hidden;
	/* Clears floated sections above the footer. */
	clear: both;
}

/* Large faint watermark, matching the reference design. */
.hpFooter::before {
	content: "#SALES30";
	position: absolute;
	left: 50%;
	bottom: -30px;
	transform: translateX(-50%);
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-weight: 900;
	font-style: italic;
	font-size: 230px;
	line-height: 1;
	color: rgba(255,255,255,0.05);
	white-space: nowrap;
	pointer-events: none;
	z-index: 0;
}

.hpFooter .hpSectionInner {
	position: relative;
	z-index: 1;
}

.hpFooterTop {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 60px;
	padding-bottom: 50px;
	border-bottom: 1px solid rgba(255,255,255,0.12);
}

.hpFooterBrand {
	max-width: 340px;
	flex: 0 1 340px;
}

.hpFooterCols {
	display: flex;
	gap: 70px;
	flex-wrap: wrap;
}

.hpFooterLogo {
	height: 60px;
	width: auto;
	display: block;
	margin-bottom: 18px;
}

.hpFooterTagline {
	color: #b6c6d6;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 15px;
	line-height: 1.6em;
	margin-bottom: 22px;
}

.hpFooterSocial {
	display: flex;
	gap: 10px;
}

.hpFooterSocial .smGlobalBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	font-size: 15px;
	line-height: 1;
}

.hpFooter .twitterBtn,
.hpFooter .linkedinBtn,
.hpFooter .youtubeBtn {
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.2);
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.hpFooter .twitterBtn:hover,
.hpFooter .linkedinBtn:hover,
.hpFooter .youtubeBtn:hover {
	background: rgba(255,255,255,0.18);
	border-color: rgba(255,255,255,0.4);
}

.hpFooterColTitle {
	display: block;
	color: #ffffff;
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 18px;
}

.hpFooterLink {
	display: block;
	color: #b6c6d6 !important;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 15px;
	text-decoration: none !important;
	margin-bottom: 14px;
}

.hpFooterLink:hover {
	text-decoration: underline !important;
	text-decoration-color: var(--brandPrimaryLight) !important;
	text-underline-offset: 3px;
}

.hpFooterBottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding: 24px 0px;
}

.hpFooterCopy {
	color: #7f96ab;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 13px;
	margin: 0px;
}

.hpFooterCopy a {
	color: #b6c6d6;
	text-decoration: none;
}

.hpFooterCopy a:hover {
	text-decoration: underline;
	text-decoration-color: var(--brandPrimaryLight);
	text-underline-offset: 3px;
}

/* ---------- SOCIAL ICONS ---------- */

.social {
	text-align: center;
}

.smGlobalBtn {
	display: inline-block;
	position: relative;
	cursor: pointer;
	width: 40px;
	height: 40px;
	padding: 0px;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-size: 28px;
	font-weight: normal !important;
	line-height: 2em;
	border-radius: 27px;
	-moz-border-radius: 27px;
	-webkit-border-radius: 27px;
}

.twitterBtn {
	background: #0037ff;
}

.twitterBtn a:hover {
	color: #00ABE3;
	background: #fff;
}

.linkedinBtn {
	background: #0037ff;
}

.linkedinBtn a:hover {
	color: #0094BC;
	background: #fff;
}

.youtubeBtn {
	background: #0037ff;
}

.youtubeBtn a:hover {
	color: var(--brandPrimary);
	background: #fff;
}

/* ---------- SPEAKER BIO (speaker-bio.html) ---------- */

.bioHero {
	clear: both;
	position: relative;
	float: left;
	width: 100%;
	background-color: #043053;
	padding: 80px 0px 50px 0px;
	margin-top: 0px;
}

.bioHeroNotFound {
	padding-bottom: 80px;
}

/* border-box so the 3% side padding doesn't overflow the page. */
.bioHeroContent {
	position: relative;
	width: 100%;
	max-width: 1120px;
	margin: 0px auto;
	box-sizing: border-box;
}

.bioBack {
	display: inline-block;
	color: #ffffff !important;
	opacity: 0.8;
	font-size: 15px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-weight: 600;
	text-decoration: none !important;
	margin-top: 30px;
	margin-bottom: 30px;
}

.bioBack:hover {
	opacity: 1;
	color: #00b0f0 !important;
}

.bioHeroGrid {
	display: flex;
	align-items: center;
	gap: 40px;
}

.bioPhotoWrap {
	flex: 0 0 180px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	overflow: hidden;
	border: 4px solid rgba(255,255,255,0.15);
}

.bioPhoto {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.bioHeroInfo {
	flex: 1 1 auto;
	min-width: 0;
}

.bioName {
	color: #ffffff;
	font-size: 42px;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-weight: 800;
	line-height: 1.2em;
	margin: 0px 0px 10px 0px;
}

.bioTitle {
	color: #b6c6d6;
	font-size: 19px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-weight: 400;
	line-height: 1.5em;
}

.bioSocial {
	margin-top: 20px;
}

.bioSocialBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: rgba(255,255,255,0.12);
	font-size: 16px;
	margin-right: 10px;
	text-decoration: none !important;
}

.bioSocialBtn:hover {
	background-color: #00b0f0;
}

.bioSection {
	clear: both;
	background: #fafafa;
	position: relative;
	float: left;
	width: 100%;
	padding: 50px 0px 80px 0px;
}

.bioSectionContent {
	position: relative;
	width: 100%;
	max-width: 1120px;
	margin: 0px auto;
	box-sizing: border-box;
}

.bioSectionHeading {
	display: block;
	color: #303030;
	font-size: 26px;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-weight: 800;
	line-height: 1.4em;
	margin-bottom: 16px;
	border-bottom: 2px solid #eaeaea;
	padding-bottom: 10px;
}

.bioColBio {
	margin-bottom: 50px;
}

.bioText {
	color: #6b6b6b;
	font-size: 17px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-weight: 300;
	line-height: 1.6em;
}

.bioSessionCard {
	position: relative;
	background: #ffffff;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
	box-shadow: 0px 2px 6px rgba(0,0,0,0.04);
	padding: 30px 22px 26px 22px;
	margin-bottom: 18px;
}

.bioSessionCard:hover {
	box-shadow: 0px 10px 24px rgba(0,0,0,0.12);
	transform: translateY(-4px);
	border-color: #00b0f0;
}

.bioSessionTypePill {
	display: inline-block;
	background-color: #e3edf5;
	color: #043053;
	font-size: 10px;
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-weight: 400;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 12px;
	margin-bottom: 22px;
}

.bioSessionMeta {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 24px;
}

.bioSessionMetaRow {
	display: flex;
	align-items: center;
	gap: 8px;
}

.bioSessionMetaIcon {
	flex: 0 0 auto;
	display: inline-flex;
}

.bioSessionDay,
.bioSessionTime {
	display: inline-block;
	color: #2b333a;
	font-size: 12px;
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

.bioSessionBadges {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.bioSessionBadges .bioSessionTypePill {
	margin-bottom: 0px;
}

.bioSessionRole {
	color: #6b6b6b;
	font-size: 13px;
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.bioSessionTitle {
	color: #000000;
	font-size: 21px;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-weight: bold;
	line-height: 1.4em;
	margin-bottom: 10px;
}

.bioSessionDescription {
	color: #6b6b6b;
	font-size: 16px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-weight: 300;
	line-height: 1.6em;
}

.bioAgendaBtn {
	display: inline-block;
	color: #303030 !important;
	font-size: 14px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-weight: 700;
	text-decoration: none !important;
	margin-top: 16px;
	padding: 10px 20px;
	border: 1.5px solid #303030;
	border-radius: 24px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.bioAgendaBtn:hover {
	background-color: #303030;
	color: #ffffff !important;
}

/* ---------- AGENDA (agenda.html) ---------- */

.agenda {
	clear: both;
	position: relative;
	float: left;
	padding: 80px 0px 40px 0px;
	margin-top: 0px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #043053;
	width: 100%;
	height: 100%;
	max-height: 640px;
	overflow: hidden;
	top: 0;
	left: 0;
	z-index: 1;
	display: flex;
}

.agendaContent {
	padding: 0px 3%;
	color: #333333;
	font-size: 20px;
	font-family: Arial, Helvetica, sans-serif;
	padding-top: 20px;
	line-height: 1.5;
	font-weight: 400;
	position: relative;
	width: 100%;
}

.agendaTitle {
	color: #ffffff;
	font-size: 60px;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-weight: 800;
	line-height: 1.1em;
}

.agviewHeroInner {
	text-align: center;
}

.agviewHeroMeta {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 16px;
}

.agviewHeroMetaItem {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #b6c6d6;
	font-size: 15px;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-weight: 500;
}

.agviewHeroMetaIcon {
	flex: 0 0 auto;
}

/* Keeps these icons outline-only (Footer.html's icons set svg{fill:#fff} page-wide). */
.agviewHeroMetaIcon,
.agviewHeroMetaIcon * {
	fill: none !important;
}

.agviewHeroMetaIcon .agviewTicketNotch {
	fill: #043053 !important;
}

.agviewHeroNote {
	color: rgba(255,255,255,0.75);
	font-size: 15px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-style: italic;
	margin-top: 14px;
}

.agviewSection {
	clear: both;
	background: #ffffff;
	position: relative;
	float: left;
	width: 100%;
	padding: 50px 0px 0px 0px;
}

.agviewSectionContent {
	position: relative;
	width: 100%;
	max-width: 1120px;
	margin: 0px auto;
}

.agviewTabs {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 30px;
}

.agviewTab {
	display: inline-block;
	background: #ffffff;
	color: #6b6b6b;
	font-size: 14px;
	font-family: "Hanken Grotesk", system-ui, -apple-system, sans-serif;
	font-weight: 500;
	line-height: 1.6;
	padding: 10px 20px;
	border: 1px solid #e2e2e2;
	border-radius: 24px;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.agviewTab:hover {
	border-color: var(--brandPrimary);
	color: var(--brandPrimary);
}

.agviewTabActive,
.agviewTabActive:hover {
	background-color: var(--brandPrimary);
	border-color: var(--brandPrimary);
	color: #ffffff;
}

.agviewCard {
	position: relative;
	background: #ffffff;
	border: 1px solid #e2e2e2;
	border-radius: 12px;
	box-shadow: 0px 4px 16px rgba(0,0,0,0.06);
	margin-bottom: 30px;
}

.agviewCardHeader {
	background-color: #1a1a1a;
	border-radius: 12px 12px 0px 0px;
	padding: 18px 24px;
}

.agviewCardHeaderDate {
	color: #ffffff;
	font-size: 18px;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-weight: 800;
}

.agviewRow {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 24px;
	padding: 20px 50px 20px 24px;
	border: 1px solid transparent;
	border-bottom: 1px solid #eeeeee;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.agviewRow:last-child {
	border-bottom-color: transparent;
}

.agviewRow:has(.agviewExpandBtn):hover {
	border-color: #00b0f0;
	box-shadow: 0px 10px 24px rgba(0,0,0,0.12);
}

.agviewRowHighlight {
	background-color: var(--brandPrimaryTint);
}

.agviewRowTime {
	flex: 0 0 150px;
	width: 150px;
	padding-top: 2px;
	padding-bottom: 5px;
}

.agviewRowBody {
	flex: 1 1 auto;
	min-width: 0;
}

.agviewRowBody .bioSessionTypePill {
	margin-bottom: 8px;
}

.agviewRowBody .bioSessionTitle {
	margin-bottom: 6px;
}

.agviewRowByline {
	margin-top: 12px;
}

.agviewRowBylineLabel {
	display: block;
	color: #6b6b6b;
	font-size: 12px;
	font-family: 'JetBrains Mono', monospace;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	margin-bottom: 8px;
}

.agviewRowPeople {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 20px;
}

.agviewPerson {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.agviewPersonThumb {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	background: #f2f2f2;
}

.agviewPersonInfo {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.agviewPersonName {
	color: #043053;
	font-size: 14px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-weight: 700;
	line-height: 1.3em;
}

.agviewPersonTitle {
	color: #6b6b6b;
	font-size: 13px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-weight: 400;
	line-height: 1.3em;
}

.agviewPersonLink {
	color: #00b0f0 !important;
	text-decoration: none !important;
}

.agviewPersonLink:hover {
	color: var(--brandPrimary) !important;
	text-decoration: underline !important;
}

.agviewExpandBtn {
	/* Real <button>, styled to look like the plain round icon. */
	appearance: none;
	-webkit-appearance: none;
	font: inherit;
	padding: 0;
	background: none;
	position: absolute;
	top: 20px;
	right: 24px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1.5px solid #cccccc;
	color: #6b6b6b;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.25s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.agviewExpandBtn.is-open {
	background: var(--brandPrimary);
	border-color: var(--brandPrimary);
	color: #ffffff;
	transform: rotate(45deg);
}

.agviewExpandBtn:hover {
	border-color: var(--brandPrimary);
	color: var(--brandPrimary);
}

/* Keeps the open icon white on hover. */
.agviewExpandBtn.is-open:hover {
	color: #ffffff;
}

.agviewRegisterWrap {
	text-align: center;
}

/* Keeps the button centered (.registerlink sets inline-block) but still hideable. */
.agviewRegisterWrap.registerlink {
	display: block;
}

.agviewModalOverlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	z-index: 10000;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.agviewModal {
	position: relative;
	background: #ffffff;
	border-radius: 16px;
	max-width: 640px;
	width: 100%;
	max-height: 85vh;
	overflow-y: auto;
	padding: 40px;
	box-shadow: 0px 20px 60px rgba(0,0,0,0.3);
}

.agviewModalClose {
	/* Real <button>, styled like .agviewExpandBtn. */
	appearance: none;
	-webkit-appearance: none;
	font: inherit;
	padding: 0;
	border: none;
	position: absolute;
	top: 20px;
	right: 20px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #f2f2f2;
	color: #6b6b6b;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	cursor: pointer;
	/* Same plus icon, rotated 45deg into an X. */
	transform: rotate(45deg);
	transition: transform 0.25s ease, background-color 0.2s ease, color 0.2s ease;
}

.agviewModalClose:hover {
	background-color: var(--brandPrimary);
	color: #ffffff;
	transform: rotate(135deg);
}

.agviewModalMeta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
}

.agviewModalDescription {
	color: #6b6b6b;
	font-size: 16px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-weight: 400;
	line-height: 1.6em;
}

.agviewModalDescription a {
	color: #00b0f0;
	text-decoration: none;
}

.agviewModalDescription a:hover {
	text-decoration: underline;
	text-decoration-color: var(--brandPrimaryLight);
	text-underline-offset: 3px;
}

.agviewModalDivider {
	border-top: 1px solid #eeeeee;
	margin: 24px 0px;
}

.agviewModalSpeaker {
	color: #6b6b6b;
	font-size: 15px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-weight: 400;
	line-height: 1.6em;
	margin-bottom: 10px;
}

.agviewModalSpeaker:last-child {
	margin-bottom: 0px;
}

.agviewModalSpeaker strong {
	color: #6b6b6b;
	font-weight: normal;
}

/* ---------- SPONSORS SCROLLING ROW (agenda, speaker bio, get updates) ---------- */

.sponsorScroll {
	clear: both;
	background: #ffffff;
	position: relative;
	float: left;
	width: 100%;
	padding: 50px 0px;
}

.sponsorScrollLabel {
	text-align: center;
	color: #6b6b6b;
	font-size: 12px;
	font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 30px;
}

.sponsorScrollTrack {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.sponsorScrollTrack::before,
.sponsorScrollTrack::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 80px;
	z-index: 1;
	pointer-events: none;
}

.sponsorScrollTrack::before {
	left: 0;
	background: linear-gradient(to right, #ffffff, rgba(255,255,255,0));
}

.sponsorScrollTrack::after {
	right: 0;
	background: linear-gradient(to left, #ffffff, rgba(255,255,255,0));
}

.sponsorScrollList {
	display: flex;
	align-items: center;
	width: max-content;
	animation: sponsorScrollMove 35s linear infinite;
}

.sponsorScrollTrack:hover .sponsorScrollList {
	animation-play-state: paused;
}

@keyframes sponsorScrollMove {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

.sponsorScrollItem {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0px 40px;
}

.sponsorScrollLogo {
	max-height: 60px;
	max-width: 190px;
	width: auto;
	height: auto;
}

/* ---------- GET UPDATES (get-updates.html) ---------- */
.guHero {
	clear: both;
	position: relative;
	float: left;
	width: 100%;
	padding: 80px 0px 40px 0px;
	margin-top: 0px;
	background-color: #043053;
}

.guHeroContent {
	position: relative;
	width: 100%;
	max-width: 1120px;
	padding-top: 20px;
	margin: 0px auto;
	box-sizing: border-box;
}

.guHeroInner {
	text-align: center;
}

.guTitle {
	color: #ffffff;
	font-size: 60px;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-weight: 800;
	line-height: 1.1em;
}

.guMeta {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 16px;
}

.guMetaItem {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #b6c6d6;
	font-size: 15px;
	font-family: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
	font-weight: 500;
}

.guMetaIcon {
	flex: 0 0 auto;
}

/* Keeps these icons outline-only (Footer.html's icons set svg{fill:#fff} page-wide). */
.guMetaIcon,
.guMetaIcon * {
	fill: none !important;
}

.guMetaIcon .guMetaTicketNotch {
	fill: #043053 !important;
}

.guSection {
	clear: both;
	background: #fafafa;
	position: relative;
	float: left;
	width: 100%;
	padding: 50px 0px 80px 0px;
}

.guSectionContent {
	position: relative;
	width: 100%;
	max-width: 1120px;
	margin: 0px auto;
	box-sizing: border-box;
}

.guIntro {
	color: #333333;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 17px;
	line-height: 1.6em;
	margin: 0px auto 20px auto;
	text-align: center;
}

.guFormContainer {
	margin-top: 0px;
	text-align: left;
}

/* ---------- GET UPDATES FORM (event_updates_form() in includes/functions.php) ----------
   The form markup has inline styles, so !important is needed to override them. */
#agenda-form {
	max-width: 720px !important;
	padding-top: 0px !important;
	margin: 0px auto !important;
}

#agenda-form-inner {
	background: #ffffff;
	border: 1px solid #eeeeee;
	border-radius: 20px;
	padding: 36px 32px;
	box-shadow: 0px 20px 50px rgba(4,48,83,0.08);
	box-sizing: border-box;
}

#agenda-form-inputposition {
	float: none !important;
	width: 100% !important;
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
}

[id^="agenda-form-question-"] {
	float: none !important;
	width: calc(50% - 10px) !important;
	padding-top: 0px !important;
	margin-bottom: 18px;
	box-sizing: border-box;
}

[id^="agenda-form-label-"] {
	float: none !important;
	width: 100% !important;
	padding-top: 0px !important;
	margin-bottom: 6px;
}

[id^="agenda-form-label-"] b {
	color: #043053;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

#agenda-form span[style*="color:red"] {
	color: var(--brandPrimary) !important;
}

/* Collapses the "&nbsp;" before each input (it caused an extra line break). */
[id^="agenda-form-input-"] {
	width: 100% !important;
	font-size: 0px !important;
}

.FormInput:not([type="checkbox"]):not([type="image"]) {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
	height: auto !important;
	padding: 12px 16px !important;
	border: 1.5px solid #dddddd !important;
	border-radius: 10px !important;
	color: #043053 !important;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif !important;
	font-size: 15px !important;
	transition: border-color 0.2s ease;
}

.FormInput:not([type="checkbox"]):not([type="image"]):focus {
	border-color: var(--brandPrimary) !important;
	outline: none;
}

select.FormInput {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23043053' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 16px;
	padding-right: 40px !important;
}

input[type="checkbox"].FormInput {
	width: auto !important;
	height: auto !important;
	padding: 0px !important;
	margin-right: 8px;
	accent-color: var(--brandPrimary);
}

#agenda-form-label-submit {
	text-align: center !important;
	padding-top: 10px !important;
}

/* Fixed height, auto width: keeps each button image's proportions. */
#agenda-form-label-submit input[type="image"] {
	height: 44px !important;
	width: auto !important;
	max-width: 100%;
	cursor: pointer;
}

#agenda-form-label-confirm,
#agenda-form-label-optin {
	color: #333333 !important;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif !important;
	font-size: 14px !important;
	line-height: 1.5em !important;
}

#agenda-form-label-indicates {
	color: #6b6b6b !important;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif !important;
	font-size: 13px !important;
	text-align: center !important;
	padding-top: 12px !important;
	padding-bottom: 0px !important;
}

#optintext {
	color: #6b6b6b !important;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif !important;
	font-size: 12px !important;
	text-align: center;
	line-height: 1.5em;
	padding-top: 12px !important;
}

#privacy {
	padding-top: 16px !important;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 13px;
}

#privacy a {
	color: #6b6b6b !important;
}

/* ---------- RESOURCE LIBRARY (resource-library/) ----------
   Login form: event_login_form() in includes/functions.php. Tiles: built from config/agenda.php. */
.resourceLibrary {
	clear: both;
	background: #fafafa;
	position: relative;
	float: left;
	width: 100%;
	padding: 50px 0px 80px 0px;
}

.resourceLibraryContent {
	padding: 0px 3%;
	color: #333333;
	font-size: 17px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	line-height: 1.6;
	font-weight: 400;
	position: relative;
	width: 100%;
	max-width: 1120px;
	margin: 0px auto;
	box-sizing: border-box;
}

.resourceLibraryContent .floatLeftFull {
	color: #333333;
	font-size: 15px;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-weight: 400;
	line-height: 1.6;
}

/* Darker mailto link color for contrast (not the Download buttons). */
.resourceLibraryContent a[href^="mailto:"] {
	color: #007399 !important;
}

#Registration_Formresourcelogin {
	display: block;
	max-width: 720px;
	margin: 0px auto !important;
	padding: 40px 32px;
	background: #ffffff;
	border: 1px solid #eeeeee;
	border-radius: 20px;
	box-shadow: 0px 20px 50px rgba(4,48,83,0.08);
	box-sizing: border-box;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif !important;
}

#Registration_Formresourcelogin [id^="resourcelibrary-form-input-"],
#Registration_Formresourcelogin [id^="resource-form-input-"] {
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif !important;
	color: #333333 !important;
	font-size: 15px !important;
}

#Registration_Formresourcelogin [id^="resourcelibrary-form-input-"] strong {
	color: #043053;
	font-size: 16px;
}
/* ---- Resource tiles (ResourceLibrary.html output, built from config/agenda.php) ---- */
.resourceRow {
	display: flex;
	flex-wrap: wrap;
}

.resourceEmpty {
	color: #333333;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 16px;
	text-align: center;
}

.resourceTile {
	float: left;
	position: relative;
	width: 100%;
	max-width: 50%;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
	margin-bottom: 2rem;
	box-sizing: border-box;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
}

.resourceTileOutter {
	height: 100%;
	background-color: #ffffff;
	border: 1px solid #eeeeee;
	border-radius: 14px;
	box-shadow: 0px 20px 50px rgba(4,48,83,0.08);
	overflow: hidden;
	box-sizing: border-box;
}

.resourecTileInner {
	display: inline-block;
	width: 100%;
}

.resourceTileVideo {
	display: block;
	width: 100%;
	border-radius: 14px 14px 0px 0px;
	overflow: hidden;
}

.resourceTileVideoFrame {
	display: block;
	width: 100%;
	height: 253px;
	border: 0px;
	vertical-align: middle;
}

.resourceVideoFacade {
	position: relative;
	display: block;
	width: 100%;
	height: 253px;
	margin: 0;
	padding: 0;
	border: 0;
	-webkit-appearance: none;
	appearance: none;
	background: #000000 center/cover no-repeat;
	cursor: pointer;
}

.resourceVideoFacade:hover .hpBrellaPlayBtn,
.resourceVideoFacade:focus-visible .hpBrellaPlayBtn {
	background: var(--brandPrimaryLight);
	transform: translate(-50%, -50%) scale(1.08);
}

.resourceDescription {
	padding: 1.5rem;
}

.resourceTitle {
	color: #043053;
	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	padding-bottom: 10px;
}

.resourceDescription .agviewRowPeople {
	margin-bottom: 14px;
}

.resourcePresentation {
	padding-top: 4px;
}

.resourcePresentation .hpBtnPrimary {
	/* Keeps the Download buttons white (the link rule above outranks .hpBtnPrimary), red on hover. */
	color: #ffffff !important;
	font-size: 14px;
	padding: 10px 20px;
}

.resourcePresentation .hpBtnPrimary:hover {
	color: var(--brandPrimary) !important;
}

/* ============================================================
   PHONE AND TABLET (@media rules, widest breakpoint first; must stay
   at the end of this file)
   ============================================================ */

@media only screen and (max-width: 1100px){
	.center {
		margin-bottom: 20px;
	}
	body {
		margin: 0px auto;
	}
	#container {
		width: 100%;
	}
}

@media only screen and (max-width: 1024px){
	.hpHeroTitle {
		font-size: 46px;
	}
	.hpCards,
	.hpSpeakerGrid {
		grid-template-columns: repeat(2, 1fr);
	}
	.hpWelcomeStats .hpStatNumber {
		font-size: 52px;
	}
	.hpFinalCta .hpFinalCtaTitle,
	#newsletter .hpFinalCtaTitle {
		font-size: 50px;
	}
}

@media only screen and (max-width: 880px){
	.hpNavInner {
		padding: 10px 5%;
	}
	.hpNavToggle {
		display: flex;
	}
	.hpNavLinks {
		position: fixed;
		top: 54px;
		left: 0;
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
		gap: 0px;
		background: rgba(255,255,255,0.98);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		box-shadow: 0px 8px 16px rgba(0,0,0,0.08);
		max-height: 0px;
		overflow: hidden;
		transition: max-height 0.25s ease;
	}
	.hpNavLinks.is-open {
		max-height: 400px;
	}
	.hpNavLink,
	.hpNavCta {
		width: 100%;
		box-sizing: border-box;
		padding: 16px 6%;
		border-bottom: 1px solid #eeeeee;
		margin-left: 0px;
	}
	.hpNavLinks .hpNavLink {
		color: #043053 !important;
		opacity: 1;
	}
	.hpNavLinks .hpNavCta.hpBtnPrimary {
		background: transparent;
		color: var(--brandPrimary) !important;
		border: none;
		border-radius: 0px;
		text-align: left;
	}
}

@media only screen and (max-width: 720px){
	.center {
		margin-bottom: 0px;
	}
	.hpHero {
		min-height: auto;
		padding-top: 140px;
	}
	.hpHeroEyebrowBreak {
		display: block;
	}
	.hpHeroTitle {
		font-size: 34px;
	}
	.hpCards,
	.hpSpeakerGrid {
		grid-template-columns: 1fr;
	}
	.resourceTile {
		max-width: 100%;
	}
	.hpAttendGrid,
	.hpBrellaGrid,
	.hpPasses {
		grid-template-columns: 1fr;
	}
	.hpAttendGrid {
		gap: 0px;
	}
	#brella .hpEyebrow,
	#brella .hpSectionHeading {
		text-align: center !important;
	}
	#brella .hpBtnPrimary {
		display: block;
		width: fit-content;
		margin: 0px auto;
	}
	.hpFooterTop {
		flex-direction: column;
		gap: 34px;
	}
	.hpFooterBrand {
		max-width: 100%;
		flex-basis: auto;
	}
	.hpFooterCols {
		gap: 40px;
	}
	.hpFooter::before {
		font-size: 56px;
		bottom: -8px;
	}
	.hpSectionHeading {
		font-size: 28px;
	}
	.hpFinalCtaTitle {
		font-size: 30px;
	}
	.hpFinalCta .hpFinalCtaTitle,
	#newsletter .hpFinalCtaTitle {
		font-size: 36px;
	}
	.hpWelcomeStats {
		gap: 24px;
	}
	.hpWelcomeStats .hpStat {
		min-width: 40%;
	}
	.hpWelcomeStats .hpStatNumber {
		font-size: 42px;
	}
	.hpSponsorTier {
		gap: 34px;
	}
	.hpSponsorTierLabel {
		gap: 12px;
	}
	.hpSponsorTierLabel::before,
	.hpSponsorTierLabel::after {
		max-width: 50px;
	}
	.hpSponsorTier-gold img {
		height: 74px;
	}
	.hpSponsorTier-silver img {
		height: 56px;
	}
	.hpSponsorTier-goldshowcase img {
		height: 50px;
	}
	.hpSponsorTier-silvershowcase img {
		height: 44px;
	}
	.hpSponsorTier-bronze img {
		height: 50px;
	}
	.hpSponsorTier-demo img {
		height: 44px;
	}
	.hpSponsorTier-spotlight img {
		height: 44px;
	}
	.hpSponsorTier-media img {
		height: 36px;
	}
}

@media only screen and (max-width: 640px){
	.bioHeroGrid {
		flex-direction: column;
		text-align: center;
		gap: 20px;
	}
	.bioPhotoWrap {
		flex: 0 0 140px;
		width: 140px;
		height: 140px;
	}
	.bioName {
		font-size: 32px;
	}
	.bioSocial {
		display: flex;
		justify-content: center;
	}
	.agviewTabs {
		flex-direction: column;
		align-items: stretch;
	}
	.agviewTab {
		text-align: center;
	}
	.agviewHeroMeta {
		gap: 12px 16px;
	}
	.agviewRow {
		flex-direction: column;
		gap: 6px;
		padding: 18px 46px 18px 20px;
	}
	.agviewRowTime {
		width: auto;
		flex: 0 0 auto;
	}
	.agviewExpandBtn {
		top: 18px;
		right: 18px;
	}
	.agviewModal {
		padding: 28px 22px;
	}
	.agviewPersonThumb {
		flex-basis: 30px;
		width: 30px;
		height: 30px;
	}
	[id^="agenda-form-question-"] {
		width: 100% !important;
	}
}

@media only screen and (max-width: 560px){
	.spkCardImgWrap {
		width: 150px;
		height: 150px;
	}
}
