Microsite Enhancement- 9-7-2026
This commit is contained in:
parent
4bfc64f56d
commit
37f3a39c3e
|
|
@ -0,0 +1,3 @@
|
||||||
|
node_modules/
|
||||||
|
.env
|
||||||
|
dist/
|
||||||
|
|
@ -8,6 +8,10 @@
|
||||||
"name": "eventbuzz-web",
|
"name": "eventbuzz-web",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
"bootstrap-icons": "^1.13.1",
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
"flatpickr": "^4.6.13",
|
"flatpickr": "^4.6.13",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.3.1",
|
||||||
|
|
@ -1275,6 +1279,25 @@
|
||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
"node_modules/bootstrap-icons": {
|
||||||
|
"version": "1.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.13.1.tgz",
|
||||||
|
"integrity": "sha512-ijombt4v6bv5CLeXvRWKy7CuM3TRTuPEuGaGKvTV5cz65rQSY8RQ2JcHt6b90cBBAC7s8fsf2EkQDldzCoXUjw==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/twbs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/bootstrap"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
"node_modules/browserslist": {
|
"node_modules/browserslist": {
|
||||||
"version": "4.28.4",
|
"version": "4.28.4",
|
||||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.4.tgz",
|
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.4.tgz",
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,10 @@
|
||||||
"preview": "vite preview --port 5175"
|
"preview": "vite preview --port 5175"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
"bootstrap-icons": "^1.13.1",
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
"flatpickr": "^4.6.13",
|
"flatpickr": "^4.6.13",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.3.1",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,11 @@
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import type { AgendaItem, MicrositeSection, MicrositeSpeaker, PublicMicrositePayload } from '../../types';
|
import type { AgendaItem, MicrositeSection, MicrositeSpeaker, PublicMicrositePayload } from '../../types';
|
||||||
import { visitorApi } from '../../api/visitor';
|
import { visitorApi } from '../../api/visitor';
|
||||||
|
<<<<<<< HEAD
|
||||||
|
|
||||||
|
=======
|
||||||
|
import 'bootstrap-icons/font/bootstrap-icons.css';
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
type Ctx = {
|
type Ctx = {
|
||||||
data: PublicMicrositePayload;
|
data: PublicMicrositePayload;
|
||||||
eventId: string;
|
eventId: string;
|
||||||
|
|
@ -15,17 +19,40 @@ function str(v: unknown, fallback = ''): string {
|
||||||
function HeaderSection({ section, ctx }: { section: MicrositeSection; ctx: Ctx }) {
|
function HeaderSection({ section, ctx }: { section: MicrositeSection; ctx: Ctx }) {
|
||||||
const c = section.config;
|
const c = section.config;
|
||||||
const logoText = str(c.logoText, ctx.data.event.name);
|
const logoText = str(c.logoText, ctx.data.event.name);
|
||||||
|
<<<<<<< HEAD
|
||||||
const logoUrl = str(c.logoUrl, ctx.data.website.logo || ctx.data.event.logoUrl || '');
|
const logoUrl = str(c.logoUrl, ctx.data.website.logo || ctx.data.event.logoUrl || '');
|
||||||
const menuItems = (Array.isArray(c.menuItems) ? c.menuItems : []) as { label?: string; url?: string }[];
|
const menuItems = (Array.isArray(c.menuItems) ? c.menuItems : []) as { label?: string; url?: string }[];
|
||||||
|
|
||||||
|
=======
|
||||||
|
// const logoUrl = str(c.logoUrl, ctx.data.website.logo || ctx.data.event.logoUrl || '');
|
||||||
|
const logoUrl = str( c.logoUrl || ctx.data.website.logo || ctx.data.event.logoUrl, '');
|
||||||
|
const menuItems = (Array.isArray(c.menuItems) ? c.menuItems : []) as { label?: string; url?: string }[];
|
||||||
|
|
||||||
|
// Temporary console logs for debugging for Logo in Navbar
|
||||||
|
// console.log("Header config:", c);
|
||||||
|
// console.log("Website logo:", ctx.data.website.logo);
|
||||||
|
// console.log("Event logo:", ctx.data.event.logoUrl);
|
||||||
|
// console.log("Final logoUrl:", logoUrl);
|
||||||
|
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
return (
|
return (
|
||||||
<header className="eb-conference-header fixed-top">
|
<header className="eb-conference-header fixed-top">
|
||||||
<nav className="navbar navbar-expand-lg navbar-dark">
|
<nav className="navbar navbar-expand-lg navbar-dark">
|
||||||
<div className="container-fluid px-3 px-lg-4" style={{ display: 'flex', flexWrap: 'wrap', alignItems: 'center', justifyContent: 'space-between' }}>
|
<div className="container-fluid px-3 px-lg-4" style={{ display: 'flex', flexWrap: 'wrap', alignItems: 'center', justifyContent: 'space-between' }}>
|
||||||
|
<<<<<<< HEAD
|
||||||
<a className="navbar-brand" href="#hero" style={{ textDecoration: 'none', color: '#fff' }}>
|
<a className="navbar-brand" href="#hero" style={{ textDecoration: 'none', color: '#fff' }}>
|
||||||
{logoUrl ? <img src={logoUrl} alt={logoText} className="eb-header-logo" /> : <span>{logoText}</span>}
|
{logoUrl ? <img src={logoUrl} alt={logoText} className="eb-header-logo" /> : <span>{logoText}</span>}
|
||||||
</a>
|
</a>
|
||||||
<ul className="navbar-nav" style={{ display: 'flex', gap: '0.75rem', listStyle: 'none', margin: 0, padding: 0, flexWrap: 'wrap' }}>
|
<ul className="navbar-nav" style={{ display: 'flex', gap: '0.75rem', listStyle: 'none', margin: 0, padding: 0, flexWrap: 'wrap' }}>
|
||||||
|
=======
|
||||||
|
{/* <a className="navbar-brand" href="#hero" style={{ textDecoration: 'none', color: '#fff' }}>
|
||||||
|
{logoUrl ? <img src={logoUrl} alt={logoText} className="eb-header-logo" /> : <span>{logoText}</span>}
|
||||||
|
</a> */}
|
||||||
|
<a className="navbar-brand" href="#hero" style={{ display: 'flex', alignItems: 'center', gap: '12px', textDecoration: 'none', color: '#fff',}}> {logoUrl && ( <img src={logoUrl} alt={logoText} className="eb-header-logo" /> )}
|
||||||
|
<span>{logoText}</span>
|
||||||
|
</a>
|
||||||
|
<ul className="navbar-nav" style={{ display: 'flex',alignItems: 'center', gap: '0.75rem', listStyle: 'none', margin: 0, padding: 0, flexWrap: 'wrap' }}>
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
{menuItems.map((item, i) => {
|
{menuItems.map((item, i) => {
|
||||||
const label = str(item.label);
|
const label = str(item.label);
|
||||||
const url = str(item.url, '#');
|
const url = str(item.url, '#');
|
||||||
|
|
@ -163,6 +190,7 @@ function AboutSection({ section }: { section: MicrositeSection }) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
function AgendaSection({ section, items }: { section: MicrositeSection; items: AgendaItem[] }) {
|
function AgendaSection({ section, items }: { section: MicrositeSection; items: AgendaItem[] }) {
|
||||||
const title = str(section.config.title, 'Schedule');
|
const title = str(section.config.title, 'Schedule');
|
||||||
const list = items.length ? items : [{ title: 'Session 1', time: '9:00 AM', track: 'Main' }];
|
const list = items.length ? items : [{ title: 'Session 1', time: '9:00 AM', track: 'Main' }];
|
||||||
|
|
@ -190,10 +218,565 @@ function AgendaSection({ section, items }: { section: MicrositeSection; items: A
|
||||||
{item.description ? <p className="mb-0 text-muted small">{item.description}</p> : null}
|
{item.description ? <p className="mb-0 text-muted small">{item.description}</p> : null}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
=======
|
||||||
|
// function AgendaSection({ section, items }: { section: MicrositeSection; items: AgendaItem[] }) {
|
||||||
|
// const title = str(section.config.title, 'Schedule');
|
||||||
|
// const list = items.length ? items : [{ title: 'Session 1', time: '9:00 AM', track: 'Main' }];
|
||||||
|
// const [expandedIndex, setExpandedIndex] = useState<number | null>(null);
|
||||||
|
|
||||||
|
// return (
|
||||||
|
// <section id="schedule" className="eb-schedule-section section py-5">
|
||||||
|
// <div className="container">
|
||||||
|
// <h2 className="eb-section-heading text-center mb-5">{title}</h2>
|
||||||
|
|
||||||
|
// <div
|
||||||
|
// style={{
|
||||||
|
// maxWidth: '900px',
|
||||||
|
// margin: '0 auto',
|
||||||
|
// background: '#fff',
|
||||||
|
// borderRadius: '12px',
|
||||||
|
// overflow: 'hidden',
|
||||||
|
// boxShadow: '0 1px 3px rgba(0, 0, 0, 0.05)',
|
||||||
|
// border: '0.5px solid #e2e8f0',
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// {list.map((item, index) => {
|
||||||
|
// const isExpanded = expandedIndex === index;
|
||||||
|
// const hasSp = !!str(item.speakerName);
|
||||||
|
|
||||||
|
// return (
|
||||||
|
// <div key={index} style={{ borderBottom: index < list.length - 1 ? '0.5px solid #e2e8f0' : 'none' }}>
|
||||||
|
// <button
|
||||||
|
// onClick={() => setExpandedIndex(isExpanded ? null : index)}
|
||||||
|
// style={{
|
||||||
|
// width: '100%',
|
||||||
|
// background: isExpanded ? '#f8fafc' : '#fff',
|
||||||
|
// border: 'none',
|
||||||
|
// padding: '1rem 1.5rem',
|
||||||
|
// textAlign: 'left',
|
||||||
|
// cursor: 'pointer',
|
||||||
|
// transition: 'background-color 0.3s, padding 0.3s',
|
||||||
|
// display: 'flex',
|
||||||
|
// alignItems: 'center',
|
||||||
|
// gap: '1rem',
|
||||||
|
// justifyContent: 'space-between',
|
||||||
|
// }}
|
||||||
|
// onMouseEnter={(e) => {
|
||||||
|
// e.currentTarget.style.backgroundColor = '#f1f5f9';
|
||||||
|
// }}
|
||||||
|
// onMouseLeave={(e) => {
|
||||||
|
// e.currentTarget.style.backgroundColor = isExpanded ? '#f8fafc' : '#fff';
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// <div style={{ display: 'flex', alignItems: 'center', gap: '1rem', flex: 1, minWidth: 0, overflow: 'hidden'}}>
|
||||||
|
// <span
|
||||||
|
// style={{
|
||||||
|
// background: '#0f3072',
|
||||||
|
// color: '#fff',
|
||||||
|
// padding: '0.5rem 0.75rem',
|
||||||
|
// borderRadius: '4px',
|
||||||
|
// fontSize: '0.8rem',
|
||||||
|
// fontWeight: 600,
|
||||||
|
// whiteSpace: 'nowrap',
|
||||||
|
// flexShrink: 0,
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// {item.time || 'TBA'}
|
||||||
|
// </span>
|
||||||
|
|
||||||
|
// <div style={{ minWidth: 0, flex: 1 }}>
|
||||||
|
// <div
|
||||||
|
// style={{
|
||||||
|
// fontSize: '1rem',
|
||||||
|
// fontWeight: 700,
|
||||||
|
// color: '#0f172a',
|
||||||
|
// margin: '0 0 0.25rem 0',
|
||||||
|
// overflow: 'hidden',
|
||||||
|
// textOverflow: 'ellipsis',
|
||||||
|
// whiteSpace: 'nowrap',
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// {item.title || 'Untitled Session'}
|
||||||
|
// </div>
|
||||||
|
// {item.track && (
|
||||||
|
// <span
|
||||||
|
// style={{
|
||||||
|
// background: 'rgba(0, 194, 209, 0.1)',
|
||||||
|
// color: '#0891b2',
|
||||||
|
// padding: '0.25rem 0.6rem',
|
||||||
|
// borderRadius: '3px',
|
||||||
|
// fontSize: '0.65rem',
|
||||||
|
// fontWeight: 600,
|
||||||
|
// textTransform: 'uppercase',
|
||||||
|
// letterSpacing: '0.3px',
|
||||||
|
// display: 'inline-block',
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// {item.track}
|
||||||
|
// </span>
|
||||||
|
// )}
|
||||||
|
// </div>
|
||||||
|
// </div>
|
||||||
|
|
||||||
|
// <div
|
||||||
|
// style={{
|
||||||
|
// display: 'flex',
|
||||||
|
// alignItems: 'center',
|
||||||
|
// justifyContent: 'center',
|
||||||
|
// width: '26px',
|
||||||
|
// height: '26px',
|
||||||
|
// background: isExpanded ? '#e0f2fe' : '#f1f5f9',
|
||||||
|
// borderRadius: '6px',
|
||||||
|
// transition: 'all 0.3s',
|
||||||
|
// color: isExpanded ? '#0891b2' : '#64748b',
|
||||||
|
// fontWeight: 600,
|
||||||
|
// fontSize: '1.2rem',
|
||||||
|
// flexShrink: 0,
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// <i className={`bi ${isExpanded ? 'bi-chevron-up' : 'bi-chevron-down'}`}></i>
|
||||||
|
// </div>
|
||||||
|
// </button>
|
||||||
|
|
||||||
|
// {isExpanded && (
|
||||||
|
// <div
|
||||||
|
// style={{
|
||||||
|
// background: '#f8fafc',
|
||||||
|
// padding: '1.5rem',
|
||||||
|
// borderTop: '1px solid #e2e8f0',
|
||||||
|
// animation: 'slideDown 0.3s ease-out',
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// {item.description && (
|
||||||
|
// <div style={{ marginBottom: '1.5rem' }}>
|
||||||
|
// <h4
|
||||||
|
// style={{
|
||||||
|
// fontSize: '0.85rem',
|
||||||
|
// fontWeight: 600,
|
||||||
|
// color: '#475569',
|
||||||
|
// textTransform: 'uppercase',
|
||||||
|
// letterSpacing: '0.5px',
|
||||||
|
// marginBottom: '0.75rem',
|
||||||
|
// margin: 0,
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// Session Details
|
||||||
|
// </h4>
|
||||||
|
// <h3
|
||||||
|
// style={{
|
||||||
|
// margin: '0.75rem 0 0',
|
||||||
|
// fontSize: '0.95rem',
|
||||||
|
// color: '#536885',
|
||||||
|
// lineHeight: 1.6,
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// {item.title}
|
||||||
|
// </h3>
|
||||||
|
// {item.track && (
|
||||||
|
// <span
|
||||||
|
// style={{
|
||||||
|
// background: 'rgba(0, 194, 209, 0.1)',
|
||||||
|
// color: '#0891b2',
|
||||||
|
// padding: '0.25rem 0.6rem',
|
||||||
|
// borderRadius: '3px',
|
||||||
|
// fontSize: '0.65rem',
|
||||||
|
// fontWeight: 600,
|
||||||
|
// textTransform: 'uppercase',
|
||||||
|
// letterSpacing: '0.3px',
|
||||||
|
// display: 'inline-block',
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// {item.track}
|
||||||
|
// </span>
|
||||||
|
// )}
|
||||||
|
|
||||||
|
// <p
|
||||||
|
// style={{
|
||||||
|
// margin: '0.75rem 0 0',
|
||||||
|
// fontSize: '0.95rem',
|
||||||
|
// color: '#475569',
|
||||||
|
// lineHeight: 1.6,
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// {item.description}
|
||||||
|
// </p>
|
||||||
|
// </div>
|
||||||
|
// )}
|
||||||
|
|
||||||
|
// {hasSp && (
|
||||||
|
// <div style={{ paddingTop: '1rem', borderTop: '1px solid #e2e8f0' }}>
|
||||||
|
// <h4
|
||||||
|
// style={{
|
||||||
|
// fontSize: '0.85rem',
|
||||||
|
// fontWeight: 600,
|
||||||
|
// color: '#475569',
|
||||||
|
// textTransform: 'uppercase',
|
||||||
|
// letterSpacing: '0.5px',
|
||||||
|
// marginBottom: '0.75rem',
|
||||||
|
// margin: 0,
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// Speaker
|
||||||
|
// </h4>
|
||||||
|
// <div style={{ display: 'flex', alignItems: 'center', gap: '1rem', marginTop: '0.75rem' }}>
|
||||||
|
// {item.speakerPhotoUrl && (
|
||||||
|
// <img
|
||||||
|
// src={item.speakerPhotoUrl}
|
||||||
|
// alt={str(item.speakerName)}
|
||||||
|
// style={{
|
||||||
|
// width: '48px',
|
||||||
|
// height: '48px',
|
||||||
|
// borderRadius: '50%',
|
||||||
|
// objectFit: 'cover',
|
||||||
|
// border: '2px solid #e2e8f0',
|
||||||
|
// }}
|
||||||
|
// />
|
||||||
|
// )}
|
||||||
|
// <div>
|
||||||
|
// <div style={{ fontSize: '0.9rem', fontWeight: 600, color: '#0f172a' }}>
|
||||||
|
// {item.speakerName}
|
||||||
|
// </div>
|
||||||
|
// </div>
|
||||||
|
// </div>
|
||||||
|
// </div>
|
||||||
|
// )}
|
||||||
|
// </div>
|
||||||
|
// )}
|
||||||
|
// </div>
|
||||||
|
// );
|
||||||
|
// })}
|
||||||
|
// </div>
|
||||||
|
|
||||||
|
// <div className="text-center mt-4">
|
||||||
|
// <a className="btn btn-primary btn-lg me-2" href="#register">
|
||||||
|
// Register
|
||||||
|
// </a>
|
||||||
|
// <a className="btn btn-outline-secondary btn-lg" href="#hero">
|
||||||
|
// Back to top
|
||||||
|
// </a>
|
||||||
|
// </div>
|
||||||
|
// </div>
|
||||||
|
|
||||||
|
// <style>{`
|
||||||
|
// @keyframes slideDown {
|
||||||
|
// from {
|
||||||
|
// opacity: 0;
|
||||||
|
// transform: translateY(-10px);
|
||||||
|
// }
|
||||||
|
// to {
|
||||||
|
// opacity: 1;
|
||||||
|
// transform: translateY(0);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// `}</style>
|
||||||
|
// </section>
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
function AgendaSection({
|
||||||
|
|
||||||
|
section,
|
||||||
|
items,
|
||||||
|
}: {
|
||||||
|
|
||||||
|
section: MicrositeSection;
|
||||||
|
items: AgendaItem[];
|
||||||
|
}) {
|
||||||
|
console.log("Items:",items);
|
||||||
|
|
||||||
|
|
||||||
|
const title = str(section.config.title, "Schedule");
|
||||||
|
|
||||||
|
const list = items.length
|
||||||
|
? items
|
||||||
|
: [{ title: "Session 1", time: "9:00 AM", track: "Main", date: "" }];
|
||||||
|
|
||||||
|
// Get unique dates
|
||||||
|
const dates = [...new Set(list.map((item) => item.date).filter(Boolean))];
|
||||||
|
|
||||||
|
// Selected day
|
||||||
|
const [selectedDate, setSelectedDate] = useState(
|
||||||
|
dates.length ? dates[0] : ""
|
||||||
|
);
|
||||||
|
|
||||||
|
// Expanded accordion
|
||||||
|
const [expandedIndex, setExpandedIndex] = useState<number | null>(null);
|
||||||
|
|
||||||
|
// Filter sessions according to selected date
|
||||||
|
const filteredList = list.filter((item) => item.date === selectedDate);
|
||||||
|
console.log("dates:", dates);
|
||||||
|
console.log("selectedDate:", selectedDate);
|
||||||
|
console.log("filteredList:", filteredList);
|
||||||
|
console.log("list:", list);
|
||||||
|
return (
|
||||||
|
<section id="schedule" className="eb-schedule-section section py-5">
|
||||||
|
<div className="container">
|
||||||
|
<h2 className="eb-section-heading text-center mb-4">{title}</h2>
|
||||||
|
|
||||||
|
{/* Day Selector */}
|
||||||
|
<div
|
||||||
|
className="d-flex justify-content-center flex-wrap gap-2 mb-4"
|
||||||
|
>
|
||||||
|
{dates.map((date) => (
|
||||||
|
<button
|
||||||
|
key={date}
|
||||||
|
className={`btn ${
|
||||||
|
selectedDate === date
|
||||||
|
? "btn-primary"
|
||||||
|
: "btn-outline-primary"
|
||||||
|
}`}
|
||||||
|
style={{ marginRight: "8px" }}
|
||||||
|
onClick={() => {
|
||||||
|
setSelectedDate(date);
|
||||||
|
setExpandedIndex(null);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{date}
|
||||||
|
</button>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Agenda */}
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
maxWidth: "900px" ,
|
||||||
|
margin: "0 auto",
|
||||||
|
background: "#fff",
|
||||||
|
borderRadius: "12px",
|
||||||
|
overflow: "hidden",
|
||||||
|
boxShadow: "0 1px 3px rgba(0,0,0,.05)",
|
||||||
|
border: "0.5px solid #e2e8f0",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{filteredList.map((item, index) => {
|
||||||
|
const isExpanded = expandedIndex === index;
|
||||||
|
const hasSp = !!str(item.speakerName);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
key={index}
|
||||||
|
style={{
|
||||||
|
borderBottom:
|
||||||
|
index < filteredList.length - 1
|
||||||
|
? "0.5px solid #e2e8f0"
|
||||||
|
: "none",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{/* Your existing accordion code */}
|
||||||
|
<button
|
||||||
|
onClick={() => setExpandedIndex(isExpanded ? null : index)}
|
||||||
|
style={{
|
||||||
|
width: '100%',
|
||||||
|
background: isExpanded ? '#f8fafc' : '#fff',
|
||||||
|
border: 'none',
|
||||||
|
padding: '1rem 1.5rem',
|
||||||
|
textAlign: 'left',
|
||||||
|
cursor: 'pointer',
|
||||||
|
transition: 'background-color 0.3s, padding 0.3s',
|
||||||
|
display: 'flex',
|
||||||
|
alignItems: 'center',
|
||||||
|
gap: '1rem',
|
||||||
|
justifyContent: 'space-between',
|
||||||
|
|
||||||
|
}}
|
||||||
|
onMouseEnter={(e) => {
|
||||||
|
e.currentTarget.style.backgroundColor = '#f1f5f9';
|
||||||
|
}}
|
||||||
|
onMouseLeave={(e) => {
|
||||||
|
e.currentTarget.style.backgroundColor = isExpanded ? '#f8fafc' : '#fff';
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{/* Left: Time and Title */}
|
||||||
|
<div style={{ display: 'flex', alignItems: 'center', gap: '1rem', flex: 1, minWidth: 0, overflow: 'hidden'}}>
|
||||||
|
{/* Time Badge */}
|
||||||
|
<span
|
||||||
|
style={{
|
||||||
|
background: '#0f3072',
|
||||||
|
color: '#fff',
|
||||||
|
padding: '0.5rem 0.75rem',
|
||||||
|
borderRadius: '4px',
|
||||||
|
fontSize: '0.8rem',
|
||||||
|
fontWeight: 600,
|
||||||
|
whiteSpace: 'nowrap',
|
||||||
|
flexShrink: 0,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{item.time || 'TBA'}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
{/* Title and Track */}
|
||||||
|
<div style={{ minWidth: 0, flex: 1 }}>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
fontSize: '1rem',
|
||||||
|
fontWeight: 700,
|
||||||
|
color: '#0f172a',
|
||||||
|
margin: '0 0 0.25rem 0',
|
||||||
|
overflow: 'hidden',
|
||||||
|
textOverflow: 'ellipsis',
|
||||||
|
whiteSpace: 'nowrap',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{item.title || 'Untitled Session'}
|
||||||
|
</div>
|
||||||
|
{item.track && (
|
||||||
|
<span
|
||||||
|
style={{
|
||||||
|
background: 'rgba(0, 194, 209, 0.1)',
|
||||||
|
color: '#0891b2',
|
||||||
|
padding: '0.25rem 0.6rem',
|
||||||
|
borderRadius: '3px',
|
||||||
|
fontSize: '0.65rem',
|
||||||
|
fontWeight: 600,
|
||||||
|
textTransform: 'uppercase',
|
||||||
|
letterSpacing: '0.3px',
|
||||||
|
display: 'inline-block',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{item.track}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Right: Expand/Collapse Icon */}
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
display: 'flex',
|
||||||
|
alignItems: 'center',
|
||||||
|
justifyContent: 'center',
|
||||||
|
width: '26px',
|
||||||
|
height: '26px',
|
||||||
|
background: isExpanded ? '#e0f2fe' : '#f1f5f9',
|
||||||
|
borderRadius: '6px',
|
||||||
|
transition: 'all 0.3s',
|
||||||
|
color: isExpanded ? '#0891b2' : '#64748b',
|
||||||
|
fontWeight: 600,
|
||||||
|
fontSize: '1.2rem',
|
||||||
|
flexShrink: 0,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{/* {isExpanded ? '−' : '+'} */}
|
||||||
|
<i className={`bi ${isExpanded ? 'bi-chevron-up' : 'bi-chevron-down'}`}></i>
|
||||||
|
</div>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
{/* Accordion Body/Content */}
|
||||||
|
{isExpanded && (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
background: '#f8fafc',
|
||||||
|
padding: '1.5rem',
|
||||||
|
borderTop: '1px solid #e2e8f0',
|
||||||
|
animation: 'slideDown 0.3s ease-out',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{/* Description/ Session Details*/}
|
||||||
|
{item.description && (
|
||||||
|
<div style={{ marginBottom: '1.5rem' }}>
|
||||||
|
<h4
|
||||||
|
style={{
|
||||||
|
fontSize: '0.85rem',
|
||||||
|
fontWeight: 600,
|
||||||
|
color: '#475569',
|
||||||
|
textTransform: 'uppercase',
|
||||||
|
letterSpacing: '0.5px',
|
||||||
|
marginBottom: '0.75rem',
|
||||||
|
margin: 0,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Session Details
|
||||||
|
</h4>
|
||||||
|
<h3
|
||||||
|
style={{
|
||||||
|
margin: '0.75rem 0 0',
|
||||||
|
fontSize: '0.95rem',
|
||||||
|
color: '#536885',
|
||||||
|
lineHeight: 1.6,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{item.title}
|
||||||
|
</h3>
|
||||||
|
{item.track && (
|
||||||
|
<span
|
||||||
|
style={{
|
||||||
|
background: 'rgba(0, 194, 209, 0.1)',
|
||||||
|
color: '#0891b2',
|
||||||
|
padding: '0.25rem 0.6rem',
|
||||||
|
borderRadius: '3px',
|
||||||
|
fontSize: '0.65rem',
|
||||||
|
fontWeight: 600,
|
||||||
|
textTransform: 'uppercase',
|
||||||
|
letterSpacing: '0.3px',
|
||||||
|
display: 'inline-block',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{item.track}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<p
|
||||||
|
style={{
|
||||||
|
margin: '0.75rem 0 0',
|
||||||
|
fontSize: '0.95rem',
|
||||||
|
color: '#475569',
|
||||||
|
lineHeight: 1.6,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{item.description}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{/* Speaker Info */}
|
||||||
|
{hasSp && (
|
||||||
|
<div style={{ paddingTop: '1rem', borderTop: '1px solid #e2e8f0' }}>
|
||||||
|
<h4
|
||||||
|
style={{
|
||||||
|
fontSize: '0.85rem',
|
||||||
|
fontWeight: 600,
|
||||||
|
color: '#475569',
|
||||||
|
textTransform: 'uppercase',
|
||||||
|
letterSpacing: '0.5px',
|
||||||
|
marginBottom: '0.75rem',
|
||||||
|
margin: 0,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Speaker
|
||||||
|
</h4>
|
||||||
|
<div style={{ display: 'flex', alignItems: 'center', gap: '1rem', marginTop: '0.75rem' }}>
|
||||||
|
{item.speakerPhotoUrl && (
|
||||||
|
<img
|
||||||
|
src={item.speakerPhotoUrl}
|
||||||
|
alt={str(item.speakerName)}
|
||||||
|
style={{
|
||||||
|
width: '48px',
|
||||||
|
height: '48px',
|
||||||
|
borderRadius: '50%',
|
||||||
|
objectFit: 'cover',
|
||||||
|
border: '2px solid #e2e8f0',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
<div>
|
||||||
|
<div style={{ fontSize: '0.9rem', fontWeight: 600, color: '#0f172a' }}>
|
||||||
|
{item.speakerName}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
|
||||||
|
{/* Action Buttons */}
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
<div className="text-center mt-4">
|
<div className="text-center mt-4">
|
||||||
<a className="btn btn-primary btn-lg me-2" href="#register">
|
<a className="btn btn-primary btn-lg me-2" href="#register">
|
||||||
Register
|
Register
|
||||||
|
|
@ -203,6 +786,23 @@ function AgendaSection({ section, items }: { section: MicrositeSection; items: A
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
|
||||||
|
<style>{`
|
||||||
|
@keyframes slideDown {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(-10px);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`}</style>
|
||||||
|
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -360,7 +960,11 @@ function FooterSection({ section, ctx }: { section: MicrositeSection; ctx: Ctx }
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<footer id="footer" className="py-4 mt-5" style={{ background: 'var(--eb-conf-footer-bg)', color: '#fff' }}>
|
<footer id="footer" className="py-4 mt-5" style={{ background: 'var(--eb-conf-footer-bg)', color: '#fff' }}>
|
||||||
|
<<<<<<< HEAD
|
||||||
<div className="container" style={{ display: 'flex', flexWrap: 'wrap', justifyContent: 'space-between', gap: '1rem' }}>
|
<div className="container" style={{ display: 'flex', flexWrap: 'wrap', justifyContent: 'space-between', gap: '1rem' }}>
|
||||||
|
=======
|
||||||
|
<div className="container" style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', gap: '1rem', textAlign: 'center' }}>
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
<span style={{ opacity: 0.85 }}>{copyrightText}</span>
|
<span style={{ opacity: 0.85 }}>{copyrightText}</span>
|
||||||
<div>
|
<div>
|
||||||
{links.map((link, i) => (
|
{links.map((link, i) => (
|
||||||
|
|
@ -377,7 +981,11 @@ function FooterSection({ section, ctx }: { section: MicrositeSection; ctx: Ctx }
|
||||||
function SponsorsSection({ section }: { section: MicrositeSection }) {
|
function SponsorsSection({ section }: { section: MicrositeSection }) {
|
||||||
const c = section.config;
|
const c = section.config;
|
||||||
const title = str(c.title, 'Sponsors');
|
const title = str(c.title, 'Sponsors');
|
||||||
|
<<<<<<< HEAD
|
||||||
const sponsors = (Array.isArray(c.sponsors) ? c.sponsors : []) as { name?: string; logoUrl?: string; url?: string }[];
|
const sponsors = (Array.isArray(c.sponsors) ? c.sponsors : []) as { name?: string; logoUrl?: string; url?: string }[];
|
||||||
|
=======
|
||||||
|
const sponsors = (Array.isArray(c.sponsors) ? c.sponsors : []) as Array<{ name?: string; logoUrl?: string; url?: string } | { name: string }>;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
const cells =
|
const cells =
|
||||||
sponsors.length > 0
|
sponsors.length > 0
|
||||||
? sponsors
|
? sponsors
|
||||||
|
|
@ -388,6 +996,7 @@ function SponsorsSection({ section }: { section: MicrositeSection }) {
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<h2 className="eb-section-heading text-center mb-5">{title}</h2>
|
<h2 className="eb-section-heading text-center mb-5">{title}</h2>
|
||||||
<div className="row g-3 justify-content-center">
|
<div className="row g-3 justify-content-center">
|
||||||
|
<<<<<<< HEAD
|
||||||
{cells.map((s, i) => (
|
{cells.map((s, i) => (
|
||||||
<div key={i} className="col-6 col-md-4 col-lg-2 text-center">
|
<div key={i} className="col-6 col-md-4 col-lg-2 text-center">
|
||||||
<a href={str(s.url, '#')} style={{ textDecoration: 'none', color: '#475569' }}>
|
<a href={str(s.url, '#')} style={{ textDecoration: 'none', color: '#475569' }}>
|
||||||
|
|
@ -395,6 +1004,21 @@ function SponsorsSection({ section }: { section: MicrositeSection }) {
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
=======
|
||||||
|
{cells.map((s, i) => {
|
||||||
|
const sponsor = s as any;
|
||||||
|
const url = str(sponsor.url, '#');
|
||||||
|
const logoUrl = sponsor.logoUrl ? str(sponsor.logoUrl) : null;
|
||||||
|
const name = str(sponsor.name);
|
||||||
|
return (
|
||||||
|
<div key={i} className="col-6 col-md-4 col-lg-2 text-center">
|
||||||
|
<a href={url} style={{ textDecoration: 'none', color: '#475569' }}>
|
||||||
|
{logoUrl ? <img src={logoUrl} alt={name} style={{ maxHeight: 48 }} className="img-fluid" /> : name}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
||||||
|
|
@ -4,21 +4,60 @@
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
body {
|
body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-family: var(--eb-conf-body-font, system-ui, sans-serif);
|
font-family: var(--eb-conf-body-font, system-ui, sans-serif);
|
||||||
color: #0f172a;
|
color: #0f172a;
|
||||||
background: #f8fafc;
|
background: #f8fafc;
|
||||||
|
=======
|
||||||
|
:root {
|
||||||
|
--transition-smooth: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||||
|
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.05);
|
||||||
|
--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
|
||||||
|
--shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04);
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
scroll-behavior: smooth;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
font-family: var(--eb-conf-body-font, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif);
|
||||||
|
color: #0f172a;
|
||||||
|
background: #ffffff;
|
||||||
|
line-height: 1.6;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-microsite-root {
|
.eb-microsite-root {
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
<<<<<<< HEAD
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-conference-header {
|
.eb-conference-header {
|
||||||
background: var(--eb-conf-nav-bg);
|
background: var(--eb-conf-nav-bg);
|
||||||
padding-top: 0.5rem;
|
padding-top: 0.5rem;
|
||||||
|
=======
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
HEADER & NAVIGATION
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
.eb-conference-header {
|
||||||
|
background: var(--eb-conf-nav-bg);
|
||||||
|
padding: 0.75rem 0;
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
z-index: 1000;
|
||||||
|
box-shadow: var(--shadow-md);
|
||||||
|
transition: box-shadow var(--transition-smooth);
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-conference-header .navbar {
|
.eb-conference-header .navbar {
|
||||||
|
|
@ -29,24 +68,64 @@ body {
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
font-family: var(--eb-conf-heading-font);
|
font-family: var(--eb-conf-heading-font);
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
font-size: 1.25rem;
|
||||||
|
transition: opacity var(--transition-smooth);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-conference-header .navbar-brand:hover {
|
||||||
|
opacity: 0.85;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-conference-header .nav-link {
|
.eb-conference-header .nav-link {
|
||||||
color: rgba(255, 255, 255, 0.9) !important;
|
color: rgba(255, 255, 255, 0.9) !important;
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
transition: color var(--transition-smooth);
|
||||||
|
font-weight: 500;
|
||||||
|
letter-spacing: 0.3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-conference-header .nav-link:hover {
|
||||||
|
color: #fff !important;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-header-logo {
|
.eb-header-logo {
|
||||||
max-height: 40px;
|
max-height: 40px;
|
||||||
width: auto;
|
width: auto;
|
||||||
|
<<<<<<< HEAD
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-hero-block {
|
.eb-hero-block {
|
||||||
min-height: 420px;
|
min-height: 420px;
|
||||||
|
=======
|
||||||
|
transition: transform var(--transition-smooth);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-header-logo:hover {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
HERO SECTION
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
.eb-hero-block {
|
||||||
|
min-height: 500px;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding: 6rem 1rem 4rem;
|
padding: 6rem 1rem 4rem;
|
||||||
background: var(--eb-conf-hero-gradient);
|
background: var(--eb-conf-hero-gradient);
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-hero-bg {
|
.eb-hero-bg {
|
||||||
|
|
@ -54,6 +133,10 @@ body {
|
||||||
inset: 0;
|
inset: 0;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
z-index: 1;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-hero-has-image .eb-hero-bg {
|
.eb-hero-has-image .eb-hero-bg {
|
||||||
|
|
@ -63,17 +146,40 @@ body {
|
||||||
.eb-hero-mask {
|
.eb-hero-mask {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
|
<<<<<<< HEAD
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.55) 100%);
|
background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.55) 100%);
|
||||||
|
=======
|
||||||
|
background: linear-gradient(135deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.5) 100%);
|
||||||
|
z-index: 2;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-hero-inner {
|
.eb-hero-inner {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
<<<<<<< HEAD
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
max-width: 820px;
|
max-width: 820px;
|
||||||
|
=======
|
||||||
|
z-index: 3;
|
||||||
|
max-width: 820px;
|
||||||
|
animation: fadeInUp 0.8s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fadeInUp {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(30px);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-hero-heading {
|
.eb-hero-heading {
|
||||||
font-family: var(--eb-conf-heading-font);
|
font-family: var(--eb-conf-heading-font);
|
||||||
|
<<<<<<< HEAD
|
||||||
font-size: clamp(2rem, 5vw, 3rem);
|
font-size: clamp(2rem, 5vw, 3rem);
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
line-height: 1.15;
|
line-height: 1.15;
|
||||||
|
|
@ -85,16 +191,41 @@ body {
|
||||||
max-width: 640px;
|
max-width: 640px;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
|
=======
|
||||||
|
font-size: clamp(2.25rem, 6vw, 3.5rem);
|
||||||
|
font-weight: 800;
|
||||||
|
line-height: 1.15;
|
||||||
|
color: #fff;
|
||||||
|
margin: 0 0 1.5rem;
|
||||||
|
letter-spacing: -0.02em;
|
||||||
|
text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-hero-intro {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
color: rgba(255, 255, 255, 0.95);
|
||||||
|
max-width: 640px;
|
||||||
|
margin: 0 auto 2rem;
|
||||||
|
line-height: 1.6;
|
||||||
|
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
|
||||||
|
font-style: italic;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-hero-meta {
|
.eb-hero-meta {
|
||||||
font-size: 0.95rem;
|
font-size: 0.95rem;
|
||||||
|
<<<<<<< HEAD
|
||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
|
=======
|
||||||
|
color: rgba(255, 255, 255, 0.9);
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-hero-cta {
|
.eb-hero-cta {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
<<<<<<< HEAD
|
||||||
gap: 0.75rem;
|
gap: 0.75rem;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
@ -117,35 +248,190 @@ body {
|
||||||
.eb-countdown-heading {
|
.eb-countdown-heading {
|
||||||
letter-spacing: 0.08em;
|
letter-spacing: 0.08em;
|
||||||
opacity: 0.85;
|
opacity: 0.85;
|
||||||
|
=======
|
||||||
|
gap: 1rem;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
SECTIONS & LAYOUT
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
.section {
|
||||||
|
padding: 4rem 1rem;
|
||||||
|
transition: background-color var(--transition-smooth);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-section-heading {
|
||||||
|
font-family: var(--eb-conf-heading-font);
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: clamp(1.5rem, 4vw, 2.5rem);
|
||||||
|
color: var(--eb-conf-primary-dark);
|
||||||
|
margin: 0 0 1rem;
|
||||||
|
letter-spacing: -0.01em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-section-heading::after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
width: 60px;
|
||||||
|
height: 4px;
|
||||||
|
background: linear-gradient(90deg, var(--eb-conf-accent) 0%, var(--eb-conf-primary) 100%);
|
||||||
|
margin: 1rem auto 0;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-section-light {
|
||||||
|
background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-static-stats {
|
||||||
|
background: linear-gradient(135deg, var(--eb-conf-primary-dark) 0%, var(--eb-conf-primary) 100%);
|
||||||
|
color: #fff;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-countdown-heading {
|
||||||
|
letter-spacing: 0.1em;
|
||||||
|
opacity: 0.85;
|
||||||
|
font-weight: 600;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-countdown-phrase {
|
.eb-countdown-phrase {
|
||||||
font-family: var(--eb-conf-heading-font);
|
font-family: var(--eb-conf-heading-font);
|
||||||
|
<<<<<<< HEAD
|
||||||
font-size: clamp(1.25rem, 3vw, 1.75rem);
|
font-size: clamp(1.25rem, 3vw, 1.75rem);
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-schedule-section {
|
.eb-schedule-section {
|
||||||
background: #f8fafc;
|
background: #f8fafc;
|
||||||
|
=======
|
||||||
|
font-size: clamp(1.5rem, 4vw, 2rem);
|
||||||
|
font-weight: 700;
|
||||||
|
margin: 0.5rem 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
SCHEDULE SECTION
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
.eb-schedule-section {
|
||||||
|
background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* New horizontal card layout */
|
||||||
|
.eb-schedule-horizontal {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||||
|
gap: 1.5rem;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-schedule-event-card {
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 0.5px solid #e2e8f0;
|
||||||
|
padding: 1.25rem;
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0.75rem;
|
||||||
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-schedule-event-card:hover {
|
||||||
|
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
|
||||||
|
transform: translateY(-4px);
|
||||||
|
border-color: #cbd5e1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Old list layout - kept for backward compatibility */
|
||||||
|
.eb-schedule-list {
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 12px;
|
||||||
|
overflow: hidden;
|
||||||
|
box-shadow: var(--shadow-lg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-schedule-item {
|
||||||
|
padding: 1.5rem !important;
|
||||||
|
border-bottom: 0.5px solid #e2e8f0;
|
||||||
|
transition: background-color var(--transition-smooth), transform var(--transition-smooth);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-schedule-item:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-schedule-item:hover {
|
||||||
|
background-color: #f8fafc;
|
||||||
|
transform: translateX(4px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-schedule-item.item-talk {
|
||||||
|
border-left: 3px solid var(--eb-conf-accent);
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-schedule-time {
|
.eb-schedule-time {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
<<<<<<< HEAD
|
||||||
color: var(--eb-conf-primary);
|
color: var(--eb-conf-primary);
|
||||||
font-size: 0.95rem;
|
font-size: 0.95rem;
|
||||||
|
=======
|
||||||
|
color: var(--eb-conf-accent);
|
||||||
|
font-size: 1.125rem;
|
||||||
|
letter-spacing: 0.3px;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-schedule-title {
|
.eb-schedule-title {
|
||||||
font-family: var(--eb-conf-heading-font);
|
font-family: var(--eb-conf-heading-font);
|
||||||
color: #0f172a;
|
color: #0f172a;
|
||||||
|
<<<<<<< HEAD
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-schedule-item {
|
.eb-schedule-item {
|
||||||
border-bottom: 1px solid #e2e8f0;
|
border-bottom: 1px solid #e2e8f0;
|
||||||
|
=======
|
||||||
|
font-size: 1.125rem;
|
||||||
|
margin: 0.5rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-schedule-track {
|
||||||
|
font-size: 0.85rem;
|
||||||
|
color: var(--eb-conf-primary);
|
||||||
|
font-weight: 600;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Responsive schedule */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.eb-schedule-horizontal {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
SPEAKERS SECTION
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
.eb-speakers-section {
|
||||||
|
background: #fff;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eb-speakers-section .card {
|
.eb-speakers-section .card {
|
||||||
border: none;
|
border: none;
|
||||||
|
<<<<<<< HEAD
|
||||||
box-shadow: 0 2px 12px var(--eb-conf-card-glow);
|
box-shadow: 0 2px 12px var(--eb-conf-card-glow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -172,6 +458,209 @@ body {
|
||||||
color: #0f172a !important;
|
color: #0f172a !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
=======
|
||||||
|
border-radius: 12px;
|
||||||
|
overflow: hidden;
|
||||||
|
box-shadow: var(--shadow-md);
|
||||||
|
transition: all var(--transition-smooth);
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-speakers-section .card:hover {
|
||||||
|
box-shadow: var(--shadow-xl);
|
||||||
|
transform: translateY(-8px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-speakers-section .card-img-top {
|
||||||
|
width: 100%;
|
||||||
|
height: 240px;
|
||||||
|
object-fit: cover;
|
||||||
|
transition: transform var(--transition-smooth);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-speakers-section .card:hover .card-img-top {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-speakers-section .card-body {
|
||||||
|
padding: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-speakers-section .card-title {
|
||||||
|
font-family: var(--eb-conf-heading-font);
|
||||||
|
font-size: 1.125rem;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
color: #0f172a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-speakers-section .card-text {
|
||||||
|
color: #64748b;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
SPONSORS SECTION
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
.eb-static-sponsors {
|
||||||
|
background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-static-sponsors .row {
|
||||||
|
gap: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-static-sponsors a {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 1.5rem;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 8px;
|
||||||
|
transition: all var(--transition-smooth);
|
||||||
|
box-shadow: var(--shadow-sm);
|
||||||
|
text-decoration: none;
|
||||||
|
color: #475569;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-static-sponsors a:hover {
|
||||||
|
box-shadow: var(--shadow-md);
|
||||||
|
transform: translateY(-4px);
|
||||||
|
background: linear-gradient(135deg, #fff 0%, #f8fafc 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-static-sponsors img {
|
||||||
|
max-height: 48px;
|
||||||
|
width: auto;
|
||||||
|
transition: filter var(--transition-smooth);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-static-sponsors a:hover img {
|
||||||
|
filter: brightness(0.95);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
BUTTONS
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0.75rem 1.5rem;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
font-weight: 600;
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 1rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
transition: all var(--transition-smooth);
|
||||||
|
letter-spacing: 0.3px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary {
|
||||||
|
background: linear-gradient(135deg, var(--eb-conf-accent) 0%, var(--eb-conf-primary) 100%);
|
||||||
|
border-color: var(--eb-conf-accent) !important;
|
||||||
|
color: var(--eb-conf-accent-foreground) !important;
|
||||||
|
box-shadow: var(--shadow-md);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary:hover {
|
||||||
|
background: linear-gradient(135deg, var(--eb-conf-accent-hover) 0%, var(--eb-conf-primary) 100%);
|
||||||
|
border-color: var(--eb-conf-accent-hover) !important;
|
||||||
|
box-shadow: var(--shadow-lg);
|
||||||
|
transform: translateY(-2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary:active {
|
||||||
|
transform: translateY(0);
|
||||||
|
box-shadow: var(--shadow-md);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-lg {
|
||||||
|
padding: 0.875rem 2rem;
|
||||||
|
font-size: 1.0625rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-outline-secondary {
|
||||||
|
background: transparent;
|
||||||
|
border-color: #94a3b8;
|
||||||
|
color: #475569;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-outline-secondary:hover {
|
||||||
|
background: #f1f5f9;
|
||||||
|
border-color: #475569;
|
||||||
|
color: #0f172a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-outline-light {
|
||||||
|
background: transparent;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.8);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-outline-light:hover {
|
||||||
|
background: rgba(255, 255, 255, 0.1);
|
||||||
|
border-color: #fff;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
FORMS
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
.form-label {
|
||||||
|
display: block;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
color: #0f172a;
|
||||||
|
letter-spacing: 0.2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-control {
|
||||||
|
width: 100%;
|
||||||
|
padding: 0.75rem 1rem;
|
||||||
|
border: 2px solid #e2e8f0;
|
||||||
|
border-radius: 8px;
|
||||||
|
font-size: 1rem;
|
||||||
|
background: #fff;
|
||||||
|
color: #0f172a;
|
||||||
|
transition: all var(--transition-smooth);
|
||||||
|
font-family: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-control:focus {
|
||||||
|
outline: none;
|
||||||
|
border-color: var(--eb-conf-accent);
|
||||||
|
box-shadow: 0 0 0 3px rgba(0, 194, 209, 0.1);
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-control::placeholder {
|
||||||
|
color: #94a3b8;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea.form-control {
|
||||||
|
resize: vertical;
|
||||||
|
min-height: 120px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-error {
|
||||||
|
color: #dc2626;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
font-weight: 500;
|
||||||
|
margin-top: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
UTILITIES
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
.container {
|
.container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 1140px;
|
max-width: 1140px;
|
||||||
|
|
@ -184,6 +673,7 @@ body {
|
||||||
padding: 0 1rem;
|
padding: 0 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
@media (min-width: 992px) {
|
@media (min-width: 992px) {
|
||||||
.px-lg-4 {
|
.px-lg-4 {
|
||||||
padding-left: 1.5rem !important;
|
padding-left: 1.5rem !important;
|
||||||
|
|
@ -208,6 +698,8 @@ body {
|
||||||
margin-bottom: 3rem;
|
margin-bottom: 3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
=======
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
.row {
|
.row {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|
@ -218,9 +710,16 @@ body {
|
||||||
.col-md-3,
|
.col-md-3,
|
||||||
.col-md-4,
|
.col-md-4,
|
||||||
.col-md-9,
|
.col-md-9,
|
||||||
|
<<<<<<< HEAD
|
||||||
.col-md-3,
|
.col-md-3,
|
||||||
.col-lg-3 {
|
.col-lg-3 {
|
||||||
padding: 0 0.75rem;
|
padding: 0 0.75rem;
|
||||||
|
=======
|
||||||
|
.col-lg-2,
|
||||||
|
.col-lg-3 {
|
||||||
|
padding: 0 0.75rem;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.col-6 {
|
.col-6 {
|
||||||
|
|
@ -244,12 +743,20 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 992px) {
|
@media (min-width: 992px) {
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
.col-lg-2 {
|
||||||
|
flex: 0 0 16.667%;
|
||||||
|
max-width: 16.667%;
|
||||||
|
}
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
.col-lg-3 {
|
.col-lg-3 {
|
||||||
flex: 0 0 25%;
|
flex: 0 0 25%;
|
||||||
max-width: 25%;
|
max-width: 25%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
.card {
|
.card {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
|
|
@ -324,6 +831,8 @@ textarea.form-control {
|
||||||
resize: vertical;
|
resize: vertical;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
=======
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
.g-3 > * {
|
.g-3 > * {
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
}
|
}
|
||||||
|
|
@ -333,22 +842,197 @@ textarea.form-control {
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
.small {
|
.small {
|
||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
|
=======
|
||||||
|
.mt-4 {
|
||||||
|
margin-top: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.me-2 {
|
||||||
|
margin-right: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ms-2 {
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-4 {
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-5 {
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.py-3 {
|
||||||
|
padding-top: 0.75rem;
|
||||||
|
padding-bottom: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.py-4 {
|
||||||
|
padding-top: 1rem;
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.py-5 {
|
||||||
|
padding-top: 3rem;
|
||||||
|
padding-bottom: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.px-lg-4 {
|
||||||
|
padding-left: 1.5rem !important;
|
||||||
|
padding-right: 1.5rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-center {
|
||||||
|
text-align: center;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-muted {
|
.text-muted {
|
||||||
color: #64748b !important;
|
color: #64748b !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
.small {
|
||||||
|
font-size: 0.875rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
.rounded-circle {
|
.rounded-circle {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
.h-100 {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shadow-sm {
|
||||||
|
box-shadow: var(--shadow-sm);
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-fluid {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
.align-items-start {
|
.align-items-start {
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
.custom-section :first-child {
|
.custom-section :first-child {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
=======
|
||||||
|
.align-items-center {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.justify-content-center {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 12px;
|
||||||
|
overflow: hidden;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-img-top {
|
||||||
|
width: 100%;
|
||||||
|
aspect-ratio: 4/3;
|
||||||
|
object-fit: cover;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-body {
|
||||||
|
padding: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-title {
|
||||||
|
margin: 0 0 0.5rem;
|
||||||
|
font-size: 1rem;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-text {
|
||||||
|
margin: 0;
|
||||||
|
color: #64748b;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
FOOTER
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
.eb-static-footer {
|
||||||
|
background: linear-gradient(135deg, var(--eb-conf-footer-bg) 0%, rgba(0, 0, 0, 0.8) 100%);
|
||||||
|
color: rgba(255, 255, 255, 0.85);
|
||||||
|
padding: 2rem 0;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
text-align: center;
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-static-footer strong {
|
||||||
|
color: #fff;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
CUSTOM SECTION
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
.custom-section :first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-section-contact {
|
||||||
|
background: linear-gradient(135deg, #fff 0%, #f8fafc 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
RESPONSIVE
|
||||||
|
===================== */
|
||||||
|
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
.section {
|
||||||
|
padding: 3rem 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-hero-block {
|
||||||
|
min-height: 400px;
|
||||||
|
padding: 4rem 1rem 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eb-hero-cta {
|
||||||
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-lg {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.row {
|
||||||
|
margin: 0 -0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col-6,
|
||||||
|
.col-md-3,
|
||||||
|
.col-md-4,
|
||||||
|
.col-md-9,
|
||||||
|
.col-lg-2,
|
||||||
|
.col-lg-3 {
|
||||||
|
padding: 0 0.5rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,10 @@ export interface MicrositeSpeaker {
|
||||||
|
|
||||||
export interface AgendaItem {
|
export interface AgendaItem {
|
||||||
title?: string;
|
title?: string;
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
date?: string;
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
time?: string;
|
time?: string;
|
||||||
track?: string;
|
track?: string;
|
||||||
description?: string;
|
description?: string;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
"ignoreDeprecations": "6.0",
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
"target": "ES2020",
|
"target": "ES2020",
|
||||||
"useDefineForClassFields": true,
|
"useDefineForClassFields": true,
|
||||||
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
||||||
|
|
@ -13,8 +17,13 @@
|
||||||
"noEmit": true,
|
"noEmit": true,
|
||||||
"jsx": "react-jsx",
|
"jsx": "react-jsx",
|
||||||
"strict": true,
|
"strict": true,
|
||||||
|
<<<<<<< HEAD
|
||||||
"noUnusedLocals": true,
|
"noUnusedLocals": true,
|
||||||
"noUnusedParameters": true,
|
"noUnusedParameters": true,
|
||||||
|
=======
|
||||||
|
"noUnusedLocals": false,
|
||||||
|
"noUnusedParameters": false,
|
||||||
|
>>>>>>> f6fbf96 (Microsite Enhancement- 9-7-2026)
|
||||||
"noFallthroughCasesInSwitch": true,
|
"noFallthroughCasesInSwitch": true,
|
||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"paths": {
|
"paths": {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue