/* Eventodesk tenant website and template demo styles. Loaded only on public tenant/demo sites. */
.campaign-site {
background: var(--campaign-bg);
color: var(--campaign-ink);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.campaign-demo-banner {
display: grid;
place-items: center;
gap: 10px 16px;
background: #fff7ed;
border-bottom: 1px solid #fed7aa;
color: #7c2d12;
font-weight: 800;
padding: 10px 16px;
text-align: center;
}
.campaign-demo-banner > span {
min-width: 0;
max-width: 820px;
overflow-wrap: normal;
}
.campaign-demo-actions {
display: inline-flex;
flex-wrap: wrap;
gap: 8px;
}
.campaign-demo-actions a {
display:inline-flex;
align-items:center;
min-height:44px;
border: 1px solid #fed7aa;
border-radius: 999px;
padding: 8px 12px;
background: #fff;
color: #7c2d12;
text-decoration: none;
font-size: .86rem;
}
.campaign-demo-context-strip {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1px;
background: #1f2937;
color: #fff;
}
.campaign-demo-context-strip span {
display: grid;
gap: 3px;
padding: 12px 20px;
background: #111827;
}
.campaign-demo-context-strip small {
color: #fbbf24;
font-size: .72rem;
font-weight: 900;
text-transform: uppercase;
}
.campaign-demo-context-strip strong {
font-size: .95rem;
overflow-wrap: anywhere;
}
.campaign-nav-shell{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid color-mix(in srgb,var(--campaign-primary),#fff 78%);backdrop-filter:blur(12px)}
.campaign-nav{max-width:1260px;margin:0 auto;padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:34px;min-width:0}
.campaign-logo{--campaign-logo-width:172px;--campaign-logo-height:56px;display:inline-flex;align-items:center;justify-content:flex-start;min-width:0;max-width:min(100%,var(--campaign-logo-width));min-height:42px;color:var(--campaign-primary);font-weight:850;font-size:1.28rem;line-height:1.05;text-decoration:none;white-space:nowrap;flex:0 1 auto}
.campaign-logo-size-small{--campaign-logo-width:130px;--campaign-logo-height:46px}.campaign-logo-size-medium{--campaign-logo-width:172px;--campaign-logo-height:56px}.campaign-logo-size-large{--campaign-logo-width:220px;--campaign-logo-height:68px}
.campaign-logo-image{flex:0 0 auto}
.campaign-logo img{display:block;width:auto;height:auto;max-width:var(--campaign-logo-width);max-height:var(--campaign-logo-height);object-fit:contain;object-position:left center}.campaign-logo span{display:block;max-width:min(100%,var(--campaign-logo-width));overflow:hidden;text-overflow:ellipsis}
.campaign-logo-demo{--campaign-logo-width:270px;--campaign-logo-height:64px;--demo-logo-primary:var(--campaign-primary);--demo-logo-accent:var(--campaign-accent);gap:11px;max-width:min(100%,var(--campaign-logo-width));white-space:normal;color:var(--campaign-ink)}
.campaign-logo-demo span{max-width:none;overflow:visible;text-overflow:clip}
.campaign-demo-logo-mark{width:46px;height:46px;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 46px;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--demo-logo-primary),var(--demo-logo-accent));box-shadow:0 12px 24px color-mix(in srgb,var(--demo-logo-primary),transparent 78%)}
.campaign-demo-logo-mark svg{width:31px;height:31px;display:block;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.campaign-demo-logo-copy{display:grid!important;gap:2px;min-width:0;max-width:198px!important;line-height:1.02}
.campaign-demo-logo-copy strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:currentColor;font-size:1.01rem;font-weight:950;letter-spacing:0}
.campaign-demo-logo-copy small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:color-mix(in srgb,currentColor,transparent 24%);font-size:.75rem;font-weight:850;letter-spacing:0;text-transform:uppercase}
.campaign-logo-demo-elegant{--demo-logo-primary:#2a2038;--demo-logo-accent:#c48a34}
.campaign-logo-demo-modern{--demo-logo-primary:#111827;--demo-logo-accent:#2f7f8f}
.campaign-logo-demo-bohemian{--demo-logo-primary:#5f4a32;--demo-logo-accent:#c07a4a}
.campaign-logo-demo-festival{--demo-logo-primary:#15213d;--demo-logo-accent:#f05f42}
.campaign-logo-demo-princess{--demo-logo-primary:#4b274d;--demo-logo-accent:#d45b8c}
.campaign-logo-demo-adventure{--demo-logo-primary:#16305a;--demo-logo-accent:#f3a425}
.campaign-logo-demo-bounce{--demo-logo-primary:#11386a;--demo-logo-accent:#17b8a6}
.campaign-logo-demo-water{--demo-logo-primary:#075985;--demo-logo-accent:#38bdf8}
.campaign-logo-demo-garden{--demo-logo-primary:#1f4b37;--demo-logo-accent:#8fbf67}
.campaign-logo-demo-corporate{--demo-logo-primary:#172033;--demo-logo-accent:#4f8fba}
.campaign-logo-demo-coastal{--demo-logo-primary:#12596b;--demo-logo-accent:#f3b562}
.campaign-logo-demo-luxury{--demo-logo-primary:#0d111b;--demo-logo-accent:#d2b46f}
.campaign-logo-demo-rustic{--demo-logo-primary:#5a3524;--demo-logo-accent:#b77945}
.campaign-logo-demo-urban{--demo-logo-primary:#111827;--demo-logo-accent:#94a3b8}
.campaign-logo-demo-quince{--demo-logo-primary:#6d276f;--demo-logo-accent:#e36aa5}
.campaign-logo-demo-family{--demo-logo-primary:#594023;--demo-logo-accent:#c98c4a}
.campaign-nav-links{display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:flex-start;gap:14px;overflow-x:auto;white-space:nowrap}
.campaign-nav-links a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--campaign-ink);font-weight:700;font-size:1rem;line-height:1.05;text-decoration:none;white-space:nowrap;flex:0 0 auto}
.campaign-donate-link{background:color-mix(in srgb,var(--campaign-primary),#fff 92%);color:var(--campaign-primary)!important;border:1px solid color-mix(in srgb,var(--campaign-primary),#fff 72%);border-radius:8px;padding:10px 13px}
.campaign-quote-link{position:relative;background:linear-gradient(135deg,color-mix(in srgb,var(--campaign-primary),#111827 22%),color-mix(in srgb,var(--campaign-primary),var(--campaign-accent) 22%));background-color:color-mix(in srgb,var(--campaign-primary),#111827 22%);color:#fff!important;border-radius:999px;padding:11px 16px!important;box-shadow:0 14px 30px color-mix(in srgb,var(--campaign-primary),transparent 78%);font-weight:900!important}
.campaign-quote-link::after{content:"";width:7px;height:7px;border-radius:999px;background:#fff;box-shadow:0 0 0 4px rgb(255 255 255 / .2);margin-left:8px;display:inline-block;vertical-align:middle}
.campaign-public-hero {
--campaign-hero-image-x: 50%;
--campaign-hero-image-y: 16%;
--campaign-hero-min-height: 700px;
background:
radial-gradient(circle at 82% 24%, color-mix(in srgb, var(--campaign-accent), transparent 65%), transparent 30%),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 18%), color-mix(in srgb, var(--campaign-accent), #111827 42%));
color: #fff;
padding: 82px 20px;
position: relative;
overflow: hidden;
}
.campaign-hero-grid {
max-width: 1180px;
margin: 0 auto;
display: grid;
grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
gap: 34px;
align-items: center;
}
.campaign-theme-mark {
position: absolute;
right: 20px;
top: 22px;
color: rgba(255,255,255,.72);
font-weight: 900;
text-transform: uppercase;
font-size: .78rem;
}
.campaign-kicker {
color: color-mix(in srgb, var(--campaign-primary), #111827 32%);
font-weight: 950;
text-transform: uppercase;
letter-spacing: 0;
font-size: .8rem;
}
.campaign-public-hero .campaign-kicker,
.campaign-page-hero .campaign-kicker {
color: #fff;
font-size: .94rem;
text-shadow: 0 1px 12px rgb(15 23 42 / .34);
}
.campaign-hero-copy h1 {
font-size: 2.95rem;
max-width: 920px;
}
.campaign-office {
color: rgba(255,255,255,.86);
font-weight: 850;
}
.campaign-slogan {
font-size: 1.34rem;
max-width: 760px;
}
.campaign-hero-copy .actions {
gap: 14px;
}
.campaign-hero-copy .actions .button,
.campaign-donate-large,
.campaign-donation-strip .button {
min-height: 58px;
padding: 14px 22px;
font-size: 1.05rem;
box-shadow: 0 14px 30px rgb(15 23 42 / .18);
}
.campaign-hero-card {
background: rgba(255,255,255,.96);
color: var(--campaign-ink);
border: 1px solid rgba(255,255,255,.52);
border-radius: 8px;
padding: 26px;
display: grid;
gap: 18px;
box-shadow: 0 22px 58px rgb(15 23 42 / .24);
}
.hero-mode-background .campaign-hero-grid,
.hero-mode-color .campaign-hero-grid {
grid-template-columns: minmax(0, 1fr);
}
.hero-mode-color .campaign-hero-copy {
max-width: 920px;
margin: 0 auto;
text-align: center;
}
.hero-mode-background .campaign-hero-copy {
max-width: 780px;
margin: 0;
text-align: left;
}
.hero-mode-color .campaign-slogan {
margin-inline: auto;
max-width: 820px;
}
.hero-mode-background .campaign-slogan {
margin-inline: 0;
max-width: 760px;
}
.hero-mode-background .campaign-hero-copy .actions { justify-content: flex-start; }
.hero-mode-color .campaign-hero-copy .actions { justify-content: center; }
.campaign-portrait-frame {
min-height: 230px;
border-radius: 8px;
display: grid;
place-items: center;
background:
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #fff 10%), color-mix(in srgb, var(--campaign-accent), #fff 10%));
}
.campaign-portrait-frame span {
display: grid;
place-items: center;
width: 110px;
height: 110px;
border: 4px solid rgba(255,255,255,.8);
border-radius: 999px;
color: #fff;
font-size: 3.4rem;
font-weight: 950;
}
.campaign-hero-image{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:50% 20%;border-radius:8px}
.campaign-demo-context-panel {
background:
linear-gradient(180deg, #fff 0, color-mix(in srgb, var(--campaign-accent), #fff 94%) 100%);
padding: 38px 20px;
}
.campaign-demo-context-heading {
display: grid;
gap: 8px;
max-width: 840px;
margin-bottom: 22px;
}
.campaign-demo-context-heading h2 {
margin: 0;
color: var(--campaign-primary);
font-size: 2rem;
}
.campaign-demo-context-heading p {
margin: 0;
color: #475569;
font-weight: 680;
}
.campaign-demo-context-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 14px;
}
.campaign-demo-context-card {
background: rgba(255,255,255,.92);
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 76%);
border-radius: 8px;
padding: 18px;
box-shadow: 0 16px 40px rgba(15, 23, 42, .08);
}
.campaign-demo-context-card span {
color: var(--campaign-accent);
font-size: .74rem;
font-weight: 950;
text-transform: uppercase;
}
.campaign-demo-context-card h3 {
margin: 7px 0 8px;
color: var(--campaign-primary);
font-size: 1.03rem;
}
.campaign-demo-context-card p {
margin: 0;
color: #334155;
font-size: .95rem;
}
.campaign-section {
padding: 58px 20px;
background: var(--campaign-bg);
}
.campaign-page-hero {
background:
radial-gradient(circle at 86% 16%, color-mix(in srgb, var(--campaign-accent), transparent 68%), transparent 30%),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 18%), color-mix(in srgb, var(--campaign-accent), #111827 48%));
color: #fff;
display: grid;
align-items: center;
min-height: 270px;
padding: 58px 20px 50px;
position: relative;
overflow: hidden;
}
.campaign-page-hero::after {
content: "";
position: absolute;
inset: auto 0 0;
height: 8px;
background: linear-gradient(90deg, var(--campaign-primary), var(--campaign-accent));
}
.campaign-page-hero-inner {
position: relative;
z-index: 1;
}
.campaign-page-hero h1 {
max-width: 920px;
margin: 0;
font-size: 2.08rem;
font-weight: 950;
}
.campaign-page-summary {
max-width: 800px;
font-size: 1.18rem;
color: inherit;
}
.campaign-alt-section {
background: color-mix(in srgb, var(--campaign-primary), #fff 94%);
}
.campaign-section-inner {
max-width: 1180px;
margin: 0 auto;
}
.campaign-page-shell {
background: var(--campaign-bg);
}
.campaign-page-shell .campaign-section:first-child {
padding-top: 72px;
}
.campaign-page-shell .campaign-section:last-child {
padding-bottom: 78px;
}
.campaign-page-shell.page-layout-editorial .campaign-readable,
.campaign-page-shell.page-layout-judicial .campaign-readable,
.campaign-page-shell.page-layout-minimal .campaign-readable,
.campaign-page-shell.page-layout-transparency .campaign-readable {
max-width: 760px;
}
.campaign-page-shell.page-layout-editorial .campaign-section-inner,
.campaign-page-shell.page-layout-judicial .campaign-section-inner {
max-width: 1040px;
}
.campaign-page-shell.page-layout-wide-landscape .campaign-section-inner,
.campaign-page-shell.page-layout-neighborhood .campaign-section-inner,
.campaign-page-shell.page-layout-community .campaign-section-inner {
max-width: 1260px;
}
.campaign-page-shell.page-layout-alert .campaign-section,
.campaign-page-shell.page-layout-dark-editorial .campaign-section {
background: #101828;
color: #fff;
}
.campaign-page-shell.page-layout-alert .campaign-section-heading h2,
.campaign-page-shell.page-layout-dark-editorial .campaign-section-heading h2 {
color: #fff;
}
.campaign-page-shell.page-layout-minimal .campaign-section {
padding-top: 42px;
padding-bottom: 42px;
}
.campaign-page-shell.page-layout-school .campaign-section,
.campaign-page-shell.page-layout-family .campaign-section,
.campaign-page-shell.page-layout-values .campaign-section {
background:
linear-gradient(180deg, color-mix(in srgb, var(--campaign-accent), #fff 96%), #fff 40%);
}
.campaign-page-shell.page-layout-organic .campaign-section,
.campaign-page-shell.page-layout-wide-landscape .campaign-section {
background:
radial-gradient(circle at 90% 12%, color-mix(in srgb, var(--campaign-accent), transparent 82%), transparent 28%),
var(--campaign-bg);
}
.campaign-two-column {
display: grid;
grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr);
gap: 34px;
}
.campaign-bio-card {
display: grid;
grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
gap: 28px;
align-items: center;
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 80%);
border-radius: 8px;
padding: 24px;
background: #fff;
box-shadow: 0 20px 48px rgba(15, 23, 42, .08);
}
.campaign-bio-media {
margin: 0;
justify-self: center;
width: 100%;
max-width: 320px;
}
.campaign-bio-media img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:8px}
.campaign-bio-card h3 {
margin-top: 0;
color: var(--campaign-primary);
font-size: 1.55rem;
}
.campaign-about-name {
margin: 0 0 12px;
color: var(--campaign-primary);
}
.campaign-about-preview-copy {
display: grid;
gap: 12px;
}
.campaign-about-preview-copy p {
margin: 0;
}
.campaign-text-link {
display: inline-flex;
align-items: center;
min-height: 38px;
color: var(--campaign-primary);
font-weight: 900;
text-decoration: underline;
text-underline-offset: 4px;
}
.campaign-form-layout {
max-width: 880px;
}
.campaign-form-layout .campaign-section-heading {
max-width: 760px;
margin-bottom: 22px;
}
.campaign-form-layout .campaign-form {
max-width: 760px;
}
.campaign-section-heading h2 {
color: var(--campaign-primary);
}
.campaign-large-text {
max-width: 920px;
font-size: 1.45rem;
font-weight: 720;
}
.campaign-body-copy {
font-size: 1.08rem;
}
.campaign-issue-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
}
.campaign-issue-card {
background: #fff;
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 76%);
border-radius: 8px;
padding: 0;
position: relative;
overflow-wrap: normal;
overflow: hidden;
}
.campaign-issue-card h2,
.campaign-issue-card h3,
.campaign-public-card h2,
.campaign-public-card h3 {
overflow-wrap: normal;
word-break: normal;
hyphens: auto;
}
.campaign-page-shell .campaign-issue-card h2 {
font-size: 1.58rem;
line-height: 1.12;
}
.type-serif-strong .campaign-page-shell .campaign-issue-card h2,
.type-serif-classic .campaign-page-shell .campaign-issue-card h2 {
font-family: Georgia, "Times New Roman", serif;
font-size: 1.48rem;
font-weight: 700;
}
.campaign-issue-number {
display: none;
}
.campaign-card-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
}
.campaign-public-card {
background: #fff;
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 78%);
border-radius: 8px;
padding: 20px;
overflow-wrap: anywhere;
}
.campaign-media-card-grid {
align-items: stretch;
}
.campaign-media-card {
display: flex;
flex-direction: column;
min-height: 100%;
padding: 0;
overflow: hidden;
}
.campaign-page-collection .campaign-media-card {
display: flex;
grid-template-columns: none;
gap: 0;
}
.campaign-card-media-link,
.campaign-card-media {
display: block;
margin: 0;
}
.campaign-detail-media-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
margin-bottom: 24px;
}
.campaign-detail-media {
display: block;
margin: 0;
}
.campaign-card-media img,.campaign-card-media video,.campaign-detail-media img,.campaign-detail-media video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 36%;border-radius:0;background:color-mix(in srgb, var(--campaign-primary), #fff 92%)}
.campaign-card-body {
display: flex;
flex: 1;
flex-direction: column;
gap: 10px;
padding: 22px;
}
.campaign-card-body h2,
.campaign-card-body h3 {
margin: 0;
}
.campaign-page-shell .campaign-media-card .campaign-card-body h2 {
font-size: 1.55rem;
line-height: 1.12;
}
.type-serif-strong .campaign-page-shell .campaign-media-card .campaign-card-body h2,
.type-serif-classic .campaign-page-shell .campaign-media-card .campaign-card-body h2 {
font-size: 1.48rem;
font-weight: 700;
}
.campaign-card-body h2 a,
.campaign-card-body h3 a {
display: inline-flex;
align-items: center;
min-width: 44px;
min-height: 44px;
color: inherit;
text-decoration: none;
}
.campaign-card-body h2 a:hover,
.campaign-card-body h3 a:hover {
text-decoration: underline;
text-underline-offset: 4px;
}
.campaign-card-body p {
margin: 0;
}
.campaign-card-body .campaign-text-link {
margin-top: auto;
}
.campaign-card-meta {
color: var(--muted);
font-weight: 850;
}
.campaign-event-card h2,
.campaign-event-card h3 {
font-size: 1.35rem;
}
.campaign-endorsement-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 22px;
align-items: stretch;
}
.campaign-endorsement-card {
display: grid;
align-content: start;
gap: 16px;
min-height: 100%;
padding: 22px;
background: #fff;
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 82%);
border-radius: 8px;
box-shadow: 0 18px 42px rgb(15 23 42 / .07);
text-align: left;
}
.campaign-endorsement-card h2,
.campaign-endorsement-card h3 {
margin: 0;
color: var(--campaign-ink);
font-size: 1.08rem;
line-height: 1.15;
}
.campaign-endorsement-card h2 a,
.campaign-endorsement-card h3 a {
color: inherit;
text-decoration: none;
}
.campaign-endorsement-card h2 a:hover,
.campaign-endorsement-card h2 a:focus-visible,
.campaign-endorsement-card h3 a:hover,
.campaign-endorsement-card h3 a:focus-visible {
color: var(--campaign-primary);
text-decoration: underline;
text-underline-offset: 3px;
}
.campaign-review-card-top {
display: flex;
align-items: center;
gap: 13px;
min-width: 0;
}
.campaign-review-avatar {
display: grid;
place-items: center;
width: 58px;
height: 58px;
border-radius: 999px;
background:
linear-gradient(#fff, #fff) padding-box,
linear-gradient(135deg, var(--campaign-primary), var(--campaign-accent)) border-box;
background-color: #fff;
border: 3px solid transparent;
color: var(--campaign-primary);
box-shadow: 0 14px 26px color-mix(in srgb, var(--campaign-primary), transparent 82%);
text-decoration: none;
flex: 0 0 58px;
}
.campaign-review-avatar span {
display: grid;
place-items: center;
width: 42px;
height: 42px;
border-radius: 999px;
background: color-mix(in srgb, var(--campaign-primary), #fff 92%);
font-size: .92rem;
font-weight: 950;
letter-spacing: 0;
}
.campaign-review-role {
margin: 5px 0 0;
color: var(--muted);
font-size: .9rem;
font-weight: 800;
line-height: 1.3;
}
.campaign-review-quote {
margin: 0;
color: color-mix(in srgb, var(--campaign-ink), #fff 18%);
font-size: 1rem;
line-height: 1.58;
}
.campaign-review-quote::before {
content: "\201C";
color: var(--campaign-accent);
font-weight: 950;
margin-right: 2px;
}
.campaign-review-quote::after {
content: "\201D";
color: var(--campaign-accent);
font-weight: 950;
margin-left: 2px;
}
.campaign-review-link {
align-self: end;
margin-top: 2px;
}
.campaign-endorsement-media {
display: grid;
align-items: center;
margin: 0;
min-height: 150px;
}
.campaign-endorsement-media img {
display: block;
width: 100%;
aspect-ratio: 16 / 9;
object-fit: contain;
border-radius: 0;
background: #fff;
}
.campaign-review-detail {
max-width: 1120px;
}
.campaign-review-back-link {
display: inline-flex;
margin-bottom: 18px;
}
.campaign-review-detail-grid {
display: grid;
grid-template-columns: minmax(0, .95fr) minmax(280px, .72fr);
gap: 34px;
align-items: start;
}
.campaign-review-detail-copy {
display: grid;
gap: 12px;
}
.campaign-review-detail-quote {
margin: 10px 0 0;
padding: 24px 0 0;
border-top: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 82%);
color: var(--campaign-ink);
font-size: 1.36rem;
line-height: 1.55;
font-weight: 680;
}
.campaign-review-detail-media-grid {
display: grid;
gap: 14px;
}
.campaign-review-detail-media {
margin: 0;
overflow: hidden;
border-radius: 8px;
background: #fff;
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 84%);
box-shadow: 0 20px 46px rgb(15 23 42 / .1);
}
.campaign-review-detail-media img {
display: block;
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
background: #f8fafc;
}
.campaign-detail-media {
margin: 0 0 22px;
overflow: hidden;
border-radius: 8px;
}
.campaign-detail-title {
margin: 0 0 14px;
color: var(--campaign-ink);
font-size: 2.16rem;
font-weight: 950;
line-height: 1.08;
}
.campaign-readable .campaign-detail-media-grid {
grid-template-columns: 1fr;
max-width: 920px;
margin: 24px auto 30px;
}
.campaign-readable .campaign-detail-media {
border: 0;
border-radius: 0;
box-shadow: none;
}
.campaign-readable .campaign-detail-media img,
.campaign-readable .campaign-detail-media video {
border-radius: 8px;
}
.campaign-public-card blockquote {
margin: 0;
padding-left: 16px;
border-left: 4px solid var(--campaign-accent);
}
.campaign-readable {
max-width: 820px;
}
.campaign-faq-item {
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 78%);
border-radius: 8px;
padding: 16px 18px;
background: #fff;
margin-bottom: 12px;
}
.campaign-faq-item summary {
cursor: pointer;
font-weight: 900;
}
.campaign-media-strip {
display: grid;
grid-auto-flow: column;
grid-auto-columns: minmax(260px, 38%);
gap: 16px;
overflow-x: auto;
padding-bottom: 10px;
scroll-snap-type: x mandatory;
}
.campaign-home-gallery-grid {
grid-auto-flow: row;
grid-auto-columns: initial;
grid-template-columns: repeat(4, minmax(0, 1fr));
overflow: visible;
padding-bottom: 0;
scroll-snap-type: none;
}
.campaign-gallery-item {
scroll-snap-align: start;
margin: 0;
background: #fff;
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 78%);
border-radius: 8px;
padding: 10px;
}
.campaign-home-gallery-grid .campaign-gallery-item {
scroll-snap-align: none;
min-width: 0;
height: 100%;
}
.campaign-gallery-item.primary {
border-color: var(--campaign-accent);
}
.campaign-object-media {
display: grid;
grid-auto-flow: column;
grid-auto-columns: minmax(180px, 78%);
gap: 12px;
overflow-x: auto;
margin-top: 16px;
padding-bottom: 8px;
scroll-snap-type: x mandatory;
}
.campaign-object-media.compact {
grid-auto-columns: minmax(220px, 1fr);
max-width: none;
margin-top: 0;
}
.campaign-object-media[data-carousel="true"] {
border-left: 4px solid var(--campaign-accent);
padding-left: 12px;
}
.campaign-object-media-item {
scroll-snap-align: start;
margin: 0;
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 78%);
border-radius: 8px;
padding: 8px;
background: #fff;
}
.campaign-object-media-item.primary {
border-color: var(--campaign-accent);
}
.campaign-gallery-item img,.campaign-gallery-item video,.campaign-object-media-item img,.campaign-object-media-item video,.campaign-public-card img,.campaign-public-card video{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 36%;border-radius:6px;background:color-mix(in srgb, var(--campaign-primary), #fff 92%)}
.campaign-gallery-item figcaption,
.campaign-object-media-item figcaption,
.campaign-public-card figcaption {
color: var(--muted);
font-size: .9rem;
margin-top: 8px;
line-height: 1.35;
}
.campaign-gallery-more {
display: flex;
justify-content: center;
margin-top: 22px;
}
.campaign-gallery-more-button {
min-height: 52px;
padding-inline: 24px;
border-color: color-mix(in srgb, var(--campaign-primary), #fff 70%);
background: #fff;
box-shadow: 0 14px 34px rgb(15 23 42 / .08);
}
.campaign-photo-gallery-page {
background:
radial-gradient(circle at 84% 10%, color-mix(in srgb, var(--campaign-accent), transparent 86%), transparent 26%),
var(--campaign-bg);
}
.campaign-gallery-carousel {
display: grid;
gap: 18px;
}
.campaign-gallery-carousel-stage {
position: relative;
overflow: hidden;
border-radius: 8px;
background: #0f172a;
box-shadow: 0 26px 70px rgb(15 23 42 / .18);
}
.campaign-gallery-slides {
display: grid;
}
.campaign-gallery-slide {
display: none;
grid-area: 1 / 1;
margin: 0;
background: #0f172a;
}
.campaign-gallery-slide.is-active {
display: block;
}
.campaign-gallery-slide img,
.campaign-gallery-slide video {
display: block;
width: 100%;
height: 480px;
object-fit: contain;
}
.campaign-gallery-slide figcaption {
position: absolute;
left: 22px;
right: 22px;
bottom: 18px;
width: auto;
margin: 0;
color: #fff;
font-weight: 850;
text-shadow: 0 2px 14px rgb(15 23 42 / .72);
}
.campaign-gallery-arrow {
position: absolute;
top: 50%;
z-index: 3;
transform: translateY(-50%);
display: inline-flex;
align-items: center;
justify-content: center;
width: 52px;
height: 52px;
border: 1px solid rgba(255,255,255,.62);
border-radius: 999px;
background: rgba(15,23,42,.58);
color: #fff;
font-size: 2rem;
font-weight: 850;
cursor: pointer;
backdrop-filter: blur(10px);
}
.campaign-gallery-arrow:hover,
.campaign-gallery-arrow:focus-visible {
background: rgba(15,23,42,.86);
}
.campaign-gallery-arrow-prev {
left: 18px;
}
.campaign-gallery-arrow-next {
right: 18px;
}
.campaign-gallery-thumbs {
display: grid;
grid-auto-flow: column;
grid-auto-columns: minmax(90px, 128px);
gap: 10px;
overflow-x: auto;
padding: 4px 2px 10px;
scroll-snap-type: x proximity;
}
.campaign-gallery-thumb {
display: block;
min-height: 70px;
padding: 0;
overflow: hidden;
border: 3px solid transparent;
border-radius: 8px;
background: #fff;
cursor: pointer;
scroll-snap-align: start;
}
.campaign-gallery-thumb.is-active {
border-color: var(--campaign-accent);
box-shadow: 0 10px 24px rgb(15 23 42 / .16);
}
.campaign-gallery-thumb img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 36%}
.campaign-media-card .campaign-card-media img,
.campaign-media-card .campaign-card-media video,
.campaign-media-card .campaign-card-media-link img,
.campaign-media-card .campaign-card-media-link video {
aspect-ratio: 16 / 9;
border-radius: 0;
}
.campaign-media-card .campaign-card-media {
padding: 0;
}
.campaign-donation-strip {
padding: 42px 20px;
background:
radial-gradient(circle at 12% 16%, rgb(255 255 255 / .18), transparent 26%),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 6%), color-mix(in srgb, var(--campaign-accent), #111827 18%));
background-color: color-mix(in srgb, var(--campaign-primary), #111827 28%);
color: #fff;
}
.campaign-donation-strip .campaign-kicker,
.campaign-donation-strip h2 {
color: #fff;
}
.campaign-donation-strip-inner {
display: grid;
grid-template-columns: minmax(0,1fr) auto;
gap: 28px;
align-items: center;
text-align: left;
}
.campaign-donation-strip h2 {
margin: 0 0 8px;
font-size: 1.8rem;
}
.campaign-donation-strip p {
margin: 0;
max-width: min(920px, 100%);
}
.campaign-donation-strip p:not(.campaign-kicker) {
max-width: 760px;
color: #eaf5ff;
font-weight: 760;
line-height: 1.55;
}
.campaign-donation-strip-button {
min-width: 168px;
justify-content: center;
}
.campaign-quote-strip-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: flex-end;
}
.campaign-quote-strip-actions .button {
min-height: 48px;
white-space: nowrap;
}
.campaign-quote-strip-actions .button.secondary {
border-color: rgb(255 255 255 / .68);
background: rgb(255 255 255 / .12);
color: #fff;
}
@media (max-width: 760px) {
.campaign-home-gallery-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.campaign-donation-strip-inner,
.campaign-quote-strip-actions {
grid-template-columns: 1fr;
justify-content: stretch;
text-align: left;
}
.campaign-quote-strip-actions .button {
width: 100%;
}
}
.campaign-donate-panel {
display: grid;
gap: 22px;
padding: 32px;
border-radius: 8px;
background:
linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.9)),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #fff 84%), color-mix(in srgb, var(--campaign-accent), #fff 86%));
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 80%);
box-shadow: 0 24px 60px rgb(15 23 42 / .08);
}
.campaign-donate-panel .campaign-section-heading {
max-width: 780px;
}
.campaign-donate-panel h2 {
max-width: 820px;
}
.campaign-event-list {
display: grid;
gap: 16px;
}
.campaign-event-item {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(240px, 320px) auto;
align-items: center;
gap: 18px;
border-left: 5px solid var(--campaign-accent);
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 82%);
border-left-width: 5px;
border-radius: 8px;
background: #fff;
padding: 18px;
box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
}
.campaign-event-copy {
display: grid;
gap: 8px;
}
.campaign-event-copy strong {
font-size: 1.1rem;
}
.campaign-event-copy span {
color: var(--muted);
font-weight: 800;
}
.campaign-event-copy p {
margin: 0;
}
.campaign-event-media .campaign-object-media {
width: 100%;
}
.campaign-event-actions {
display: flex;
align-items: center;
}
.campaign-event-actions .button {
min-width: 92px;
}
.campaign-page-collection.page-collection-columns {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.campaign-page-collection.page-collection-wide {
grid-template-columns: 1fr;
}
.campaign-page-collection.page-collection-story .campaign-public-card,
.campaign-page-collection.page-collection-story .campaign-issue-card {
display: grid;
grid-template-columns: 64px minmax(0, 1fr);
gap: 16px;
align-items: start;
}
.campaign-page-collection.page-collection-story .campaign-issue-number {
grid-row: span 3;
}
.campaign-page-collection.page-collection-ribbons .campaign-issue-card,
.campaign-page-collection.page-collection-ribbons .campaign-public-card {
border-left: 8px solid var(--campaign-accent);
}
.campaign-page-collection.page-collection-badges .campaign-issue-card,
.campaign-page-collection.page-collection-school .campaign-issue-card {
border-top: 8px solid color-mix(in srgb, var(--campaign-accent), #fff 20%);
}
.campaign-page-collection.page-collection-safety .campaign-issue-card,
.campaign-page-collection.page-collection-neon .campaign-issue-card,
.campaign-page-collection.page-collection-safety .campaign-public-card,
.campaign-page-collection.page-collection-neon .campaign-public-card {
background: #111827;
color: #fff;
border-color: var(--campaign-accent);
}
.campaign-page-collection.page-collection-bars .campaign-issue-card,
.campaign-page-collection.page-collection-bars .campaign-public-card {
border-top: 6px solid var(--campaign-accent);
box-shadow: 0 14px 32px rgba(15, 23, 42, .08);
}
.campaign-page-collection.page-collection-minimal .campaign-issue-card,
.campaign-page-collection.page-collection-minimal .campaign-public-card {
border-width: 0 0 1px;
border-radius: 0;
padding-left: 0;
padding-right: 0;
}
.campaign-page-collection.page-collection-checklist .campaign-issue-card h2::before,
.campaign-page-collection.page-collection-checklist .campaign-issue-card h3::before {
content: "✓ ";
color: var(--campaign-accent);
}
.campaign-page-collection.page-collection-credentials .campaign-issue-card,
.campaign-page-collection.page-collection-clean .campaign-public-card {
box-shadow: inset 0 0 0 4px color-mix(in srgb, var(--campaign-primary), #fff 86%);
}
.page-media-framed .campaign-gallery-item,
.page-media-framed .campaign-object-media-item,
.page-media-judicial .campaign-gallery-item,
.page-media-judicial .campaign-object-media-item {
box-shadow: inset 0 0 0 4px color-mix(in srgb, var(--campaign-primary), #fff 84%);
}
.page-media-dark .campaign-gallery-item,
.page-media-dark .campaign-object-media-item,
.page-media-high-contrast .campaign-gallery-item,
.page-media-high-contrast .campaign-object-media-item {
background: #111827;
color: #fff;
border-color: var(--campaign-accent);
}
.page-media-minimal .campaign-gallery-item,
.page-media-minimal .campaign-object-media-item {
border-width: 0;
border-radius: 0;
padding: 0;
}
.page-media-poster .campaign-gallery-item,
.page-media-poster .campaign-object-media-item {
transform: rotate(-.4deg);
border: 3px solid var(--campaign-ink);
}
.page-media-rounded .campaign-gallery-item,
.page-media-rounded .campaign-object-media-item,
.page-media-soft .campaign-gallery-item,
.page-media-soft .campaign-object-media-item,
.page-media-school .campaign-gallery-item,
.page-media-school .campaign-object-media-item,
.page-media-warm .campaign-gallery-item {
border-radius: 18px;
}
.page-media-warm .campaign-object-media-item {
border-radius: 18px;
}
.campaign-volunteer-section {
background: linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 12%), color-mix(in srgb, var(--campaign-accent), #111827 28%));
background-color: color-mix(in srgb, var(--campaign-primary), #111827 28%);
color: #fff;
}
.campaign-volunteer-section h2,
.campaign-volunteer-section .campaign-kicker,
.campaign-volunteer-section .campaign-section-heading p {
color: #fff;
text-shadow:
0 3px 24px rgb(15 23 42 / .82),
0 1px 5px rgb(15 23 42 / .72);
}
.campaign-form {
background: #fff;
color: var(--campaign-ink);
border-radius: 8px;
padding: 22px;
}
.campaign-form p { margin: 0 0 14px; }
.campaign-form-success {
display: grid;
gap: 4px;
margin: 0 0 18px;
padding: 14px 16px;
border: 1px solid color-mix(in srgb, var(--campaign-accent), #fff 24%);
border-radius: 8px;
background: color-mix(in srgb, var(--campaign-accent), #fff 88%);
color: color-mix(in srgb, var(--campaign-primary), #111827 25%);
}
.campaign-form-success strong {
font-size: 1.02rem;
}
.campaign-form-success span {
color: #344054;
}
.campaign-social-section {
padding: 34px 20px;
background:
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 18%), color-mix(in srgb, var(--campaign-accent), #111827 32%));
background-color: color-mix(in srgb, var(--campaign-primary), #111827 32%);
color: #fff;
}
.campaign-social-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 22px;
}
.campaign-social-inner h2 {
margin: 0;
color: #fff;
font-size: 1.8rem;
}
.campaign-social-section .campaign-kicker {
color: rgba(255,255,255,.78);
}
.campaign-social-links {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: flex-end;
}
.campaign-social-links a {
display: inline-flex;
align-items: center;
gap: 8px;
min-height: 44px;
padding: 9px 12px;
border: 1px solid rgba(255,255,255,.28);
border-radius: 999px;
background: rgba(255,255,255,.1);
color: #fff;
text-decoration: none;
font-weight: 850;
box-shadow: 0 10px 26px rgba(15,23,42,.16);
}
.campaign-social-links a:hover,
.campaign-social-links a:focus-visible {
background: rgba(255,255,255,.18);
}
.campaign-social-icon {
display: grid;
place-items: center;
width: 30px;
height: 30px;
border-radius: 999px;
background: #fff;
color: var(--campaign-primary);
flex: 0 0 auto;
}
.campaign-social-icon svg {
display: block;
width: 17px;
height: 17px;
fill: currentColor;
}
.campaign-primary-action,
.campaign-form button {
background-color: #10233d;
background-image: linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 18%), color-mix(in srgb, var(--campaign-accent), #111827 36%));
border-color: #10233d;
color: #fff;
}
.campaign-form button {
min-height: 52px;
padding: 13px 22px;
font-size: 1.05rem;
font-weight: 850;
}
.campaign-form small a {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 44px;
min-height: 44px;
}
body.campaign-site[class*="template-"] .campaign-form {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px 16px;
align-items: start;
}
body.campaign-site[class*="template-"] .campaign-form > .guided-field {
min-width: 0;
margin: 0;
}
body.campaign-site[class*="template-"] .campaign-form .field-limit {
display: none;
}
body.campaign-site[class*="template-"] .campaign-form > .campaign-form-success,
body.campaign-site[class*="template-"] .campaign-form > .campaign-form-success-next,
body.campaign-site[class*="template-"] .campaign-form > .campaign-selected-rental-item,
body.campaign-site[class*="template-"] .campaign-form > .field-errors,
body.campaign-site[class*="template-"] .campaign-form > .captcha-field,
body.campaign-site[class*="template-"] .campaign-form > .guided-field-email,
body.campaign-site[class*="template-"] .campaign-form > .guided-field-message,
body.campaign-site[class*="template-"] .campaign-form > .guided-field-fulfillment_preference,
body.campaign-site[class*="template-"] .campaign-form > .guided-field-legal_acceptance,
body.campaign-site[class*="template-"] .campaign-form > button[type="submit"] {
grid-column: 1 / -1;
}
body.campaign-site[class*="template-"] .campaign-form > button[type="submit"] {
justify-self: center;
min-width: min(100%, 280px);
padding: 16px 30px;
font-size: 1.08rem;
}
@media (max-width: 720px) {
body.campaign-site[class*="template-"] .campaign-form {
grid-template-columns: 1fr;
}
body.campaign-site[class*="template-"] .campaign-form > button[type="submit"] {
width: 100%;
}
}
.campaign-secondary-action {
color: var(--campaign-primary);
}
.campaign-footer {
padding: 28px 20px;
background-color: #10233d;
background-image: linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 34%), color-mix(in srgb, var(--campaign-accent), #111827 54%));
color: #fff;
text-align: center;
}
.campaign-footer p {
margin: 0;
}
.campaign-footer p + p {
margin-top: 10px;
}
.campaign-footer-links {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 8px 18px;
margin: 10px 0;
font-weight: 800;
}
.campaign-footer-links a {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 44px;
min-height: 44px;
color: #fff;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 4px;
}
.campaign-footer-links a:hover,
.campaign-footer-links a:focus {
color: #e5e7eb;
}
.type-serif-strong h1,
.type-serif-strong h2,
.type-serif-classic h1,
.type-serif-classic h2 {
font-family: Georgia, "Times New Roman", serif;
}
.type-serif-classic h1,
.type-serif-strong h1 { font-weight: 700; }
.type-sans-condensed h1,
.type-sans-condensed h2 {
font-family: "Arial Narrow", Impact, ui-sans-serif, sans-serif;
text-transform: uppercase;
}
.type-sans-friendly { font-family: ui-rounded, "Avenir Next", Inter, system-ui, sans-serif; }
.nav-centered .campaign-nav{justify-content:flex-start;flex-direction:row}.nav-centered .campaign-nav-links{justify-content:flex-start}
.nav-dark .campaign-nav-shell,.layout-dark-editorial .campaign-nav-shell{background:#101828;border-bottom-color:rgba(255,255,255,.16)}
.nav-dark .campaign-nav-links a,
.nav-dark .campaign-logo,
.layout-dark-editorial .campaign-nav-links a,
.layout-dark-editorial .campaign-logo {
color: #fff;
}
.nav-dark .campaign-nav-links,
.layout-dark-editorial .campaign-nav-links {
gap: 14px;
}
.nav-dark .campaign-nav-links a,
.layout-dark-editorial .campaign-nav-links a {
font-size: 1rem;
font-weight: 760;
line-height: 1;
}
.nav-dark .campaign-nav-links .campaign-donate-link,
.layout-dark-editorial .campaign-nav-links .campaign-donate-link {
background: #38bdf8;
border: 1px solid rgba(255, 255, 255, .32);
color: #08111f !important;
padding: 11px 14px;
box-shadow: 0 12px 28px rgb(6 182 212 / .22);
}
.nav-dark .campaign-nav-links .campaign-donate-link:hover,
.layout-dark-editorial .campaign-nav-links .campaign-donate-link:hover,
.nav-dark .campaign-nav-links .campaign-donate-link:focus-visible,
.layout-dark-editorial .campaign-nav-links .campaign-donate-link:focus-visible {
background: #67e8f9;
color: #08111f !important;
}
.nav-pill .campaign-nav-links a:not(.campaign-donate-link):not(.campaign-quote-link),.nav-soft .campaign-nav-links a:not(.campaign-donate-link):not(.campaign-quote-link){background:color-mix(in srgb,var(--campaign-accent),#fff 96%);border:1px solid color-mix(in srgb,var(--campaign-accent),#fff 84%);border-radius:999px;padding:8px 12px;color:color-mix(in srgb,var(--campaign-primary),#111827 24%);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:700;font-size:.98rem;box-shadow:none}
.nav-minimal .campaign-nav-shell{position:static;border-bottom:0}
.hero-centered .campaign-hero-grid,
.hero-plain .campaign-hero-grid {
grid-template-columns: 1fr;
text-align: center;
}
.campaign-public-hero.hero-mode-background .campaign-hero-grid,
.campaign-public-hero.hero-mode-color .campaign-hero-grid {
justify-items: start;
text-align: left;
}
.campaign-public-hero.hero-mode-background .campaign-hero-copy,
.campaign-public-hero.hero-mode-color .campaign-hero-copy {
margin: 0;
text-align: left;
}
.campaign-public-hero.hero-mode-background .campaign-slogan,
.campaign-public-hero.hero-mode-color .campaign-slogan {
margin-inline: 0;
}
.campaign-public-hero.hero-mode-background .campaign-hero-copy .actions,
.campaign-public-hero.hero-mode-color .campaign-hero-copy .actions {
justify-content: flex-start;
}
.campaign-public-hero.hero-text-hidden {
min-height: 640px;
display: grid;
align-items: end;
}
.campaign-public-hero.hero-text-hidden .campaign-hero-grid {
width: 100%;
min-height: 460px;
align-items: end;
}
.campaign-public-hero.hero-text-hidden .campaign-hero-copy {
align-self: end;
padding-bottom: 18px;
}
.campaign-public-hero.hero-text-hidden .campaign-hero-copy .actions {
margin-top: 0;
}
.hero-centered .campaign-hero-card,
.hero-plain .campaign-hero-card {
max-width: 660px;
margin: 0 auto;
}
.hero-document .campaign-public-hero,
.texture-parchment .campaign-public-hero {
background:
linear-gradient(rgba(255,255,255,.88), rgba(255,255,255,.78)),
repeating-linear-gradient(0deg, #f8f0dc 0 12px, #f3e4c0 12px 14px);
color: var(--campaign-primary);
}
.hero-document .campaign-office,
.hero-document .campaign-slogan { color: var(--campaign-ink); }
.hero-photo-panel .campaign-hero-card,
.hero-portrait-frame .campaign-hero-card { transform: rotate(-1.2deg); }
.hero-landscape .campaign-public-hero {
min-height: 680px;
display: grid;
align-items: end;
}
.hero-alert .campaign-public-hero,
.texture-scanline .campaign-public-hero {
background:
repeating-linear-gradient(135deg, rgba(255,255,255,.08) 0 8px, transparent 8px 18px),
linear-gradient(135deg, #111827, var(--campaign-primary));
}
.hero-split-metrics .campaign-hero-card,
.cards-executive .campaign-issue-card {
border-top: 6px solid var(--campaign-accent);
}
.hero-gradient-soft .campaign-public-hero,
.hero-layered .campaign-public-hero {
border-bottom-left-radius: 56px;
}
.hero-values .campaign-public-hero,
.hero-organic .campaign-public-hero,
.hero-family .campaign-public-hero,
.hero-warm .campaign-public-hero {
border-bottom-right-radius: 80px;
}
.hero-stripe .campaign-public-hero,
.texture-stripe .campaign-public-hero {
background:
radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--campaign-accent), #fff 18%), transparent 26%),
linear-gradient(135deg, var(--campaign-primary), var(--campaign-accent));
}
.hero-dark-split .campaign-public-hero,
.layout-dark-editorial .campaign-public-hero {
background: #0b1220;
}
.layout-dark-editorial .campaign-section {
background: #101828;
color: #fff;
}
.layout-dark-editorial .campaign-alt-section,
.layout-dark-editorial .campaign-issue-card,
.layout-dark-editorial .campaign-event-item {
background: #182230;
color: #fff;
}
.layout-dark-editorial .campaign-section-heading h2 { color: #fff; }
.layout-dark-editorial .campaign-page-hero,
.page-layout-dark-editorial.campaign-page-hero {
background: #0b1220;
}
.hero-poster .campaign-public-hero,
.texture-handbill .campaign-public-hero {
background:
radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--campaign-accent), #fff 28%), transparent 22%),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 8%), color-mix(in srgb, var(--campaign-accent), #111827 30%));
}
.hero-notebook .campaign-public-hero,
.texture-notebook .campaign-public-hero {
background:
repeating-linear-gradient(0deg, rgba(255,255,255,.16) 0 28px, transparent 28px 30px),
linear-gradient(135deg, var(--campaign-primary), var(--campaign-accent));
}
.hero-judicial .campaign-public-hero,
.texture-marble .campaign-public-hero {
background:
linear-gradient(135deg, rgba(31,41,55,.94), rgba(76,29,149,.82)),
radial-gradient(circle at 20% 20%, rgba(255,255,255,.25), transparent 20%);
}
.layout-minimal .campaign-public-hero {
background: #fff;
color: var(--campaign-ink);
border-bottom: 1px solid var(--line);
}
.layout-minimal .campaign-page-hero,
.page-layout-minimal.campaign-page-hero {
background: #fff;
color: var(--campaign-ink);
border-bottom: 1px solid var(--line);
}
.layout-minimal .campaign-public-hero:not(.has-hero-background-image) .campaign-office,
.layout-minimal .campaign-public-hero:not(.has-hero-background-image) .campaign-slogan { color: var(--campaign-ink); }
.layout-minimal .campaign-public-hero.has-hero-background-image h1 { color: #fff; }
.layout-minimal .campaign-hero-card {
border: 1px solid #111827;
box-shadow: none;
}
.cards-rounded .campaign-issue-card,
.cards-soft .campaign-issue-card,
.cards-school .campaign-issue-card,
.cards-warm .campaign-issue-card {
border-radius: 20px;
}
.cards-framed .campaign-issue-card,
.cards-judicial .campaign-issue-card {
box-shadow: inset 0 0 0 4px color-mix(in srgb, var(--campaign-primary), #fff 85%);
}
.cards-high-contrast .campaign-issue-card {
background: #111827;
color: #fff;
border-color: var(--campaign-accent);
}
.cards-poster .campaign-issue-card {
transform: rotate(-.6deg);
border: 3px solid var(--campaign-ink);
}
.issues-numbered .campaign-issue-number,
.issues-safety .campaign-issue-number,
.issues-neon .campaign-issue-number {
display: inline-grid;
place-items: center;
width: 42px;
height: 42px;
border-radius: 999px;
background: var(--campaign-accent);
color: #fff;
}
.issues-checklist .campaign-issue-card h3::before {
content: "✓ ";
color: var(--campaign-accent);
}
.page-layout-banner.campaign-page-hero {
text-transform: uppercase;
}
.page-layout-seal.campaign-page-hero .campaign-section-inner,
.page-layout-civic.campaign-page-hero .campaign-section-inner {
text-align: center;
}
.page-layout-editorial.campaign-page-hero,
.page-layout-judicial.campaign-page-hero,
.page-layout-transparency.campaign-page-hero {
background:
linear-gradient(rgba(255,255,255,.9), rgba(255,255,255,.82)),
repeating-linear-gradient(0deg, #f8f0dc 0 12px, #f3e4c0 12px 14px);
color: var(--campaign-primary);
}
.page-layout-local.campaign-page-hero,
.page-layout-community.campaign-page-hero,
.page-layout-neighborhood.campaign-page-hero {
background:
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 10%), color-mix(in srgb, var(--campaign-accent), #7c2d12 20%));
}
.page-layout-wide-landscape.campaign-page-hero {
min-height: 420px;
display: grid;
align-items: end;
}
.page-layout-alert.campaign-page-hero {
background:
repeating-linear-gradient(135deg, rgba(255,255,255,.08) 0 8px, transparent 8px 18px),
linear-gradient(135deg, #111827, var(--campaign-primary));
}
.page-layout-executive.campaign-page-hero,
.page-layout-administration.campaign-page-hero {
border-bottom: 12px solid var(--campaign-accent);
}
.page-layout-modern-wave.campaign-page-hero,
.page-layout-movement.campaign-page-hero {
border-bottom-left-radius: 56px;
}
.page-layout-values.campaign-page-hero,
.page-layout-organic.campaign-page-hero,
.page-layout-family.campaign-page-hero,
.page-layout-warm.campaign-page-hero {
border-bottom-right-radius: 80px;
}
.page-layout-union.campaign-page-hero {
background:
radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--campaign-accent), #fff 18%), transparent 28%),
linear-gradient(135deg, var(--campaign-primary), var(--campaign-accent));
}
.page-layout-field.campaign-page-hero {
background:
radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--campaign-accent), #fff 22%), transparent 24%),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 8%), color-mix(in srgb, var(--campaign-accent), #111827 30%));
}
.page-layout-school.campaign-page-hero {
background:
repeating-linear-gradient(0deg, rgba(255,255,255,.16) 0 28px, transparent 28px 30px),
linear-gradient(135deg, var(--campaign-primary), var(--campaign-accent));
}
.campaign-page-hero,
[class*="page-layout-"].campaign-page-hero,
.layout-minimal .campaign-page-hero {
min-height: 236px;
padding: 48px 20px 42px;
color: #fff;
text-transform: none;
border-bottom: 0;
border-radius: 0;
background:
radial-gradient(circle at 86% 16%, color-mix(in srgb, var(--campaign-accent), transparent 68%), transparent 30%),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 18%), color-mix(in srgb, var(--campaign-accent), #111827 48%));
}
.campaign-page-hero .campaign-kicker,
.campaign-page-hero h1,
.campaign-page-hero .campaign-page-summary {
color: #fff;
text-shadow:
0 3px 24px rgb(15 23 42 / .78),
0 1px 5px rgb(15 23 42 / .72);
}
body.layout-minimal .campaign-page-hero {
background: linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 10%), color-mix(in srgb, var(--campaign-accent), #111827 42%));
color: #fff;
}
.sections-timeline .campaign-alt-section {
border-left: 10px solid var(--campaign-accent);
}
.sections-open .campaign-section {
padding-top: 80px;
padding-bottom: 80px;
}
.sections-minimal .campaign-section {
border-top: 1px solid var(--line);
}
.layout-banner .campaign-public-hero,
.hero-solid-band .campaign-public-hero {
border-bottom: 14px solid var(--campaign-accent);
text-transform: uppercase;
}
.layout-seal .campaign-theme-mark,
.layout-civic .campaign-theme-mark {
margin-inline: auto;
}
.layout-editorial .campaign-public-hero,
.layout-transparency .campaign-public-hero {
background:
linear-gradient(rgba(255,255,255,.9), rgba(255,255,255,.78)),
repeating-linear-gradient(0deg, #f8f0dc 0 13px, #f2e2bd 13px 15px);
color: var(--campaign-primary);
}
.layout-local .campaign-public-hero,
.layout-community .campaign-public-hero,
.layout-neighborhood .campaign-public-hero {
background:
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 12%), color-mix(in srgb, var(--campaign-accent), #7c2d12 18%));
}
.layout-heritage .campaign-public-hero {
background:
linear-gradient(rgba(255,255,255,.12), rgba(255,255,255,.06)),
linear-gradient(135deg, #451a03, var(--campaign-primary));
}
.layout-family .campaign-public-hero,
.layout-values .campaign-public-hero,
.layout-organic .campaign-public-hero {
background:
radial-gradient(circle at 82% 15%, color-mix(in srgb, var(--campaign-accent), transparent 72%), transparent 25%),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #fff 12%), color-mix(in srgb, var(--campaign-accent), #fff 36%));
}
.hero-community .campaign-hero-card,
.hero-executive .campaign-hero-card {
border-top: 8px solid var(--campaign-accent);
}
.cards-bordered .campaign-issue-card,
.cards-bordered .campaign-public-card {
border-width: 2px;
}
.cards-shadowed .campaign-issue-card,
.cards-shadowed .campaign-public-card,
.cards-layered .campaign-issue-card,
.cards-layered .campaign-public-card,
.cards-local .campaign-issue-card,
.cards-local .campaign-public-card {
box-shadow: 0 16px 36px rgba(15, 23, 42, .09);
}
.cards-earth .campaign-issue-card,
.cards-earth .campaign-public-card {
background: #fff7ed;
border-color: #fed7aa;
}
.cards-leaf .campaign-issue-card,
.cards-leaf .campaign-public-card,
.cards-clean .campaign-issue-card,
.cards-clean .campaign-public-card {
background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--campaign-accent), #fff 95%));
}
.cards-checklist .campaign-issue-card,
.cards-checklist .campaign-public-card {
border-left: 7px solid var(--campaign-accent);
}
.cards-dark .campaign-issue-card,
.cards-dark .campaign-public-card {
background: #111827;
color: #fff;
border-color: var(--campaign-accent);
}
.cards-minimal .campaign-issue-card,
.cards-minimal .campaign-public-card {
border-width: 0 0 1px;
border-radius: 0;
box-shadow: none;
}
.cards-union .campaign-issue-card,
.cards-union .campaign-public-card {
border-top: 7px solid var(--campaign-accent);
}
.issues-tile .campaign-issue-card,
.issues-grid .campaign-issue-card,
.issues-values .campaign-issue-card,
.issues-local .campaign-issue-card {
min-height: 210px;
}
.issues-stickers .campaign-issue-card {
transform: rotate(-.35deg);
}
.issues-clean .campaign-issue-card {
box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--campaign-primary), #fff 88%);
}
.issues-story .campaign-issue-card {
display: grid;
gap: 10px;
}
.issues-story .campaign-media-card,
.page-collection-story .campaign-media-card {
display: flex;
gap: 0;
}
.campaign-page-collection.page-collection-story .campaign-media-card.campaign-issue-card,
.campaign-page-collection.page-collection-story .campaign-media-card.campaign-public-card {
display: flex;
grid-template-columns: none;
gap: 0;
}
.nav-block .campaign-nav-links a:not(.campaign-donate-link):not(.campaign-quote-link) {
border-left: 4px solid var(--campaign-accent);
padding-left: 10px;
}
.nav-slim .campaign-nav {
padding-top: 10px;
padding-bottom: 10px;
}
.sections-striped .campaign-section:nth-of-type(even),
.sections-formal .campaign-section:nth-of-type(even),
.sections-editorial .campaign-section:nth-of-type(even),
.sections-local .campaign-section:nth-of-type(even),
.sections-civic .campaign-section:nth-of-type(even),
.sections-community .campaign-section:nth-of-type(even),
.sections-values .campaign-section:nth-of-type(even),
.sections-soft .campaign-section:nth-of-type(even),
.sections-family .campaign-section:nth-of-type(even),
.sections-warm .campaign-section:nth-of-type(even),
.sections-transparent .campaign-section:nth-of-type(even) {
background: color-mix(in srgb, var(--campaign-primary), #fff 96%);
}
.sections-executive .campaign-section-heading,
.sections-administration .campaign-section-heading {
border-bottom: 3px solid var(--campaign-accent);
padding-bottom: 12px;
}
.sections-alert .campaign-section,
.sections-dark .campaign-section {
background: #101828;
color: #fff;
}
.sections-alert .campaign-section-heading h2,
.sections-dark .campaign-section-heading h2 {
color: #fff;
}
.sections-movement .campaign-section,
.sections-field .campaign-section,
.sections-organic .campaign-section,
.sections-school .campaign-section,
.sections-union .campaign-section,
.sections-judicial .campaign-section {
border-top: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 84%);
}
.texture-starline .campaign-public-hero,
.texture-pinstripe .campaign-public-hero,
.texture-stitched .campaign-public-hero,
.texture-grid .campaign-public-hero,
.texture-civic-grid .campaign-public-hero,
.texture-blueprint .campaign-public-hero,
.texture-map .campaign-public-hero,
.texture-neighborhood .campaign-public-hero,
.texture-paper .campaign-public-hero,
.texture-none .campaign-public-hero {
background-image:
linear-gradient(rgba(255,255,255,.07), rgba(255,255,255,.07)),
linear-gradient(135deg, var(--campaign-primary), var(--campaign-accent));
}
.texture-wave .campaign-public-hero,
.texture-confetti-line .campaign-public-hero,
.texture-dot .campaign-public-hero,
.texture-leaf .campaign-public-hero,
.texture-field .campaign-public-hero,
.texture-ledger .campaign-public-hero,
.texture-city .campaign-public-hero {
background-image:
radial-gradient(circle at 88% 12%, rgba(255,255,255,.22), transparent 18%),
linear-gradient(135deg, var(--campaign-primary), var(--campaign-accent));
}
.campaign-public-hero.has-hero-background-image {
background:
linear-gradient(90deg, rgb(8 13 28 / 0.58) 0%, rgb(8 13 28 / 0.38) 48%, rgb(8 13 28 / 0.12) 100%),
linear-gradient(180deg, rgb(8 13 28 / 0.04), rgb(8 13 28 / 0.16)),
var(--campaign-hero-bg-image),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 18%), color-mix(in srgb, var(--campaign-accent), #111827 42%));
background-size: cover, cover, cover, cover;
background-position: center, center, var(--campaign-hero-image-x) var(--campaign-hero-image-y), center;
background-repeat: no-repeat;
color: #fff;
min-height: min(var(--campaign-hero-min-height), 620px);
display: grid;
align-items: center;
}
.campaign-public-hero.has-hero-background-image .campaign-kicker,
.campaign-public-hero.has-hero-background-image .campaign-hero-copy h1,
.campaign-public-hero.has-hero-background-image .campaign-office,
.campaign-public-hero.has-hero-background-image .campaign-slogan {
color: #fff;
text-shadow: 0 2px 18px rgb(15 23 42 / .52);
}
.hero-document .campaign-public-hero:not(.has-hero-background-image) .campaign-kicker,
.layout-editorial .campaign-public-hero:not(.has-hero-background-image) .campaign-kicker,
.layout-transparency .campaign-public-hero:not(.has-hero-background-image) .campaign-kicker,
.layout-minimal .campaign-public-hero:not(.has-hero-background-image) .campaign-kicker {
color: var(--campaign-primary);
text-shadow: none;
}
.type-sans-polished h1,
.type-sans-polished h2 {
font-family: Inter, ui-sans-serif, system-ui, sans-serif;
font-weight: 900;
}
.type-sans-practical h1,
.type-sans-practical h2 {
font-family: Arial, Inter, ui-sans-serif, system-ui, sans-serif;
font-weight: 850;
}
@media (max-width: 860px) {
.template-card h2 {
font-size: 1.65rem;
}
.process-rail {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.campaign-nav{align-items:center;flex-direction:column;gap:10px}.campaign-nav-links{width:100%;justify-content:flex-start;padding-bottom:2px}
.campaign-hero-grid,
.campaign-two-column,
.campaign-bio-card,
.campaign-issue-grid,
.campaign-card-grid,
.campaign-endorsement-grid,
.campaign-review-detail-grid,
.campaign-demo-context-grid,
.campaign-donation-strip-inner,
.campaign-page-collection.page-collection-columns {
grid-template-columns: 1fr;
}
.campaign-demo-context-strip {
grid-template-columns: 1fr;
}
.campaign-public-hero.has-hero-background-image {
--campaign-hero-image-y: 14%;
background-position: center, center, var(--campaign-hero-image-x) var(--campaign-hero-image-y), center;
min-height: 620px;
}
.campaign-page-collection.page-collection-story .campaign-public-card,
.campaign-page-collection.page-collection-story .campaign-issue-card {
grid-template-columns: 1fr;
}
.campaign-public-hero { padding: 58px 20px; }
.campaign-page-hero {
min-height: 230px;
padding: 48px 20px 44px;
}
.campaign-hero-copy h1,
.campaign-page-hero h1 {
font-size: 1.9rem;
}
.campaign-event-item {
grid-template-columns: 1fr;
}
.campaign-event-actions .button {
width: 100%;
}
.campaign-logo {
max-width: 220px;
}
.campaign-donation-strip p:not(.campaign-kicker) {
max-width: 100%;
}
.campaign-gallery-slide img,
.campaign-gallery-slide video {
height: 340px;
}
.campaign-gallery-arrow {
width: 44px;
height: 44px;
}
}
@media (max-width: 560px) {
.process-rail {
grid-template-columns: 1fr;
}
.campaign-demo-banner {
align-items: stretch;
text-align: left;
}
.campaign-demo-actions,
.campaign-demo-actions a {
width: 100%;
}
.campaign-demo-actions a {
text-align: center;
}
.campaign-logo {
--campaign-logo-width: 170px;
--campaign-logo-height: 54px;
max-width: min(100%, var(--campaign-logo-width));
}
.campaign-gallery-slide img,
.campaign-gallery-slide video {
height: 260px;
}
.campaign-gallery-slide figcaption {
left: 14px;
right: 14px;
bottom: 12px;
font-size: .9rem;
}
.campaign-gallery-thumbs {
grid-auto-columns: minmax(74px, 96px);
}
}
/* Final no-card hero alignment guardrail.
Some theme profiles intentionally center preview artwork, but public hero copy
should stay left-aligned when the hero card is disabled. */
body.campaign-site .campaign-public-hero.hero-mode-background .campaign-hero-grid,
body.campaign-site .campaign-public-hero.hero-mode-color .campaign-hero-grid {
width: 100% !important;
justify-items: start !important;
text-align: left !important;
}
body.campaign-site .campaign-public-hero.hero-mode-background .campaign-hero-copy,
body.campaign-site .campaign-public-hero.hero-mode-color .campaign-hero-copy {
justify-self: start !important;
margin-left: 0 !important;
margin-right: auto !important;
text-align: left !important;
}
body.campaign-site .campaign-public-hero.hero-mode-background .campaign-slogan,
body.campaign-site .campaign-public-hero.hero-mode-color .campaign-slogan {
margin-left: 0 !important;
margin-right: auto !important;
}
body.campaign-site .campaign-public-hero.hero-mode-background .campaign-hero-copy .actions,
body.campaign-site .campaign-public-hero.hero-mode-color .campaign-hero-copy .actions {
justify-content: flex-start !important;
}
/* Eventodesk template distinctness layer.
The inherited template engine keeps one semantic page structure for safety,
but each required Eventodesk template needs a visibly different customer
experience in preview and tenant sites. These rules change composition,
section rhythm, card density, and tone per template without changing routes,
forms, consent, SEO, or dashboard data contracts. */
body.campaign-site[class*="template-"] {
--eventodesk-section-y: 64px;
--eventodesk-tight-y: 44px;
--eventodesk-photo-radius: 8px;
}
body.campaign-site[class*="template-"] .campaign-section {
padding-top: var(--eventodesk-section-y);
padding-bottom: var(--eventodesk-section-y);
}
body.campaign-site[class*="template-"] .campaign-section-heading {
max-width: 760px;
}
body.campaign-site[class*="template-"] .campaign-section-heading h2 {
font-size: 2.2rem;
line-height: 1.04;
}
body.campaign-site[class*="template-"] .campaign-large-text {
max-width: 940px;
font-size: 1.24rem;
line-height: 1.56;
}
body.campaign-site[class*="template-"] .campaign-card-media img,
body.campaign-site[class*="template-"] .campaign-gallery-item img,
body.campaign-site[class*="template-"] .campaign-bio-media img {
border-radius: var(--eventodesk-photo-radius);
}
body.campaign-site[class*="template-"] .campaign-issue-card,
body.campaign-site[class*="template-"] .campaign-public-card,
body.campaign-site[class*="template-"] .campaign-endorsement-card,
body.campaign-site[class*="template-"] .campaign-faq-item,
body.campaign-site[class*="template-"] .campaign-form {
border-radius: 8px;
}

.template-elegant-wedding .campaign-public-hero.has-hero-background-image,
.template-luxury-black-tie .campaign-public-hero.has-hero-background-image {
--campaign-hero-image-y: 44%;
align-items: end;
background:
linear-gradient(90deg, rgb(12 15 22 / .72), rgb(12 15 22 / .34) 58%, rgb(12 15 22 / .1)),
linear-gradient(180deg, transparent, rgb(12 15 22 / .42)),
var(--campaign-hero-bg-image),
linear-gradient(135deg, #101828, #283344);
background-size: cover;
background-position: center, center, var(--campaign-hero-image-x) var(--campaign-hero-image-y), center;
}
.template-elegant-wedding .campaign-hero-copy,
.template-luxury-black-tie .campaign-hero-copy {
max-width: 760px;
padding-bottom: 16px;
}
.template-elegant-wedding .campaign-hero-copy h1,
.template-luxury-black-tie .campaign-hero-copy h1 {
font-family: Georgia, "Times New Roman", serif;
font-size: 4.2rem;
line-height: .94;
font-weight: 700;
}
.template-elegant-wedding .campaign-intro-section,
.template-luxury-black-tie .campaign-intro-section {
background: #fffaf2;
}
.template-elegant-wedding #issues .campaign-issue-grid,
.template-luxury-black-tie #issues .campaign-issue-grid {
grid-template-columns: 1.2fr .9fr .9fr;
}
.template-elegant-wedding .campaign-issue-card,
.template-luxury-black-tie .campaign-issue-card {
border-width: 0 0 1px;
box-shadow: none;
}
.template-luxury-black-tie .campaign-section,
.template-luxury-black-tie .campaign-alt-section,
.template-luxury-black-tie .campaign-demo-context-panel {
background: #0d111b;
color: #fff;
}
.template-luxury-black-tie .campaign-section-heading h2,
.template-luxury-black-tie .campaign-large-text,
.template-luxury-black-tie .campaign-body-copy,
.template-luxury-black-tie .campaign-card-meta {
color: #fff;
}
.template-luxury-black-tie .campaign-issue-card,
.template-luxury-black-tie .campaign-public-card,
.template-luxury-black-tie .campaign-endorsement-card,
.template-luxury-black-tie .campaign-faq-item {
background: #151b28;
color: #fff;
border-color: rgb(255 255 255 / .18);
}

.template-modern-wedding .campaign-public-hero.has-hero-background-image,
.template-industrial-urban .campaign-public-hero.has-hero-background-image {
min-height: 590px;
}
.template-modern-wedding .campaign-section-inner,
.template-modern-wedding .campaign-nav {
max-width: 1120px;
}
.template-modern-wedding .campaign-issue-grid,
.template-modern-wedding .campaign-card-grid {
gap: 0;
border-top: 1px solid #dfe5ee;
border-left: 1px solid #dfe5ee;
}
.template-modern-wedding .campaign-issue-card,
.template-modern-wedding .campaign-public-card {
border-width: 0 1px 1px 0;
border-radius: 0;
box-shadow: none;
}
.template-modern-wedding .campaign-card-media img {
border-radius: 0;
}
.template-industrial-urban {
--campaign-bg: #111827;
}
.template-industrial-urban .campaign-section,
.template-industrial-urban .campaign-alt-section {
background: #111827;
color: #fff;
}
.template-industrial-urban .campaign-section-heading h2,
.template-industrial-urban .campaign-large-text,
.template-industrial-urban .campaign-body-copy {
color: #fff;
}
.template-industrial-urban .campaign-issue-card,
.template-industrial-urban .campaign-public-card,
.template-industrial-urban .campaign-form {
background: #182230;
color: #fff;
border-color: #334155;
box-shadow: none;
}
.template-industrial-urban .campaign-card-meta {
color: #cbd5e1;
}
.template-luxury-black-tie .campaign-section .campaign-kicker,
.template-luxury-black-tie .campaign-alt-section .campaign-kicker,
.template-industrial-urban .campaign-section .campaign-kicker,
.template-industrial-urban .campaign-alt-section .campaign-kicker {
color: #f8fafc;
}
.template-luxury-black-tie .campaign-text-link,
.template-luxury-black-tie .campaign-endorsement-card h2,
.template-luxury-black-tie .campaign-endorsement-card h3,
.template-luxury-black-tie .campaign-review-quote,
.template-industrial-urban .campaign-text-link,
.template-industrial-urban .campaign-endorsement-card h2,
.template-industrial-urban .campaign-endorsement-card h3,
.template-industrial-urban .campaign-review-quote {
color: #f8fafc;
}
.template-luxury-black-tie .campaign-review-role,
.template-industrial-urban .campaign-review-role {
color: #cbd5e1;
}

.template-bohemian-wedding .campaign-bio-card,
.template-garden-party .campaign-bio-card,
.template-tropical-coastal .campaign-bio-card,
.template-rustic-barn .campaign-bio-card {
grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
border: 0;
box-shadow: none;
background: transparent;
padding: 0;
}
.template-bohemian-wedding .campaign-bio-media img,
.template-garden-party .campaign-bio-media img,
.template-tropical-coastal .campaign-bio-media img,
.template-rustic-barn .campaign-bio-media img {
aspect-ratio: 1 / 1;
}
.template-bohemian-wedding #media,
.template-garden-party #media,
.template-tropical-coastal #media,
.template-rustic-barn #media {
background:
radial-gradient(circle at 90% 12%, color-mix(in srgb, var(--campaign-accent), transparent 78%), transparent 26%),
#f8fbf6;
}
.template-bohemian-wedding .campaign-media-strip,
.template-garden-party .campaign-media-strip,
.template-tropical-coastal .campaign-media-strip,
.template-rustic-barn .campaign-media-strip {
grid-auto-columns: minmax(280px, 31%);
align-items: end;
}
.template-bohemian-wedding .campaign-gallery-item:nth-child(2n),
.template-garden-party .campaign-gallery-item:nth-child(2n),
.template-tropical-coastal .campaign-gallery-item:nth-child(2n),
.template-rustic-barn .campaign-gallery-item:nth-child(2n) {
transform: translateY(18px);
}
.template-rustic-barn .campaign-section,
.template-rustic-barn .campaign-alt-section {
background: #fff8ed;
}
.template-tropical-coastal .campaign-public-hero.has-hero-background-image {
--campaign-hero-image-y: 54%;
}

.template-festival-birthday .campaign-public-hero.has-hero-background-image,
.template-princess-party .campaign-public-hero.has-hero-background-image,
.template-adventure-superhero .campaign-public-hero.has-hero-background-image,
.template-bounce-house-energy .campaign-public-hero.has-hero-background-image,
.template-inflatable-water-park .campaign-public-hero.has-hero-background-image {
min-height: 620px;
background:
linear-gradient(90deg, rgb(7 13 25 / .68), rgb(7 13 25 / .34) 55%, rgb(7 13 25 / .08)),
radial-gradient(circle at 72% 22%, rgb(255 255 255 / .18), transparent 22%),
var(--campaign-hero-bg-image),
linear-gradient(135deg, var(--campaign-primary), var(--campaign-accent));
background-size: cover;
background-position: center, center, var(--campaign-hero-image-x) var(--campaign-hero-image-y), center;
}
.template-festival-birthday .campaign-issue-grid,
.template-princess-party .campaign-issue-grid,
.template-adventure-superhero .campaign-issue-grid,
.template-bounce-house-energy .campaign-issue-grid,
.template-inflatable-water-park .campaign-issue-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
align-items: stretch;
}
.template-festival-birthday .campaign-issue-card:nth-child(2),
.template-princess-party .campaign-issue-card:nth-child(2),
.template-adventure-superhero .campaign-issue-card:nth-child(2),
.template-bounce-house-energy .campaign-issue-card:nth-child(2),
.template-inflatable-water-park .campaign-issue-card:nth-child(2) {
transform: translateY(20px);
}
.template-festival-birthday .campaign-issue-card,
.template-princess-party .campaign-issue-card,
.template-adventure-superhero .campaign-issue-card,
.template-bounce-house-energy .campaign-issue-card,
.template-inflatable-water-park .campaign-issue-card {
border: 2px solid color-mix(in srgb, var(--campaign-accent), #fff 56%);
box-shadow: 0 18px 0 color-mix(in srgb, var(--campaign-accent), #fff 82%);
}
.template-princess-party .campaign-section,
.template-adventure-superhero .campaign-section {
background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--campaign-accent), #fff 95%));
}

.template-corporate-modern .campaign-section-inner,
.template-corporate-modern .campaign-nav,
.template-corporate-modern .campaign-hero-grid {
max-width: 1240px;
}
.template-corporate-modern .campaign-intro-section .campaign-section-inner,
.template-corporate-modern #about .campaign-section-inner,
.template-corporate-modern #inquiry .campaign-section-inner {
display: grid;
grid-template-columns: minmax(260px, .42fr) minmax(0, 1fr);
gap: 40px;
align-items: start;
}
.template-corporate-modern .campaign-intro-section .campaign-section-heading,
.template-corporate-modern #about .campaign-section-heading,
.template-corporate-modern #inquiry .campaign-section-heading {
margin: 0;
}
.template-corporate-modern .campaign-bio-card,
.template-corporate-modern .campaign-form {
grid-column: 2;
}
.template-corporate-modern .campaign-large-text {
margin: 0;
}
.template-corporate-modern .campaign-issue-card,
.template-corporate-modern .campaign-public-card {
border-top: 6px solid var(--campaign-accent);
box-shadow: 0 20px 50px rgb(15 23 42 / .08);
}

.template-vibrant-quinceanera .campaign-public-hero.has-hero-background-image,
.template-traditional-family-celebration .campaign-public-hero.has-hero-background-image {
--campaign-hero-image-y: 48%;
}
.template-vibrant-quinceanera .campaign-section,
.template-traditional-family-celebration .campaign-section {
background: #fff7f2;
}
.template-vibrant-quinceanera .campaign-alt-section,
.template-traditional-family-celebration .campaign-alt-section {
background:
linear-gradient(135deg, color-mix(in srgb, var(--campaign-accent), #fff 92%), #fff 56%);
}
.template-vibrant-quinceanera .campaign-endorsement-grid,
.template-traditional-family-celebration .campaign-endorsement-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.template-vibrant-quinceanera .campaign-endorsement-card,
.template-traditional-family-celebration .campaign-endorsement-card {
text-align: left;
border-left: 7px solid var(--campaign-accent);
}

body.campaign-site[class*="template-"] .campaign-public-hero.has-hero-background-image {
min-height: 540px;
}
body.campaign-site[class*="template-"] .campaign-hero-copy h1 {
font-size: 2.32rem;
line-height: 1.02;
}
.template-elegant-wedding .campaign-hero-copy h1,
.template-luxury-black-tie .campaign-hero-copy h1 {
font-size: 3.1rem;
line-height: .96;
}

@media (max-width: 900px) {
.template-elegant-wedding #issues .campaign-issue-grid,
.template-luxury-black-tie #issues .campaign-issue-grid,
.template-corporate-modern .campaign-intro-section .campaign-section-inner,
.template-corporate-modern #about .campaign-section-inner,
.template-corporate-modern #inquiry .campaign-section-inner,
.template-vibrant-quinceanera .campaign-endorsement-grid,
.template-traditional-family-celebration .campaign-endorsement-grid {
grid-template-columns: 1fr;
}
.template-corporate-modern .campaign-bio-card,
.template-corporate-modern .campaign-form {
grid-column: auto;
}
.template-festival-birthday .campaign-issue-card:nth-child(2),
.template-princess-party .campaign-issue-card:nth-child(2),
.template-adventure-superhero .campaign-issue-card:nth-child(2),
.template-bounce-house-energy .campaign-issue-card:nth-child(2),
.template-inflatable-water-park .campaign-issue-card:nth-child(2),
.template-bohemian-wedding .campaign-gallery-item:nth-child(2n),
.template-garden-party .campaign-gallery-item:nth-child(2n),
.template-tropical-coastal .campaign-gallery-item:nth-child(2n),
.template-rustic-barn .campaign-gallery-item:nth-child(2n) {
transform: none;
}
}

/* Eventodesk homepage variant architecture.
These classes are assigned by the selected template so demo sites differ in
actual homepage flow, not just palette. */
body.campaign-site .campaign-home-flow {
background: var(--campaign-bg);
}
body.campaign-site .campaign-demo-context-panel {
display: none;
}
body.campaign-site .campaign-home-flow > .campaign-section:first-child {
padding-top: 76px;
}
body.campaign-site .campaign-home-flow > .campaign-section:last-child {
padding-bottom: 82px;
}
body.campaign-site .campaign-home-flow .campaign-section-heading {
margin-bottom: 24px;
}
body.campaign-site.home-variant-wedding-editorial #media .campaign-section-inner,
body.campaign-site.home-variant-outdoor-story #media .campaign-section-inner {
display: grid;
grid-template-columns: minmax(240px, .42fr) minmax(0, 1fr);
gap: 36px;
align-items: start;
}
body.campaign-site.home-variant-wedding-editorial #media .campaign-section-heading,
body.campaign-site.home-variant-outdoor-story #media .campaign-section-heading {
position: sticky;
top: 88px;
margin: 0;
}
body.campaign-site.home-variant-wedding-editorial #media .campaign-media-strip,
body.campaign-site.home-variant-outdoor-story #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
gap: 18px;
overflow: visible;
padding: 0;
}
body.campaign-site.home-variant-wedding-editorial #media .campaign-gallery-item,
body.campaign-site.home-variant-outdoor-story #media .campaign-gallery-item {
min-width: 0;
}
body.campaign-site.home-variant-wedding-editorial #media .campaign-gallery-item.primary,
body.campaign-site.home-variant-outdoor-story #media .campaign-gallery-item.primary {
grid-row: span 2;
}
body.campaign-site.home-variant-wedding-editorial #media .campaign-gallery-item.primary img,
body.campaign-site.home-variant-outdoor-story #media .campaign-gallery-item.primary img {
aspect-ratio: 4 / 5;
}
body.campaign-site.home-variant-wedding-editorial .campaign-intro-section .campaign-section-inner {
display: grid;
grid-template-columns: minmax(220px, .32fr) minmax(0, 1fr);
gap: 42px;
align-items: baseline;
}
body.campaign-site.home-variant-wedding-editorial #issues .campaign-issue-grid {
grid-template-columns: minmax(0, 1.32fr) repeat(2, minmax(0, .84fr));
}
body.campaign-site.home-variant-wedding-editorial #endorsements .campaign-endorsement-grid {
grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
}
body.campaign-site.home-variant-wedding-editorial .campaign-public-hero.has-hero-background-image {
min-height: 650px;
align-items: end;
}
body.campaign-site.home-variant-wedding-editorial .campaign-hero-grid {
align-items: end;
}
body.campaign-site.home-variant-wedding-editorial .campaign-hero-copy {
padding-bottom: 42px;
}

body.campaign-site.home-variant-modern-minimal .campaign-home-flow > .campaign-section {
padding-top: 52px;
padding-bottom: 52px;
}
body.campaign-site.home-variant-modern-minimal #issues .campaign-section-inner,
body.campaign-site.home-variant-modern-minimal #news .campaign-section-inner {
display: grid;
grid-template-columns: minmax(210px, .3fr) minmax(0, 1fr);
gap: 32px;
align-items: start;
}
body.campaign-site.home-variant-modern-minimal #issues .campaign-section-heading,
body.campaign-site.home-variant-modern-minimal #news .campaign-section-heading {
margin: 0;
}
body.campaign-site.home-variant-modern-minimal #issues .campaign-issue-grid,
body.campaign-site.home-variant-modern-minimal #news .campaign-card-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.campaign-site.home-variant-modern-minimal #issues .campaign-issue-card:first-child,
body.campaign-site.home-variant-modern-minimal #news .campaign-public-card:first-child {
grid-column: 1 / -1;
display: grid;
grid-template-columns: minmax(0, .46fr) minmax(0, .54fr);
}
body.campaign-site.home-variant-modern-minimal #issues .campaign-issue-card:first-child .campaign-card-media img,
body.campaign-site.home-variant-modern-minimal #news .campaign-public-card:first-child .campaign-card-media img {
height: 100%;
aspect-ratio: auto;
}
body.campaign-site.home-variant-modern-minimal #about .campaign-bio-card {
grid-template-columns: minmax(220px, .36fr) minmax(0, .64fr);
border-width: 0;
box-shadow: none;
padding: 0;
}

body.campaign-site.home-variant-outdoor-story #about .campaign-bio-card {
grid-template-columns: minmax(240px, .48fr) minmax(0, .52fr);
align-items: end;
}
body.campaign-site.home-variant-outdoor-story #events .campaign-card-grid {
grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
}
body.campaign-site.home-variant-outdoor-story #events .campaign-public-card:first-child {
grid-row: span 2;
}
body.campaign-site.home-variant-outdoor-story #events .campaign-public-card:first-child img {
aspect-ratio: 4 / 3;
}
body.campaign-site.home-variant-outdoor-story #issues .campaign-issue-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.campaign-site.home-variant-kids-party #events {
background:
linear-gradient(180deg, color-mix(in srgb, var(--campaign-accent), #fff 90%), #fff 78%);
}
body.campaign-site.home-variant-kids-party .campaign-public-hero.has-hero-background-image {
min-height: 570px;
background:
linear-gradient(90deg, rgb(255 255 255 / .96), rgb(255 255 255 / .88) 42%, rgb(255 255 255 / .1) 72%),
var(--campaign-hero-bg-image),
linear-gradient(135deg, var(--campaign-primary), var(--campaign-accent));
background-size: cover;
background-position: center, var(--campaign-hero-image-x) var(--campaign-hero-image-y), center;
}
body.campaign-site.home-variant-kids-party .campaign-hero-grid {
align-items: center;
}
body.campaign-site.home-variant-kids-party .campaign-hero-copy {
max-width: 560px;
padding: 30px 0;
color: var(--campaign-ink);
}
body.campaign-site.home-variant-kids-party .campaign-hero-copy h1,
body.campaign-site.home-variant-kids-party .campaign-public-hero .campaign-kicker,
body.campaign-site.home-variant-kids-party .campaign-public-hero .campaign-office,
body.campaign-site.home-variant-kids-party .campaign-public-hero .campaign-slogan {
color: var(--campaign-ink);
text-shadow: none;
}
body.campaign-site.home-variant-kids-party .campaign-hero-copy h1 {
font-size: 3.35rem;
line-height: .96;
}
body.campaign-site.home-variant-kids-party #events .campaign-card-grid {
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
body.campaign-site.home-variant-kids-party #events .campaign-public-card:first-child {
grid-column: 1 / -1;
display: grid;
grid-template-columns: minmax(0, .56fr) minmax(0, .44fr);
align-items: stretch;
}
body.campaign-site.home-variant-kids-party #events .campaign-public-card:first-child .campaign-card-media img {
height: 100%;
aspect-ratio: auto;
}
body.campaign-site.home-variant-kids-party #issues .campaign-section-inner {
display: grid;
grid-template-columns: minmax(220px, .28fr) minmax(0, 1fr);
gap: 30px;
align-items: start;
}
body.campaign-site.home-variant-kids-party #issues .campaign-section-heading {
margin: 0;
}
body.campaign-site.home-variant-kids-party #issues .campaign-issue-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.campaign-site.home-variant-kids-party #media .campaign-media-strip {
grid-auto-columns: minmax(230px, 30%);
}
body.campaign-site.home-variant-kids-party #about .campaign-bio-card {
grid-template-columns: minmax(0, .38fr) minmax(0, .62fr);
}

body.campaign-site.home-variant-rental-catalog #issues {
background: #f8fafc;
}
body.campaign-site.home-variant-rental-catalog .campaign-public-hero.has-hero-background-image {
min-height: 560px;
align-items: center;
}
body.campaign-site.home-variant-rental-catalog .campaign-hero-copy {
max-width: 660px;
padding: 28px;
background: rgb(15 23 42 / .84);
border-left: 8px solid var(--campaign-accent);
box-shadow: 0 22px 52px rgb(15 23 42 / .28);
}
body.campaign-site.home-variant-rental-catalog #issues .campaign-section-inner {
display: grid;
grid-template-columns: minmax(220px, .27fr) minmax(0, 1fr);
gap: 32px;
align-items: start;
}
body.campaign-site.home-variant-rental-catalog #issues .campaign-section-heading {
margin: 0;
}
body.campaign-site.home-variant-rental-catalog #issues .campaign-issue-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 14px;
}
body.campaign-site.home-variant-rental-catalog #issues .campaign-issue-card {
border-top: 6px solid var(--campaign-accent);
}
body.campaign-site.home-variant-rental-catalog #events .campaign-card-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.campaign-site.home-variant-rental-catalog #media .campaign-media-strip {
grid-auto-flow: initial;
grid-template-columns: repeat(4, minmax(0, 1fr));
overflow: visible;
}
body.campaign-site.home-variant-rental-catalog #media .campaign-gallery-item.primary {
grid-column: span 2;
grid-row: span 2;
}
body.campaign-site.home-variant-rental-catalog #media .campaign-gallery-item.primary img {
aspect-ratio: 4 / 3;
}

body.campaign-site.home-variant-corporate-ops #issues .campaign-section-inner,
body.campaign-site.home-variant-corporate-ops #news .campaign-section-inner,
body.campaign-site.home-variant-corporate-ops #events .campaign-section-inner {
display: grid;
grid-template-columns: minmax(240px, .34fr) minmax(0, .66fr);
gap: 42px;
align-items: start;
}
body.campaign-site.home-variant-corporate-ops #issues .campaign-section-heading,
body.campaign-site.home-variant-corporate-ops #news .campaign-section-heading,
body.campaign-site.home-variant-corporate-ops #events .campaign-section-heading {
margin: 0;
}
body.campaign-site.home-variant-corporate-ops #issues .campaign-issue-grid,
body.campaign-site.home-variant-corporate-ops #news .campaign-card-grid,
body.campaign-site.home-variant-corporate-ops #events .campaign-card-grid {
grid-template-columns: 1fr;
}
body.campaign-site.home-variant-corporate-ops #issues .campaign-issue-card,
body.campaign-site.home-variant-corporate-ops #news .campaign-public-card,
body.campaign-site.home-variant-corporate-ops #events .campaign-public-card {
display: grid;
grid-template-columns: minmax(180px, .34fr) minmax(0, .66fr);
}
body.campaign-site.home-variant-corporate-ops #media .campaign-section-inner {
max-width: 1000px;
}
body.campaign-site.home-variant-corporate-ops .campaign-public-hero.has-hero-background-image {
min-height: 540px;
background:
linear-gradient(90deg, #f8fafc 0, #f8fafc 43%, rgb(248 250 252 / .28) 62%, rgb(15 23 42 / .1)),
var(--campaign-hero-bg-image),
linear-gradient(135deg, #f8fafc, #e2e8f0);
background-size: cover;
background-position: center, var(--campaign-hero-image-x) var(--campaign-hero-image-y), center;
}
body.campaign-site.home-variant-corporate-ops .campaign-hero-copy {
max-width: 600px;
color: #0f172a;
text-shadow: none;
}
body.campaign-site.home-variant-corporate-ops .campaign-hero-copy h1,
body.campaign-site.home-variant-corporate-ops .campaign-public-hero .campaign-kicker,
body.campaign-site.home-variant-corporate-ops .campaign-public-hero .campaign-office,
body.campaign-site.home-variant-corporate-ops .campaign-public-hero .campaign-slogan {
color: #0f172a;
text-shadow: none;
}

body.campaign-site.home-variant-family-celebration #endorsements {
background:
linear-gradient(180deg, #fff7f2, color-mix(in srgb, var(--campaign-accent), #fff 94%));
}
body.campaign-site.home-variant-family-celebration .campaign-public-hero.has-hero-background-image {
min-height: 590px;
background:
linear-gradient(90deg, rgb(36 24 21 / .78), rgb(36 24 21 / .42) 56%, rgb(36 24 21 / .08)),
var(--campaign-hero-bg-image),
linear-gradient(135deg, var(--campaign-primary), var(--campaign-accent));
background-size: cover;
background-position: center, var(--campaign-hero-image-x) var(--campaign-hero-image-y), center;
}
body.campaign-site.home-variant-family-celebration #endorsements .campaign-endorsement-grid {
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
body.campaign-site.home-variant-family-celebration #endorsements .campaign-endorsement-card:first-child {
grid-column: 1 / -1;
display: grid;
grid-template-columns: auto minmax(0, 1fr);
align-items: center;
}
body.campaign-site.home-variant-family-celebration #endorsements .campaign-endorsement-card:first-child .campaign-review-quote {
font-size: 1.24rem;
}
body.campaign-site.home-variant-family-celebration #about .campaign-bio-card {
grid-template-columns: minmax(240px, .4fr) minmax(0, .6fr);
}
body.campaign-site.home-variant-family-celebration #media .campaign-media-strip {
grid-auto-flow: initial;
grid-template-columns: repeat(3, minmax(0, 1fr));
overflow: visible;
}
body.campaign-site.home-variant-family-celebration #media .campaign-gallery-item.primary {
grid-column: span 2;
}

@media (max-width: 980px) {
body.campaign-site.home-variant-wedding-editorial #media .campaign-section-inner,
body.campaign-site.home-variant-outdoor-story #media .campaign-section-inner,
body.campaign-site.home-variant-wedding-editorial .campaign-intro-section .campaign-section-inner,
body.campaign-site.home-variant-modern-minimal #issues .campaign-section-inner,
body.campaign-site.home-variant-modern-minimal #news .campaign-section-inner,
body.campaign-site.home-variant-kids-party #issues .campaign-section-inner,
body.campaign-site.home-variant-rental-catalog #issues .campaign-section-inner,
body.campaign-site.home-variant-corporate-ops #issues .campaign-section-inner,
body.campaign-site.home-variant-corporate-ops #news .campaign-section-inner,
body.campaign-site.home-variant-corporate-ops #events .campaign-section-inner {
grid-template-columns: 1fr;
}
body.campaign-site.home-variant-wedding-editorial #media .campaign-section-heading,
body.campaign-site.home-variant-outdoor-story #media .campaign-section-heading {
position: static;
}
body.campaign-site.home-variant-modern-minimal #issues .campaign-issue-card:first-child,
body.campaign-site.home-variant-modern-minimal #news .campaign-public-card:first-child,
body.campaign-site.home-variant-kids-party #events .campaign-public-card:first-child,
body.campaign-site.home-variant-corporate-ops #issues .campaign-issue-card,
body.campaign-site.home-variant-corporate-ops #news .campaign-public-card,
body.campaign-site.home-variant-corporate-ops #events .campaign-public-card {
display: flex;
grid-template-columns: none;
}
body.campaign-site.home-variant-wedding-editorial #issues .campaign-issue-grid,
body.campaign-site.home-variant-wedding-editorial #endorsements .campaign-endorsement-grid,
body.campaign-site.home-variant-outdoor-story #events .campaign-card-grid,
body.campaign-site.home-variant-kids-party #events .campaign-card-grid,
body.campaign-site.home-variant-kids-party #issues .campaign-issue-grid,
body.campaign-site.home-variant-rental-catalog #events .campaign-card-grid,
body.campaign-site.home-variant-family-celebration #endorsements .campaign-endorsement-grid {
grid-template-columns: 1fr;
}
body.campaign-site.home-variant-rental-catalog #media .campaign-media-strip,
body.campaign-site.home-variant-family-celebration #media .campaign-media-strip,
body.campaign-site.home-variant-wedding-editorial #media .campaign-media-strip,
body.campaign-site.home-variant-outdoor-story #media .campaign-media-strip {
grid-auto-flow: column;
grid-auto-columns: minmax(250px, 82%);
grid-template-columns: none;
overflow-x: auto;
}
body.campaign-site.home-variant-rental-catalog #media .campaign-gallery-item.primary,
body.campaign-site.home-variant-family-celebration #media .campaign-gallery-item.primary,
body.campaign-site.home-variant-wedding-editorial #media .campaign-gallery-item.primary,
body.campaign-site.home-variant-outdoor-story #media .campaign-gallery-item.primary {
grid-column: auto;
grid-row: auto;
}
}

/* Contrast guardrails for the demo/template surface.
Template skins can alter section backgrounds, but form, social, and dark-mode
sections must keep readable foreground/background pairs. */
body.campaign-site .campaign-home-flow > .campaign-volunteer-section {
background:
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 12%), color-mix(in srgb, var(--campaign-accent), #111827 28%));
background-color: color-mix(in srgb, var(--campaign-primary), #111827 28%);
color: #fff;
}
body.campaign-site .campaign-home-flow > .campaign-volunteer-section h2,
body.campaign-site .campaign-home-flow > .campaign-volunteer-section .campaign-kicker,
body.campaign-site .campaign-home-flow > .campaign-volunteer-section .campaign-section-heading p {
color: #fff;
}
body.campaign-site.template-luxury-black-tie .campaign-home-flow > .campaign-section,
body.campaign-site.template-luxury-black-tie .campaign-home-flow > .campaign-alt-section {
background: #0d111b;
color: #fff;
}
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-section-heading h2,
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-large-text,
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-body-copy,
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-bio-card h3,
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-about-preview-copy,
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-about-preview-copy p {
color: #fff;
}
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-bio-card,
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-issue-card,
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-public-card,
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-endorsement-card,
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-faq-item {
background: #151b28;
color: #fff;
border-color: rgb(255 255 255 / .18);
}
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-bio-card,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-endorsement-card,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-faq-item,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-gallery-item,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-object-media-item {
background: #182230;
color: #f8fafc;
border-color: #334155;
}
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-gallery-item figcaption,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-object-media-item figcaption {
color: #cbd5e1;
}
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-bio-card h3,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-about-preview-copy,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-about-preview-copy p,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-endorsement-card h2,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-endorsement-card h3,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-faq-item summary,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-faq-item p,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-review-quote,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-text-link {
color: #f8fafc;
}
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-review-role {
color: #cbd5e1;
}
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-form .field-help,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-form .checkbox-card small {
color: #cbd5e1;
}
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-form .checkbox-card {
background: #111827;
border-color: #334155;
color: #f8fafc;
}
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-form .checkbox-card a {
color: #bfdbfe;
}
/* Final campaign nav sizing guardrail.
Tenant headers should read like professional website navigation, not a tray
of equal-weight buttons. Keep one compact quote CTA in the header and let
secondary conversion paths live in the hero/body sections. */
body.campaign-site .campaign-nav {
gap: 32px;
align-items: center;
justify-content: space-between;
}
body.campaign-site .campaign-nav-links {
flex: 1 1 auto;
flex-wrap: nowrap;
gap: 22px;
overflow: visible;
white-space: nowrap;
justify-content: flex-end;
}
body.campaign-site .campaign-nav-links a {
min-height: 44px;
font-size: .98rem;
font-weight: 820;
line-height: 1.05;
letter-spacing: 0;
padding: 4px 0;
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
body.campaign-site.nav-pill .campaign-nav-links a:not(.campaign-donate-link):not(.campaign-quote-link),
body.campaign-site.nav-soft .campaign-nav-links a:not(.campaign-donate-link):not(.campaign-quote-link) {
padding: 4px 0;
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
font-size: .98rem;
font-weight: 820;
}
body.campaign-site .campaign-donate-link {
border: 0;
background: transparent;
box-shadow: none;
padding: 4px 0;
font-weight: 850!important;
}
body.campaign-site .campaign-quote-link {
border-radius: 999px;
padding: 11px 18px!important;
font-size: .96rem;
font-weight: 950!important;
box-shadow: 0 12px 28px color-mix(in srgb,var(--campaign-primary),transparent 82%);
}
body.campaign-site .campaign-quote-link::after {
display:none;
}
@media (max-width: 1120px) {
body.campaign-site .campaign-nav {
flex-wrap: wrap;
justify-content: center;
gap: 10px 18px;
padding-block: 12px 14px;
}
body.campaign-site .campaign-logo {
width: 100%;
max-width: 100%;
justify-content: center;
text-align: center;
}
body.campaign-site .campaign-logo span {
max-width: min(100%, 520px);
text-align: center;
}
body.campaign-site .campaign-logo-demo {
width: auto;
max-width: min(100%, 300px);
text-align: left;
}
body.campaign-site .campaign-logo-demo .campaign-demo-logo-mark {
max-width: 46px;
text-align: initial;
}
body.campaign-site .campaign-logo-demo .campaign-demo-logo-copy {
max-width: 198px!important;
text-align: left;
}
body.campaign-site .campaign-nav-links {
width: 100%;
justify-content: center;
overflow-x: auto;
overflow-y: hidden;
scrollbar-width: none;
padding-bottom: 2px;
}
body.campaign-site .campaign-nav-links::-webkit-scrollbar {
display:none;
}
}
/* Mobile demo preview guardrails.
Demo campaigns need to show real template structure without letting the
preview banner, horizontal nav, or hero crop dominate small screens. */
@media (max-width: 640px) {
.campaign-home-gallery-grid {
grid-template-columns: 1fr;
}
.template-related-guides a {
border-radius: 8px;
width: 100%;
}
.campaign-demo-banner {
padding: 8px 12px;
font-size: .78rem;
line-height: 1.25;
}
.campaign-demo-actions {
display: none;
}
.campaign-demo-context-strip {
display: flex;
overflow-x: auto;
scroll-snap-type: x proximity;
scrollbar-width: none;
}
.campaign-demo-context-strip::-webkit-scrollbar {
display: none;
}
.campaign-demo-context-strip span {
min-width: 260px;
padding: 8px 14px;
scroll-snap-align: start;
}
.campaign-demo-context-strip small {
font-size: .64rem;
}
.campaign-demo-context-strip strong {
font-size: .84rem;
white-space: normal;
}
.campaign-nav {
padding: 12px 0 10px;
gap: 12px;
}
.campaign-logo {
width: 100%;
max-width: 100%;
justify-content: center;
font-size: 1.15rem;
}
.campaign-logo span {
max-width: 100%;
text-align: center;
}
.campaign-nav-links {
width: 100%;
padding: 0 16px 2px;
gap: 10px;
scroll-padding-inline: 16px;
scrollbar-width: none;
}
.campaign-nav-links::-webkit-scrollbar {
display: none;
}
body.campaign-site .campaign-nav-links a,
body.campaign-site.nav-pill .campaign-nav-links a:not(.campaign-donate-link):not(.campaign-quote-link),
body.campaign-site.nav-soft .campaign-nav-links a:not(.campaign-donate-link):not(.campaign-quote-link) {
font-size: .9rem;
min-height:44px;
padding:10px 0;
border:0;
border-radius:0;
background:transparent;
}
body.campaign-site .campaign-donate-link {
padding: 10px 12px;
}
body.campaign-site .campaign-quote-link {
padding: 10px 14px!important;
font-size: .92rem;
border-radius:999px;
}
.campaign-public-hero.has-hero-background-image {
--campaign-hero-image-x: 78%;
--campaign-hero-image-y: 50%;
min-height: 510px;
padding: 38px 18px 30px;
background-size: cover, cover, auto 100%, cover;
}
.campaign-public-hero.has-hero-background-image::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(90deg, rgb(8 13 28 / .78) 0%, rgb(8 13 28 / .58) 56%, rgb(8 13 28 / .22) 100%);
pointer-events: none;
}
.campaign-public-hero.has-hero-background-image > * {
position: relative;
z-index: 1;
}
.campaign-theme-mark {
right: 18px;
top: 18px;
max-width: 45%;
text-align: right;
font-size: .66rem;
}
.campaign-public-hero .campaign-kicker {
font-size: .72rem;
}
.campaign-hero-copy h1,
.campaign-page-hero h1 {
font-size: 1.9rem;
line-height: 1;
}
.campaign-office {
font-size: 1rem;
}
.campaign-slogan {
font-size: 1.03rem;
line-height: 1.2;
}
.campaign-hero-copy .actions {
gap: 12px;
}
.campaign-hero-copy .actions .button,
.campaign-donate-large,
.campaign-donation-strip .button {
width: 100%;
min-height: 50px;
font-size: .98rem;
}
.campaign-demo-context-heading h2 {
font-size: 2rem;
}
}
@media (max-width: 390px) {
.campaign-public-hero.has-hero-background-image {
--campaign-hero-image-x: 80%;
min-height: 490px;
}
.campaign-hero-copy h1,
.campaign-page-hero h1 {
font-size: 1.9rem;
}
.campaign-slogan {
font-size: 1.08rem;
}
}
.captcha-field {
display: flex;
justify-content: center;
margin: 24px 0 20px;
min-height: 65px;
}
.captcha-field-v3 {
min-height: 0;
color: var(--muted);
font-size: .85rem;
text-align: center;
}
.captcha-field-v3 p {
margin: 0;
}
.campaign-demo-context-strip.sr-only {
position:absolute!important;
width:1px!important;
height:1px!important;
padding:0!important;
margin:-1px!important;
overflow:hidden!important;
clip:rect(0,0,0,0)!important;
white-space:nowrap!important;
border:0!important;
display:block!important;
}
.campaign-demo-context-strip.sr-only span {
display:inline!important;
min-width:0!important;
padding:0!important;
background:transparent!important;
}
@media (max-width: 700px) {
body.campaign-site[class*="template-"] .campaign-bio-card,
body.campaign-site[class*="template-"] .campaign-two-column,
body.campaign-site[class*="template-"] .campaign-review-detail-grid,
body.campaign-site[class*="template-"] .campaign-donation-strip-inner {
grid-template-columns:1fr!important;
}
body.campaign-site[class*="template-"] .campaign-bio-card {
gap:18px!important;
padding:18px!important;
}
body.campaign-site[class*="template-"] .campaign-body-copy,
body.campaign-site[class*="template-"] .campaign-about-preview-copy,
body.campaign-site[class*="template-"] .campaign-about-preview-copy p {
min-width:0!important;
width:100%!important;
max-width:100%!important;
}
body.campaign-site[class*="template-"] .campaign-text-link {
min-width:44px;
min-height:44px;
}
body.campaign-site[class*="template-"] .campaign-hero-copy {
max-width:100%!important;
box-sizing:border-box;
}
}
.billing-plan-selector {
border: 0;
margin: 0 0 16px;
padding: 0;
display: grid;
gap: 12px;
}
.billing-plan-selector legend {
font-weight: 800;
margin-bottom: 10px;
}
.billing-plan-choice {
display: grid;
grid-template-columns: auto 1fr;
gap: 10px 14px;
align-items: start;
border: 1px solid var(--border);
border-radius: 8px;
padding: 14px;
background: #fff;
cursor: pointer;
}
.billing-plan-choice input {
margin-top: 4px;
}
.billing-plan-choice-main {
display: flex;
justify-content: space-between;
gap: 12px;
align-items: baseline;
}
.billing-plan-choice-main strong {
color: var(--ink);
}
.billing-plan-choice-main span {
color: var(--navy);
font-weight: 800;
white-space: nowrap;
}
.billing-plan-choice-badge,
.billing-plan-choice-note {
grid-column: 2;
}
.billing-plan-choice-badge {
width: fit-content;
border-radius: 999px;
padding: 4px 9px;
background: color-mix(in srgb, var(--teal), #fff 88%);
color: #0f766e;
font-size: .78rem;
font-weight: 800;
}
.billing-plan-choice-note {
color: var(--muted);
font-size: .9rem;
line-height: 1.45;
}
.billing-plan-choice.is-selected {
border-color: var(--teal);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal), transparent 82%);
}
.billing-plan-choice-upgrade .billing-plan-choice-badge {
background: color-mix(in srgb, #7c3aed, #fff 88%);
color: #5b21b6;
}
.billing-plan-choice-downgrade .billing-plan-choice-badge {
background: #f1f5f9;
color: #475569;
}

/* Final Eventodesk public-site type scale guardrail. */
body.campaign-site[class*="template-"] .campaign-hero-copy h1 {
font-size: 2.17rem;
line-height: 1.04;
}
body.campaign-site[class*="template-"] .campaign-page-hero h1 {
font-size: 1.77rem;
line-height: 1.08;
}
body.campaign-site[class*="template-"].template-elegant-wedding .campaign-hero-copy h1,
body.campaign-site[class*="template-"].template-luxury-black-tie .campaign-hero-copy h1 {
font-size: 2.65rem;
line-height: .98;
}
@media (max-width: 640px) {
body.campaign-site[class*="template-"] .campaign-hero-copy h1,
body.campaign-site[class*="template-"] .campaign-page-hero h1 {
font-size: 1.62rem;
line-height: 1.08;
}
}

/* Eventodesk template quality pass after rendered audit. */
body.campaign-site[class*="template-"].type-sans-condensed h1,
body.campaign-site[class*="template-"].type-sans-condensed h2 {
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-weight: 900;
text-transform: none;
}
body.campaign-site[class*="template-"] .campaign-public-hero.has-hero-background-image {
background:
linear-gradient(90deg, rgb(8 13 28 / .76) 0%, rgb(8 13 28 / .52) 48%, rgb(8 13 28 / .16) 100%),
linear-gradient(180deg, rgb(8 13 28 / .06), rgb(8 13 28 / .22)),
var(--campaign-hero-bg-image),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 18%), color-mix(in srgb, var(--campaign-accent), #111827 42%));
background-size: cover, cover, cover, cover;
background-position: center, center, var(--campaign-hero-image-x) var(--campaign-hero-image-y), center;
}
body.campaign-site[class*="template-"] .campaign-hero-copy {
max-width: 680px;
}
body.campaign-site[class*="template-"] .campaign-hero-copy h1 {
font-size: 2.45rem;
line-height: 1.04;
text-wrap: balance;
}
body.campaign-site[class*="template-"] .campaign-slogan {
max-width: 620px;
font-size: 1.18rem;
line-height: 1.38;
}
body.campaign-site[class*="template-"] .campaign-office {
line-height: 1.35;
}
body.campaign-site[class*="template-"] .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-card-body h2,
body.campaign-site[class*="template-"] .campaign-card-body h3 {
text-wrap: balance;
}
body.campaign-site[class*="template-"] .campaign-card-media img,
body.campaign-site[class*="template-"] .campaign-card-media video {
aspect-ratio: 16 / 10;
object-position: 50% 42%;
}
body.campaign-site[class*="template-"] .campaign-public-card,
body.campaign-site[class*="template-"] .campaign-issue-card,
body.campaign-site[class*="template-"] .campaign-endorsement-card {
overflow: hidden;
}
body.campaign-site[class*="template-"] .campaign-gallery-item,
body.campaign-site[class*="template-"] .campaign-object-media-item,
body.campaign-site[class*="template-"] .campaign-issue-card,
body.campaign-site[class*="template-"] .campaign-public-card {
transform: none !important;
}
body.campaign-site[class*="template-"] .campaign-media-strip {
align-items: stretch;
}
body.campaign-site.template-modern-wedding .campaign-public-hero.has-hero-background-image {
--campaign-hero-image-y: 45%;
min-height: 550px;
align-items: center;
background:
linear-gradient(90deg, rgb(15 23 42 / .82) 0%, rgb(15 23 42 / .58) 43%, rgb(15 23 42 / .14) 76%),
var(--campaign-hero-bg-image),
linear-gradient(135deg, #111827, #2f7f8f);
background-size: cover;
background-position: center, var(--campaign-hero-image-x) var(--campaign-hero-image-y), center;
}
body.campaign-site.template-modern-wedding .campaign-hero-copy {
max-width: 610px;
}
body.campaign-site.template-modern-wedding .campaign-hero-copy h1 {
font-size: 2.55rem;
letter-spacing: 0;
}
body.campaign-site.home-variant-modern-minimal .campaign-home-flow > .campaign-section {
padding-top: 58px;
padding-bottom: 58px;
}
body.campaign-site.home-variant-modern-minimal #issues .campaign-issue-grid,
body.campaign-site.home-variant-modern-minimal #news .campaign-card-grid,
body.campaign-site.template-modern-wedding .campaign-issue-grid,
body.campaign-site.template-modern-wedding .campaign-card-grid {
gap: 18px;
border: 0;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.campaign-site.home-variant-modern-minimal #issues .campaign-issue-card,
body.campaign-site.home-variant-modern-minimal #news .campaign-public-card,
body.campaign-site.template-modern-wedding .campaign-issue-card,
body.campaign-site.template-modern-wedding .campaign-public-card {
border: 1px solid #dfe5ee;
border-radius: 8px;
box-shadow: none;
}
body.campaign-site.home-variant-modern-minimal #issues .campaign-issue-card:first-child,
body.campaign-site.home-variant-modern-minimal #news .campaign-public-card:first-child {
grid-column: auto;
display: flex;
grid-template-columns: none;
}
body.campaign-site.home-variant-modern-minimal #issues .campaign-issue-card:first-child .campaign-card-media img,
body.campaign-site.home-variant-modern-minimal #news .campaign-public-card:first-child .campaign-card-media img {
height: auto;
aspect-ratio: 16 / 10;
}
body.campaign-site.home-variant-wedding-editorial #media .campaign-media-strip {
grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
gap: 20px;
}
body.campaign-site.home-variant-wedding-editorial #media .campaign-gallery-item,
body.campaign-site.home-variant-outdoor-story #media .campaign-gallery-item {
padding: 0;
border: 0;
box-shadow: 0 18px 44px rgb(15 23 42 / .08);
}
body.campaign-site.home-variant-wedding-editorial #media .campaign-gallery-item img,
body.campaign-site.home-variant-outdoor-story #media .campaign-gallery-item img {
border-radius: 8px;
}
body.campaign-site.home-variant-outdoor-story #media .campaign-media-strip {
grid-auto-flow: initial;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, .8fr);
gap: 18px;
overflow: visible;
padding: 0;
}
body.campaign-site.home-variant-outdoor-story #media .campaign-gallery-item.primary {
grid-column: span 2;
}
body.campaign-site.home-variant-kids-party #events .campaign-public-card:first-child,
body.campaign-site.home-variant-kids-party #issues .campaign-issue-card {
border-radius: 8px;
box-shadow: 0 16px 34px color-mix(in srgb, var(--campaign-accent), transparent 88%);
}
body.campaign-site.home-variant-kids-party #events .campaign-public-card:first-child {
grid-template-columns: minmax(0, .52fr) minmax(0, .48fr);
}
body.campaign-site.home-variant-rental-catalog #issues .campaign-issue-card {
border-top: 5px solid var(--campaign-accent);
}
body.campaign-site.home-variant-rental-catalog #media .campaign-media-strip {
grid-template-columns: minmax(0, 1.15fr) repeat(2, minmax(0, .9fr));
gap: 18px;
}
body.campaign-site.home-variant-rental-catalog #media .campaign-gallery-item.primary {
grid-column: auto;
grid-row: auto;
}
body.campaign-site.home-variant-corporate-ops #issues .campaign-issue-card,
body.campaign-site.home-variant-corporate-ops #news .campaign-public-card,
body.campaign-site.home-variant-corporate-ops #events .campaign-public-card {
grid-template-columns: minmax(220px, .38fr) minmax(0, .62fr);
border-radius: 8px;
}
body.campaign-site.home-variant-family-celebration #media .campaign-media-strip {
grid-template-columns: minmax(0, 1.1fr) repeat(2, minmax(0, .95fr));
gap: 18px;
}
body.campaign-site.home-variant-family-celebration #media .campaign-gallery-item.primary {
grid-column: auto;
}
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-card-body p,
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-review-quote,
body.campaign-site.template-luxury-black-tie .campaign-home-flow .campaign-card-meta,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-card-body p,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-review-quote,
body.campaign-site.template-industrial-urban .campaign-home-flow .campaign-card-meta {
color: #f8fafc;
}
@media (max-width: 980px) {
body.campaign-site.home-variant-modern-minimal #issues .campaign-issue-grid,
body.campaign-site.home-variant-modern-minimal #news .campaign-card-grid,
body.campaign-site.home-variant-outdoor-story #media .campaign-media-strip,
body.campaign-site.home-variant-rental-catalog #media .campaign-media-strip,
body.campaign-site.home-variant-family-celebration #media .campaign-media-strip,
body.campaign-site.template-modern-wedding .campaign-issue-grid,
body.campaign-site.template-modern-wedding .campaign-card-grid {
grid-template-columns: 1fr;
}
body.campaign-site.home-variant-outdoor-story #media .campaign-gallery-item.primary {
grid-column: auto;
}
body.campaign-site.home-variant-corporate-ops #issues .campaign-issue-card,
body.campaign-site.home-variant-corporate-ops #news .campaign-public-card,
body.campaign-site.home-variant-corporate-ops #events .campaign-public-card,
body.campaign-site.home-variant-kids-party #events .campaign-public-card:first-child {
display: flex;
grid-template-columns: none;
}
}

/* Final Eventodesk template layout and contrast audit pass.
This layer intentionally sits after inherited template CSS. Each demo template
gets a different structural rhythm while text/background pairs stay readable. */
body.campaign-site[class*="template-"] .campaign-page-hero {
background:
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 30%), color-mix(in srgb, var(--campaign-accent), #111827 44%));
color: #fff;
}
body.campaign-site[class*="template-"] .campaign-page-hero h1,
body.campaign-site[class*="template-"] .campaign-page-hero .campaign-kicker,
body.campaign-site[class*="template-"] .campaign-page-hero .campaign-page-summary,
body.campaign-site[class*="template-"] .campaign-page-hero p {
color: #fff;
}
body.campaign-site[class*="template-"] .campaign-home-flow > .campaign-section,
body.campaign-site[class*="template-"] .campaign-home-flow > .campaign-alt-section {
color: #0f172a;
}
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-body-copy,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-about-preview-copy,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-large-text,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-card-body h3,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-card-body h3 a,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-faq-item summary {
color: #0f172a;
}
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-card-body p,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-card-meta,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-section-heading p,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-review-role,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-review-quote {
color: #334155;
}
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-issue-card,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-public-card,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-endorsement-card,
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-faq-item {
background: #fff;
color: #0f172a;
}
body.campaign-site[class*="template-"] .campaign-home-flow .campaign-text-link {
color: color-mix(in srgb, var(--campaign-primary), #064e3b 22%);
font-weight: 850;
}
body.campaign-site[class*="template-"] .campaign-public-hero.has-hero-background-image .campaign-hero-copy,
body.campaign-site[class*="template-"] .campaign-public-hero.has-hero-background-image .campaign-hero-copy h1,
body.campaign-site[class*="template-"] .campaign-public-hero.has-hero-background-image .campaign-kicker,
body.campaign-site[class*="template-"] .campaign-public-hero.has-hero-background-image .campaign-office,
body.campaign-site[class*="template-"] .campaign-public-hero.has-hero-background-image .campaign-slogan {
color: #fff;
}
body.campaign-site[class*="template-"] .campaign-home-flow > .campaign-volunteer-section,
body.campaign-site[class*="template-"] .campaign-home-flow > .campaign-volunteer-section .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-home-flow > .campaign-volunteer-section .campaign-section-heading p,
body.campaign-site[class*="template-"] .campaign-home-flow > .campaign-volunteer-section .campaign-kicker {
color: #fff;
}
body.campaign-site[class*="template-"] .campaign-home-flow > .campaign-volunteer-section .campaign-form {
background: #fff;
color: #0f172a;
}
body.campaign-site[class*="template-"] .campaign-home-flow > .campaign-volunteer-section .campaign-form label,
body.campaign-site[class*="template-"] .campaign-home-flow > .campaign-volunteer-section .campaign-form .field-help,
body.campaign-site[class*="template-"] .campaign-home-flow > .campaign-volunteer-section .campaign-form .checkbox-card {
color: #0f172a;
}

body.campaign-site.home-variant-bohemian-magazine #about .campaign-section-inner {
display: grid;
grid-template-columns: minmax(220px, .28fr) minmax(0, .72fr);
gap: 38px;
align-items: start;
}
body.campaign-site.home-variant-bohemian-magazine #about .campaign-section-heading {
margin: 0;
position: sticky;
top: 92px;
}
body.campaign-site.home-variant-bohemian-magazine #about .campaign-bio-card {
grid-template-columns: minmax(220px, .42fr) minmax(0, .58fr);
}
body.campaign-site.home-variant-bohemian-magazine #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, .9fr));
gap: 18px;
overflow: visible;
padding: 0;
}
body.campaign-site.home-variant-bohemian-magazine #media .campaign-gallery-item.primary {
grid-row: span 2;
}
body.campaign-site.home-variant-bohemian-magazine #issues .campaign-issue-grid {
grid-template-columns: minmax(0, 1.15fr) repeat(2, minmax(0, .92fr));
}

body.campaign-site.home-variant-festival-play #events .campaign-card-grid {
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
body.campaign-site.home-variant-festival-play #events .campaign-public-card:first-child {
grid-column: 1 / -1;
display: grid;
grid-template-columns: minmax(0, .58fr) minmax(0, .42fr);
align-items: stretch;
}
body.campaign-site.home-variant-festival-play #events .campaign-public-card:first-child .campaign-card-media img {
height: 100%;
aspect-ratio: auto;
}
body.campaign-site.home-variant-festival-play #issues .campaign-section-inner {
display: grid;
grid-template-columns: minmax(220px, .24fr) minmax(0, 1fr);
gap: 30px;
align-items: start;
}
body.campaign-site.home-variant-festival-play #issues .campaign-section-heading {
margin: 0;
}
body.campaign-site.home-variant-festival-play #media .campaign-media-strip {
grid-auto-columns: minmax(250px, 31%);
}

body.campaign-site.home-variant-storybook-party #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr) minmax(0, .95fr);
gap: 16px;
overflow: visible;
padding: 0;
}
body.campaign-site.home-variant-storybook-party #media .campaign-gallery-item.primary {
grid-column: 2;
grid-row: span 2;
}
body.campaign-site.home-variant-storybook-party #events .campaign-card-grid,
body.campaign-site.home-variant-storybook-party #endorsements .campaign-endorsement-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.campaign-site.home-variant-storybook-party #issues .campaign-issue-grid {
grid-template-columns: minmax(0, 1fr);
}
body.campaign-site.home-variant-storybook-party #issues .campaign-issue-card {
display: grid;
grid-template-columns: minmax(190px, .36fr) minmax(0, .64fr);
align-items: stretch;
}

body.campaign-site.home-variant-adventure-action #events .campaign-card-grid,
body.campaign-site.home-variant-adventure-action #issues .campaign-issue-grid {
grid-template-columns: minmax(0, 1fr);
}
body.campaign-site.home-variant-adventure-action #events .campaign-public-card,
body.campaign-site.home-variant-adventure-action #issues .campaign-issue-card {
display: grid;
grid-template-columns: minmax(220px, .38fr) minmax(0, .62fr);
align-items: stretch;
}
body.campaign-site.home-variant-adventure-action #events .campaign-card-media img,
body.campaign-site.home-variant-adventure-action #issues .campaign-card-media img {
height: 100%;
aspect-ratio: auto;
}
body.campaign-site.home-variant-adventure-action #news .campaign-card-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.campaign-site.home-variant-water-park-grid #media .campaign-section-inner {
display: grid;
grid-template-columns: minmax(220px, .25fr) minmax(0, .75fr);
gap: 28px;
align-items: start;
}
body.campaign-site.home-variant-water-park-grid #media .campaign-section-heading {
margin: 0;
}
body.campaign-site.home-variant-water-park-grid #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 14px;
overflow: visible;
padding: 0;
}
body.campaign-site.home-variant-water-park-grid #media .campaign-gallery-item.primary {
grid-column: span 2;
grid-row: span 2;
}
body.campaign-site.home-variant-water-park-grid #issues .campaign-issue-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.campaign-site.home-variant-garden-gallery #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr) minmax(0, .8fr);
gap: 18px;
overflow: visible;
padding: 0;
}
body.campaign-site.home-variant-garden-gallery #media .campaign-gallery-item.primary {
grid-row: span 2;
}
body.campaign-site.home-variant-garden-gallery #about .campaign-bio-card {
grid-template-columns: minmax(0, .52fr) minmax(0, .48fr);
}
body.campaign-site.home-variant-garden-gallery #services,
body.campaign-site.home-variant-garden-gallery #issues {
background: #f7fbf4;
}

body.campaign-site.home-variant-coastal-resort #media .campaign-section-inner,
body.campaign-site.home-variant-coastal-resort #events .campaign-section-inner {
display: grid;
grid-template-columns: minmax(220px, .3fr) minmax(0, .7fr);
gap: 36px;
align-items: start;
}
body.campaign-site.home-variant-coastal-resort #media .campaign-section-heading,
body.campaign-site.home-variant-coastal-resort #events .campaign-section-heading {
margin: 0;
}
body.campaign-site.home-variant-coastal-resort #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
overflow: visible;
padding: 0;
}
body.campaign-site.home-variant-coastal-resort #media .campaign-gallery-item.primary {
grid-column: 1 / -1;
}
body.campaign-site.home-variant-coastal-resort #events .campaign-card-grid {
grid-template-columns: minmax(0, 1fr);
}

body.campaign-site.home-variant-luxury-editorial .campaign-home-flow > .campaign-section,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow > .campaign-alt-section,
body.campaign-site.home-variant-urban-studio .campaign-home-flow > .campaign-section,
body.campaign-site.home-variant-urban-studio .campaign-home-flow > .campaign-alt-section {
background: #0d111b;
color: #f8fafc;
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow h2,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow h3,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow h3 a,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-large-text,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-body-copy,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-about-preview-copy,
body.campaign-site.home-variant-urban-studio .campaign-home-flow h2,
body.campaign-site.home-variant-urban-studio .campaign-home-flow h3,
body.campaign-site.home-variant-urban-studio .campaign-home-flow h3 a,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-large-text,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-body-copy,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-about-preview-copy {
color: #f8fafc;
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow p,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-card-meta,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-review-role,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-review-quote,
body.campaign-site.home-variant-urban-studio .campaign-home-flow p,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-card-meta,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-review-role,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-review-quote {
color: #dbe6f3;
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-issue-card,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-public-card,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-endorsement-card,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-faq-item,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-issue-card,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-public-card,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-endorsement-card,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-faq-item {
background: #151b28;
color: #f8fafc;
border-color: rgb(255 255 255 / .16);
}
body.campaign-site.home-variant-luxury-editorial #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-template-columns: minmax(0, 1.5fr) minmax(0, .75fr);
gap: 20px;
overflow: visible;
padding: 0;
}
body.campaign-site.home-variant-luxury-editorial #media .campaign-gallery-item.primary {
grid-row: span 2;
}
body.campaign-site.home-variant-luxury-editorial #endorsements .campaign-endorsement-grid {
grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
}

body.campaign-site.home-variant-rustic-story #about .campaign-section-inner,
body.campaign-site.home-variant-rustic-story #events .campaign-section-inner {
display: grid;
grid-template-columns: minmax(230px, .34fr) minmax(0, .66fr);
gap: 34px;
align-items: start;
}
body.campaign-site.home-variant-rustic-story #about .campaign-section-heading,
body.campaign-site.home-variant-rustic-story #events .campaign-section-heading {
margin: 0;
}
body.campaign-site.home-variant-rustic-story #events .campaign-card-grid {
grid-template-columns: minmax(0, 1fr);
}
body.campaign-site.home-variant-rustic-story #events .campaign-public-card {
display: grid;
grid-template-columns: minmax(210px, .4fr) minmax(0, .6fr);
}
body.campaign-site.home-variant-rustic-story #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
overflow: visible;
padding: 0;
}

body.campaign-site.home-variant-urban-studio #news .campaign-section-inner,
body.campaign-site.home-variant-urban-studio #issues .campaign-section-inner,
body.campaign-site.home-variant-urban-studio #events .campaign-section-inner {
display: grid;
grid-template-columns: minmax(230px, .28fr) minmax(0, .72fr);
gap: 32px;
align-items: start;
}
body.campaign-site.home-variant-urban-studio #news .campaign-section-heading,
body.campaign-site.home-variant-urban-studio #issues .campaign-section-heading,
body.campaign-site.home-variant-urban-studio #events .campaign-section-heading {
margin: 0;
}
body.campaign-site.home-variant-urban-studio #news .campaign-card-grid,
body.campaign-site.home-variant-urban-studio #issues .campaign-issue-grid,
body.campaign-site.home-variant-urban-studio #events .campaign-card-grid {
grid-template-columns: minmax(0, 1fr);
}
body.campaign-site.home-variant-urban-studio #news .campaign-public-card,
body.campaign-site.home-variant-urban-studio #issues .campaign-issue-card,
body.campaign-site.home-variant-urban-studio #events .campaign-public-card {
display: grid;
grid-template-columns: minmax(200px, .34fr) minmax(0, .66fr);
}
body.campaign-site.home-variant-urban-studio #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 12px;
overflow: visible;
padding: 0;
}
body.campaign-site.home-variant-urban-studio #media .campaign-gallery-item.primary {
grid-column: span 2;
grid-row: span 2;
}

body.campaign-site.home-variant-quince-celebration #endorsements .campaign-endorsement-grid {
grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
}
body.campaign-site.home-variant-quince-celebration #endorsements .campaign-endorsement-card:first-child {
grid-column: 1 / -1;
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 18px;
align-items: center;
}
body.campaign-site.home-variant-quince-celebration #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-template-columns: minmax(0, 1.18fr) repeat(2, minmax(0, .92fr));
gap: 18px;
overflow: visible;
padding: 0;
}
body.campaign-site.home-variant-quince-celebration #events .campaign-card-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.campaign-site.home-variant-family-celebration #endorsements .campaign-endorsement-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.campaign-site.home-variant-family-celebration #about .campaign-section-inner {
display: grid;
grid-template-columns: minmax(230px, .32fr) minmax(0, .68fr);
gap: 34px;
align-items: start;
}
body.campaign-site.home-variant-family-celebration #about .campaign-section-heading {
margin: 0;
}
body.campaign-site.home-variant-family-celebration #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
overflow: visible;
padding: 0;
}

@media (max-width: 980px) {
body.campaign-site.home-variant-bohemian-magazine #about .campaign-section-inner,
body.campaign-site.home-variant-festival-play #issues .campaign-section-inner,
body.campaign-site.home-variant-water-park-grid #media .campaign-section-inner,
body.campaign-site.home-variant-coastal-resort #media .campaign-section-inner,
body.campaign-site.home-variant-coastal-resort #events .campaign-section-inner,
body.campaign-site.home-variant-rustic-story #about .campaign-section-inner,
body.campaign-site.home-variant-rustic-story #events .campaign-section-inner,
body.campaign-site.home-variant-urban-studio #news .campaign-section-inner,
body.campaign-site.home-variant-urban-studio #issues .campaign-section-inner,
body.campaign-site.home-variant-urban-studio #events .campaign-section-inner,
body.campaign-site.home-variant-family-celebration #about .campaign-section-inner {
grid-template-columns: 1fr;
}
body.campaign-site.home-variant-bohemian-magazine #about .campaign-section-heading {
position: static;
}
body.campaign-site.home-variant-bohemian-magazine #media .campaign-media-strip,
body.campaign-site.home-variant-storybook-party #media .campaign-media-strip,
body.campaign-site.home-variant-water-park-grid #media .campaign-media-strip,
body.campaign-site.home-variant-garden-gallery #media .campaign-media-strip,
body.campaign-site.home-variant-coastal-resort #media .campaign-media-strip,
body.campaign-site.home-variant-luxury-editorial #media .campaign-media-strip,
body.campaign-site.home-variant-rustic-story #media .campaign-media-strip,
body.campaign-site.home-variant-urban-studio #media .campaign-media-strip,
body.campaign-site.home-variant-quince-celebration #media .campaign-media-strip,
body.campaign-site.home-variant-family-celebration #media .campaign-media-strip {
grid-auto-flow: column;
grid-auto-columns: minmax(250px, 82%);
grid-template-columns: none;
overflow-x: auto;
}
body.campaign-site.home-variant-bohemian-magazine #media .campaign-gallery-item.primary,
body.campaign-site.home-variant-storybook-party #media .campaign-gallery-item.primary,
body.campaign-site.home-variant-water-park-grid #media .campaign-gallery-item.primary,
body.campaign-site.home-variant-garden-gallery #media .campaign-gallery-item.primary,
body.campaign-site.home-variant-coastal-resort #media .campaign-gallery-item.primary,
body.campaign-site.home-variant-luxury-editorial #media .campaign-gallery-item.primary,
body.campaign-site.home-variant-urban-studio #media .campaign-gallery-item.primary {
grid-column: auto;
grid-row: auto;
}
body.campaign-site.home-variant-festival-play #events .campaign-public-card:first-child,
body.campaign-site.home-variant-storybook-party #issues .campaign-issue-card,
body.campaign-site.home-variant-adventure-action #events .campaign-public-card,
body.campaign-site.home-variant-adventure-action #issues .campaign-issue-card,
body.campaign-site.home-variant-rustic-story #events .campaign-public-card,
body.campaign-site.home-variant-urban-studio #news .campaign-public-card,
body.campaign-site.home-variant-urban-studio #issues .campaign-issue-card,
body.campaign-site.home-variant-urban-studio #events .campaign-public-card {
display: flex;
grid-template-columns: none;
}
body.campaign-site.home-variant-storybook-party #events .campaign-card-grid,
body.campaign-site.home-variant-storybook-party #endorsements .campaign-endorsement-grid,
body.campaign-site.home-variant-adventure-action #news .campaign-card-grid,
body.campaign-site.home-variant-water-park-grid #issues .campaign-issue-grid,
body.campaign-site.home-variant-quince-celebration #events .campaign-card-grid,
body.campaign-site.home-variant-family-celebration #endorsements .campaign-endorsement-grid {
grid-template-columns: 1fr;
}
}

body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-section-heading h2,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-section-heading p,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-kicker,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-card-body h3,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-card-body h3 a,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-faq-item summary,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-text-link,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-section-heading h2,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-section-heading p,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-kicker,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-card-body h3,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-card-body h3 a,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-faq-item summary,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-text-link {
color: #f8fafc;
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-card-body p,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-card-meta,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-review-role,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-review-quote,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-card-body p,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-card-meta,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-review-role,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-review-quote {
color: #dbe6f3;
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-form,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-form {
background: #fff;
color: #0f172a;
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-form .checkbox-card,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-form .checkbox-card {
background: #f8fafc;
border-color: #cbd5e1;
color: #0f172a;
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-form label,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-form p,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-form .field-help,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-form .field-limit,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-form .checkbox-card,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-form .checkbox-card small,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-form label,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-form p,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-form .field-help,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-form .field-limit,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-form .checkbox-card,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-form .checkbox-card small {
color: #0f172a;
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-form .checkbox-card a,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-form .checkbox-card a {
color: #0f4c81;
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-gallery-more-button,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-gallery-more-button {
background: #f8fafc;
border-color: rgb(255 255 255 / .28);
color: #0d111b;
box-shadow: 0 18px 42px rgb(0 0 0 / .32);
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-gallery-more-button:hover,
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-gallery-more-button:focus-visible,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-gallery-more-button:hover,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-gallery-more-button:focus-visible {
background: #fff;
color: #0d111b;
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-review-avatar,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-review-avatar {
background:
linear-gradient(#f8fafc, #f8fafc) padding-box,
linear-gradient(135deg, var(--campaign-accent), #fff) border-box;
color: #0d111b;
}
body.campaign-site.home-variant-luxury-editorial .campaign-home-flow .campaign-review-avatar span,
body.campaign-site.home-variant-urban-studio .campaign-home-flow .campaign-review-avatar span {
background: #f8fafc;
color: #0d111b;
}
body.campaign-site .campaign-donation-strip,
body.campaign-site .campaign-donation-strip h2,
body.campaign-site .campaign-donation-strip p,
body.campaign-site .campaign-donation-strip .campaign-kicker {
color: #fff;
}

/* Template QA pass: keep demo layouts polished while preventing uneven template cards/images. */
body.campaign-site[class*="template-"] .campaign-hero-copy h1 {
font-size: 4.55rem !important;
line-height: .96 !important;
}
body.campaign-site[class*="template-"] .campaign-public-hero .campaign-slogan {
font-size: 1.52rem !important;
line-height: 1.34 !important;
}
body.campaign-site[class*="template-"] .campaign-public-hero .campaign-office,
body.campaign-site[class*="template-"] .campaign-public-hero .campaign-kicker {
font-size: 1.12rem;
}
body.campaign-site[class*="template-"] .campaign-page-hero h1,
body.campaign-site[class*="template-"] .campaign-section-heading h2 {
font-size: 3.6rem !important;
line-height: 1.03 !important;
}
body.campaign-site[class*="template-"] .campaign-page-summary,
body.campaign-site[class*="template-"] .campaign-section-heading p {
font-size: 1.28rem;
line-height: 1.5;
}
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-section-inner {
display: block;
}
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-section-heading {
position: static;
margin-bottom: 24px;
}
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-media-strip {
display: grid;
grid-auto-flow: initial;
grid-auto-columns: initial;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
overflow: visible;
padding: 0;
}
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-gallery-item,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-gallery-item.primary {
display: flex;
flex-direction: column;
grid-column: auto !important;
grid-row: auto !important;
min-width: 0;
min-height: 100%;
}
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-gallery-item img,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-gallery-item video {
width: 100%;
height: auto !important;
aspect-ratio: 16 / 10 !important;
object-fit: cover;
}
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-issue-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
align-items: stretch;
gap: 20px;
}
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-issue-card,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-public-card,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-public-card {
display: flex !important;
flex-direction: column;
grid-column: auto !important;
grid-row: auto !important;
min-height: 100%;
}
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-card-media img,
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-card-media video,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-media img,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-media video,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-media img,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-media video {
width: 100%;
height: auto !important;
aspect-ratio: 16 / 10 !important;
object-fit: cover;
}
@media (max-width: 980px) {
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-media-strip,
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-issue-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-grid {
grid-auto-flow: initial;
grid-auto-columns: initial;
grid-template-columns: repeat(2, minmax(0, 1fr));
overflow: visible;
}
}
@media (max-width: 700px) {
body.campaign-site[class*="template-"] .campaign-hero-copy h1 {
font-size: 2.85rem !important;
}
body.campaign-site[class*="template-"] .campaign-public-hero .campaign-slogan {
font-size: 1.22rem !important;
}
body.campaign-site[class*="template-"] .campaign-page-hero h1,
body.campaign-site[class*="template-"] .campaign-section-heading h2 {
font-size: 2.55rem !important;
}
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-media-strip,
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-issue-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-grid {
grid-template-columns: 1fr;
}
}

/* Template section layout sanity pass: headings must never collide with cards or strand CTAs. */
body.campaign-site[class*="template-"] .campaign-home-flow #about,
body.campaign-site[class*="template-"] .campaign-home-flow #issues,
body.campaign-site[class*="template-"] .campaign-home-flow #events,
body.campaign-site[class*="template-"] .campaign-home-flow #news,
body.campaign-site[class*="template-"] .campaign-home-flow #media {
min-height: auto !important;
padding-top: 72px !important;
padding-bottom: 56px !important;
}
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-section-inner,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-section-inner,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-section-inner,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-section-inner {
display: block !important;
grid-template-columns: none !important;
}
body.campaign-site[class*="template-"] .campaign-home-flow #about .campaign-section-heading,
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-section-heading,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-section-heading,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-section-heading,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-section-heading {
position: static !important;
top: auto !important;
max-width: min(100%, 780px) !important;
margin: 0 0 28px !important;
transform: none !important;
}
body.campaign-site[class*="template-"] .campaign-home-flow #about .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-section-heading h2 {
max-width: 760px;
font-size: 2.85rem !important;
line-height: 1.04 !important;
text-wrap: balance;
}
body.campaign-site[class*="template-"] .campaign-home-flow #about .campaign-section-heading p,
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-section-heading p,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-section-heading p,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-section-heading p,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-section-heading p {
max-width: 720px;
font-size: 1.14rem !important;
line-height: 1.48;
}
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-issue-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-grid {
display: grid !important;
grid-auto-flow: row !important;
grid-auto-columns: initial !important;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)) !important;
gap: 22px !important;
align-items: stretch !important;
width: 100% !important;
max-width: none !important;
overflow: visible !important;
}
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-media-strip {
display: grid !important;
grid-auto-flow: row !important;
grid-auto-columns: initial !important;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)) !important;
gap: 22px !important;
width: 100% !important;
max-width: none !important;
overflow: visible !important;
padding: 0 !important;
}
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-issue-card,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-public-card,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-public-card,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-gallery-item,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-gallery-item.primary {
display: flex !important;
flex-direction: column !important;
grid-column: auto !important;
grid-row: auto !important;
min-width: 0 !important;
width: 100% !important;
min-height: 100% !important;
}
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-card-media img,
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-card-media video,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-media img,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-media video,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-media img,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-media video,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-gallery-item img,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-gallery-item video {
width: 100% !important;
height: auto !important;
aspect-ratio: 16 / 10 !important;
object-fit: cover !important;
}
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-card-body,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-body,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-body {
display: flex !important;
flex: 1 1 auto;
flex-direction: column;
gap: 12px;
}
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-card-body .campaign-text-link,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-body .campaign-text-link,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-body .campaign-text-link {
margin-top: auto !important;
}
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-gallery-more,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-gallery-more,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-gallery-more,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-gallery-more {
display: flex !important;
justify-content: flex-start !important;
margin: 26px 0 0 !important;
}
@media (max-width: 980px) {
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-issue-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-media-strip {
grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
}
}
@media (max-width: 700px) {
body.campaign-site[class*="template-"] .campaign-home-flow #about,
body.campaign-site[class*="template-"] .campaign-home-flow #issues,
body.campaign-site[class*="template-"] .campaign-home-flow #events,
body.campaign-site[class*="template-"] .campaign-home-flow #news,
body.campaign-site[class*="template-"] .campaign-home-flow #media {
padding-top: 46px !important;
padding-bottom: 46px !important;
}
body.campaign-site[class*="template-"] .campaign-home-flow #about .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-section-heading h2 {
font-size: 2.45rem !important;
}
body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-gallery-more .button,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-gallery-more .button,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-gallery-more .button,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-gallery-more .button {
width: 100%;
}

body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-issue-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-card-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-card-grid,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-media-strip {
grid-template-columns:minmax(0,1fr) !important;
}

body.campaign-site[class*="template-"] .campaign-home-flow #issues .campaign-issue-card,
body.campaign-site[class*="template-"] .campaign-home-flow #events .campaign-public-card,
body.campaign-site[class*="template-"] .campaign-home-flow #news .campaign-public-card {
width:100% !important;
max-width:100% !important;
}
}

/* Quote/request forms need a stronger page-level layout than the inherited
template section rules so light templates never put white text on pale panels. */
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-volunteer-section {
background:
radial-gradient(circle at 88% 14%, color-mix(in srgb, var(--campaign-accent), #fff 26%), transparent 26%),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 20%), color-mix(in srgb, var(--campaign-accent), #111827 38%));
background-color: color-mix(in srgb, var(--campaign-primary), #111827 28%);
color: #fff;
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-volunteer-section .campaign-section-heading h2,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-volunteer-section .campaign-section-heading p,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-volunteer-section .campaign-kicker {
color: #fff;
text-shadow: 0 3px 20px rgb(15 23 42 / .72), 0 1px 4px rgb(15 23 42 / .68);
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form {
color: #0f172a;
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form label,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form .field-help,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form .field-limit,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form .checkbox-card,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form .checkbox-card small {
color: #0f172a;
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form .field-help,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form .field-limit,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form .checkbox-card small {
color: #475569;
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form input,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form select,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form textarea {
background: #fff;
color: #0f172a;
border-color: #cbd5e1;
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form input:focus,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form select:focus,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form textarea:focus {
outline: 3px solid color-mix(in srgb, var(--campaign-accent), #fff 42%);
outline-offset: 2px;
border-color: color-mix(in srgb, var(--campaign-primary), var(--campaign-accent) 32%);
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form .checkbox-card {
background: #f8fafc;
border-color: #cbd5e1;
}
body.campaign-site[class*="template-"] .campaign-form .eventodesk-availability-hint {
margin: 7px 0 0;
font-weight: 780;
line-height: 1.45;
}
body.campaign-site[class*="template-"] .campaign-form .eventodesk-availability-options {
display: grid;
gap: 8px;
margin-top: 10px;
padding: 12px;
border: 1px solid #dbe4ef;
border-radius: 8px;
background: #f8fafc;
}
body.campaign-site[class*="template-"] .campaign-form .eventodesk-availability-options[hidden] {
display: none;
}
body.campaign-site[class*="template-"] .campaign-form .eventodesk-availability-options small {
color: #334155;
font-weight: 850;
line-height: 1.35;
}
body.campaign-site[class*="template-"] .campaign-form .eventodesk-availability-option-list {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
body.campaign-site[class*="template-"] .campaign-form .eventodesk-availability-option {
min-height: 42px;
padding: 10px 12px;
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 68%);
border-radius: 8px;
background: #fff;
color: #0f172a;
font-size: .9rem;
font-weight: 850;
line-height: 1.2;
box-shadow: none;
}
body.campaign-site[class*="template-"] .campaign-form .eventodesk-availability-option:hover,
body.campaign-site[class*="template-"] .campaign-form .eventodesk-availability-option:focus {
background: color-mix(in srgb, var(--campaign-accent), #fff 88%);
border-color: color-mix(in srgb, var(--campaign-accent), #111827 22%);
}
body.campaign-site[class*="template-"] .campaign-form-server-alternatives {
grid-column: 1 / -1;
display: grid;
gap: 10px;
padding: 16px;
border: 1px solid color-mix(in srgb, var(--campaign-accent), #fff 54%);
border-left: 5px solid var(--campaign-accent);
border-radius: 8px;
background: #f8fafc;
color: #0f172a;
}
body.campaign-site[class*="template-"] .campaign-form-server-alternatives strong {
color: #0f172a;
font-size: 1.02rem;
line-height: 1.2;
}
body.campaign-site[class*="template-"] .campaign-form-server-alternatives p {
margin: 0;
color: #334155;
font-weight: 720;
line-height: 1.45;
}
body.campaign-site[class*="template-"] .campaign-form-server-alternatives div {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
body.campaign-site[class*="template-"] .campaign-form-server-alternatives a {
min-height: 38px;
display: inline-flex;
align-items: center;
border: 1px solid #cbd5e1;
border-radius: 999px;
padding: 8px 11px;
background: #fff;
color: #0f172a;
font-size: .88rem;
font-weight: 900;
text-decoration: none;
}
body.campaign-site[class*="template-"] .campaign-form-server-alternatives a:hover,
body.campaign-site[class*="template-"] .campaign-form-server-alternatives a:focus {
background: color-mix(in srgb, var(--campaign-accent), #fff 88%);
border-color: color-mix(in srgb, var(--campaign-accent), #111827 22%);
}
body.campaign-site[class*="template-"] .campaign-availability-guidance {
display: grid;
gap: 10px;
margin-top: 18px;
}
body.campaign-site[class*="template-"] .campaign-availability-guidance article {
display: grid;
gap: 5px;
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 76%);
border-left: 4px solid var(--campaign-accent);
border-radius: 8px;
padding: 12px 13px;
background: #fff;
color: #0f172a;
box-shadow: 0 12px 28px rgb(15 23 42 / .08);
}
body.campaign-site[class*="template-"] .campaign-availability-guidance span {
color: color-mix(in srgb, var(--campaign-primary), #111827 18%);
font-size: .75rem;
font-weight: 950;
letter-spacing: .04em;
text-transform: uppercase;
}
body.campaign-site[class*="template-"] .campaign-availability-guidance strong {
color: #0f172a;
font-size: 1rem;
line-height: 1.18;
}
body.campaign-site[class*="template-"] .campaign-availability-guidance p {
margin: 0;
color: #334155;
font-size: .92rem;
font-weight: 760;
line-height: 1.42;
}
body.campaign-site[class*="template-"] .campaign-form-hours-panel {
display: grid;
gap: 12px;
margin-top: 18px;
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 74%);
border-radius: 10px;
padding: 14px;
background: #fff;
color: #0f172a;
box-shadow: 0 12px 28px rgb(15 23 42 / .08);
}
body.campaign-site[class*="template-"] .campaign-form-hours-panel header {
display: grid;
gap: 4px;
}
body.campaign-site[class*="template-"] .campaign-form-hours-panel header span,
body.campaign-site[class*="template-"] .campaign-form-exception-list > span {
color: color-mix(in srgb, var(--campaign-primary), #111827 18%);
font-size: .74rem;
font-weight: 950;
letter-spacing: .04em;
text-transform: uppercase;
}
body.campaign-site[class*="template-"] .campaign-form-hours-panel header strong {
color: #0f172a;
font-size: 1.02rem;
line-height: 1.18;
}
body.campaign-site[class*="template-"] .campaign-form-hours-grid,
body.campaign-site[class*="template-"] .campaign-form-exception-list {
display: grid;
gap: 7px;
}
body.campaign-site[class*="template-"] .campaign-form-service-area-panel {
background: color-mix(in srgb, var(--campaign-primary), #fff 94%);
}
body.campaign-site[class*="template-"] .campaign-service-area-chip-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
gap: 8px;
}
body.campaign-site[class*="template-"] .campaign-service-area-chip-list p {
display: grid;
gap: 2px;
margin: 0;
padding: 10px 12px;
border: 1px solid color-mix(in srgb, var(--campaign-primary), #fff 76%);
border-radius: 8px;
background: #fff;
color: #0f172a;
box-shadow: 0 8px 18px rgb(15 23 42 / .06);
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-volunteer-section .campaign-section-heading .campaign-service-area-chip-list p {
color: #0f172a;
text-shadow: none;
}
body.campaign-site[class*="template-"] .campaign-service-area-chip-list strong {
color: #0f172a;
font-size: 1rem;
font-weight: 950;
line-height: 1.1;
}
body.campaign-site[class*="template-"] .campaign-service-area-chip-list small {
color: #475569;
font-size: .78rem;
font-weight: 760;
line-height: 1.25;
}
body.campaign-site[class*="template-"] .campaign-form-hours-grid p,
body.campaign-site[class*="template-"] .campaign-form-exception-list p {
display: grid;
grid-template-columns: 48px minmax(0,1fr);
gap: 9px;
align-items: start;
margin: 0;
padding-bottom: 6px;
border-bottom: 1px solid #e2e8f0;
}
body.campaign-site[class*="template-"] .campaign-form-exception-list p {
grid-template-columns: minmax(112px,.52fr) minmax(0,1fr);
}
body.campaign-site[class*="template-"] .campaign-form-hours-grid p:last-child,
body.campaign-site[class*="template-"] .campaign-form-exception-list p:last-child {
border-bottom: 0;
padding-bottom: 0;
}
body.campaign-site[class*="template-"] .campaign-form-hours-grid strong,
body.campaign-site[class*="template-"] .campaign-form-exception-list strong {
color: #0f172a;
font-size: .9rem;
font-weight: 950;
line-height: 1.28;
}
body.campaign-site[class*="template-"] .campaign-form-hours-grid small,
body.campaign-site[class*="template-"] .campaign-form-exception-list small {
color: #334155;
font-size: .9rem;
font-weight: 760;
line-height: 1.35;
}
@media (min-width: 860px) {
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form-layout {
display: grid;
grid-template-columns: minmax(240px, .34fr) minmax(0, .66fr);
gap: 34px;
align-items: start;
max-width: 1120px;
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form-layout .campaign-section-heading {
max-width: none;
margin: 0;
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px 18px;
max-width: none;
padding: 24px;
box-shadow: 0 22px 60px rgb(15 23 42 / .2);
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > .guided-field {
margin: 0;
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > .campaign-form-success,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > .campaign-form-success-next,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > .campaign-selected-rental-item,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > .field-errors,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > .captcha-field,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > .guided-field-email,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > .guided-field-message,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > .guided-field-fulfillment_preference,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > .guided-field-legal_acceptance,
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > button[type="submit"] {
grid-column: 1 / -1;
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > button[type="submit"] {
justify-self: center;
min-width: min(100%, 280px);
}
}
body.campaign-site[class*="template-"] .campaign-form-success-next {
display: grid;
gap: 10px;
border: 1px solid #bbf7d0;
border-radius: 10px;
padding: 14px;
background: #f0fdf4;
color: #14532d;
}
body.campaign-site[class*="template-"] .campaign-form-success-next strong {
font-size: 1rem;
line-height: 1.18;
}
body.campaign-site[class*="template-"] .campaign-form-success-next ul {
display: grid;
gap: 7px;
margin: 0;
padding-left: 18px;
}
body.campaign-site[class*="template-"] .campaign-form-success-next li {
color: #166534;
font-size: .92rem;
font-weight: 780;
line-height: 1.4;
}
@media (max-width: 859px) {
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form {
display: grid;
grid-template-columns: 1fr;
}
body.campaign-site[class*="template-"] .campaign-page-shell .campaign-form > button[type="submit"] {
width: 100%;
}
}

/* Planning strip and contact polish. Keep quote CTA in the nav, then make
secondary planning paths useful instead of a row of oversized buttons. */
body.campaign-site[class*="template-"] .campaign-donation-strip.campaign-quote-strip {
padding: clamp(46px, 7vw, 82px) 20px;
background:
radial-gradient(circle at 88% 14%, rgb(255 255 255 / .18), transparent 28%),
linear-gradient(135deg, color-mix(in srgb, var(--campaign-primary), #111827 28%), color-mix(in srgb, var(--campaign-accent), #111827 42%));
}
body.campaign-site[class*="template-"] .campaign-donation-strip-inner {
display: grid;
grid-template-columns: minmax(280px, .42fr) minmax(0, .58fr);
gap: clamp(28px, 5vw, 70px);
align-items: center;
max-width: 1180px;
}
body.campaign-site[class*="template-"] .campaign-quote-strip-copy {
display: grid;
gap: 12px;
max-width: 620px;
}
body.campaign-site[class*="template-"] .campaign-quote-strip-copy h2 {
margin: 0;
font-size: clamp(2rem, 4vw, 3.2rem);
line-height: 1.03;
}
body.campaign-site[class*="template-"] .campaign-quote-strip-copy p:not(.campaign-kicker) {
max-width: 560px;
color: #eef6ff;
font-size: clamp(1.02rem, 1.4vw, 1.2rem);
font-weight: 760;
line-height: 1.6;
}
body.campaign-site[class*="template-"] .campaign-quote-next-panel {
display: grid;
gap: 16px;
padding: 18px;
border: 1px solid rgb(255 255 255 / .22);
border-radius: 8px;
background: rgb(255 255 255 / .1);
box-shadow: 0 24px 70px rgb(15 23 42 / .2);
backdrop-filter: blur(10px);
}
body.campaign-site[class*="template-"] .campaign-quote-panel-title {
margin: 0;
color: #fff;
font-size: .85rem;
font-weight: 950;
letter-spacing: .08em;
text-transform: uppercase;
}
body.campaign-site[class*="template-"] .campaign-quote-next-list {
display: grid;
gap: 12px;
}
body.campaign-site[class*="template-"] .campaign-quote-next-card {
display: grid;
grid-template-columns: 42px minmax(0, 1fr);
gap: 5px 12px;
align-items: start;
min-width: 0;
min-height: 100%;
padding: 16px;
border: 1px solid rgb(255 255 255 / .26);
border-radius: 8px;
background: rgb(255 255 255 / .94);
color: #0f172a;
text-decoration: none;
box-shadow: 0 16px 34px rgb(15 23 42 / .14);
transition: transform .18s ease, box-shadow .18s ease;
}
body.campaign-site[class*="template-"] .campaign-quote-next-card:hover,
body.campaign-site[class*="template-"] .campaign-quote-next-card:focus-visible {
transform: translateY(-2px);
box-shadow: 0 20px 44px rgb(15 23 42 / .2);
}
body.campaign-site[class*="template-"] .campaign-quote-next-card span {
display: inline-flex;
align-items: center;
justify-content: center;
width: 34px;
height: 34px;
grid-row: span 2;
border-radius: 999px;
background: color-mix(in srgb, var(--campaign-accent), #fff 78%);
color: color-mix(in srgb, var(--campaign-primary), #111827 24%);
font-size: .78rem;
font-weight: 950;
}
body.campaign-site[class*="template-"] .campaign-quote-next-card strong {
color: #0f172a;
font-size: 1.08rem;
line-height: 1.15;
}
body.campaign-site[class*="template-"] .campaign-quote-next-card small {
color: #475569;
font-size: .92rem;
font-weight: 720;
line-height: 1.45;
}
body.campaign-site[class*="template-"] .campaign-contact-details-panel {
display: grid;
gap: 12px;
margin-top: 24px;
}
body.campaign-site[class*="template-"] .campaign-contact-details-panel article {
display: grid;
gap: 5px;
padding: 14px 16px;
border: 1px solid rgb(255 255 255 / .28);
border-radius: 8px;
background: rgb(255 255 255 / .12);
box-shadow: 0 14px 30px rgb(15 23 42 / .12);
}
body.campaign-site[class*="template-"] .campaign-contact-details-panel span {
color: rgb(255 255 255 / .72);
font-size: .78rem;
font-weight: 950;
letter-spacing: .07em;
text-transform: uppercase;
}
body.campaign-site[class*="template-"] .campaign-contact-details-panel a,
body.campaign-site[class*="template-"] .campaign-contact-details-panel small {
color: #fff;
font-size: 1rem;
font-weight: 850;
line-height: 1.42;
text-decoration-thickness: 1px;
text-underline-offset: 4px;
}
body.campaign-site[class*="template-"] .campaign-contact-details-panel .campaign-hours-card {
gap: 12px;
}
body.campaign-site[class*="template-"] .campaign-hours-list,
body.campaign-site[class*="template-"] .campaign-special-hours-list {
display: grid;
gap: 7px;
}
body.campaign-site[class*="template-"] .campaign-hours-list p,
body.campaign-site[class*="template-"] .campaign-special-hours-list p {
display: grid;
grid-template-columns: 48px minmax(0, 1fr);
gap: 10px;
align-items: start;
margin: 0;
}
body.campaign-site[class*="template-"] .campaign-special-hours-list {
border-top: 1px solid rgb(255 255 255 / .2);
padding-top: 10px;
}
body.campaign-site[class*="template-"] .campaign-hours-list strong,
body.campaign-site[class*="template-"] .campaign-special-hours-list strong {
color: #fff;
font-size: .9rem;
font-weight: 950;
line-height: 1.35;
}
body.campaign-site[class*="template-"] .campaign-footer {
padding: 40px 20px;
text-align: left;
}
body.campaign-site[class*="template-"] .campaign-footer-inner {
display: grid;
grid-template-columns: minmax(220px, .32fr) minmax(260px, .38fr) minmax(220px, .3fr);
gap: 28px;
align-items: start;
max-width: 1180px;
margin: 0 auto;
}
body.campaign-site[class*="template-"] .campaign-footer-brand,
body.campaign-site[class*="template-"] .campaign-footer-contact,
body.campaign-site[class*="template-"] .campaign-footer-meta {
display: grid;
gap: 10px;
}
body.campaign-site[class*="template-"] .campaign-footer-brand strong {
color: #fff;
font-size: 1.18rem;
line-height: 1.15;
}
body.campaign-site[class*="template-"] .campaign-footer-brand span,
body.campaign-site[class*="template-"] .campaign-footer-brand p,
body.campaign-site[class*="template-"] .campaign-footer-meta p {
color: rgb(255 255 255 / .74);
line-height: 1.5;
}
body.campaign-site[class*="template-"] .campaign-footer-contact p {
display: grid;
gap: 3px;
margin: 0;
padding: 0 0 10px;
border-bottom: 1px solid rgb(255 255 255 / .18);
}
body.campaign-site[class*="template-"] .campaign-footer-contact span {
color: rgb(255 255 255 / .62);
font-size: .76rem;
font-weight: 950;
letter-spacing: .07em;
text-transform: uppercase;
}
body.campaign-site[class*="template-"] .campaign-footer-contact a,
body.campaign-site[class*="template-"] .campaign-footer-contact small {
color: #fff;
font-size: .98rem;
font-weight: 830;
line-height: 1.42;
text-decoration-thickness: 1px;
text-underline-offset: 4px;
}
body.campaign-site[class*="template-"] .campaign-footer-hours {
display: grid;
gap: 6px;
padding-top: 2px;
}
body.campaign-site[class*="template-"] .campaign-footer-hours > span {
color: rgb(255 255 255 / .62);
font-size: .76rem;
font-weight: 950;
letter-spacing: .07em;
text-transform: uppercase;
}
body.campaign-site[class*="template-"] .campaign-footer-hours p {
display: grid;
grid-template-columns: 42px minmax(0,1fr);
gap: 8px;
margin: 0;
padding: 0 0 7px;
border-bottom: 1px solid rgb(255 255 255 / .14);
}
body.campaign-site[class*="template-"] .campaign-footer-hours strong {
color: #fff;
font-size: .86rem;
font-weight: 950;
}
body.campaign-site[class*="template-"] .campaign-footer-exceptions {
margin-top: 6px;
padding-top: 12px;
border-top: 1px solid rgb(255 255 255 / .18);
}
body.campaign-site[class*="template-"] .campaign-footer-exceptions p {
grid-template-columns: minmax(112px, .55fr) minmax(0, 1fr);
}
body.campaign-site[class*="template-"] .campaign-footer-exceptions small {
color: rgb(255 255 255 / .84);
}
body.campaign-site[class*="template-"] .campaign-footer-links {
justify-content: flex-start;
margin: 0;
}
@media (max-width: 980px) {
body.campaign-site[class*="template-"] .campaign-donation-strip-inner,
body.campaign-site[class*="template-"] .campaign-footer-inner {
grid-template-columns: 1fr;
}
body.campaign-site[class*="template-"] .campaign-footer {
text-align: left;
}
}

/* Live polish: homepage gallery cards and uploaded hero crops. */
body.campaign-site[class*="template-"] .campaign-public-hero.has-hero-background-image {
--campaign-hero-image-x: 50%;
--campaign-hero-image-y: 42%;
background-size: cover, cover, cover, cover !important;
background-position: center, center, var(--campaign-hero-image-x) var(--campaign-hero-image-y), center !important;
background-repeat: no-repeat !important;
min-height: clamp(520px, 62vw, 680px);
}

body.campaign-site[class*="template-"] .campaign-public-hero.has-hero-background-image .campaign-hero-copy {
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
border-radius: 0 !important;
backdrop-filter: none !important;
padding: 0 !important;
}

body.campaign-site[class*="template-"] .campaign-public-hero.has-hero-background-image .campaign-hero-card {
display: none !important;
}

body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-home-gallery-grid {
display: grid !important;
grid-auto-flow: row !important;
grid-auto-columns: initial !important;
grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
gap: 18px !important;
overflow: visible !important;
padding: 0 !important;
}

body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-home-gallery-grid .campaign-gallery-item {
display: flex !important;
flex-direction: column !important;
min-width: 0 !important;
width: 100% !important;
min-height: 100% !important;
padding: 10px !important;
border-radius: 8px !important;
background: #fff !important;
}

body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-home-gallery-grid .campaign-gallery-item img,
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-home-gallery-grid .campaign-gallery-item video {
display: block !important;
width: 100% !important;
height: auto !important;
aspect-ratio: 16 / 10 !important;
object-fit: cover !important;
object-position: 50% 38% !important;
border-radius: 6px !important;
}

body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-home-gallery-grid .campaign-gallery-item figcaption {
display: block;
margin: 10px 2px 0;
color: #475569;
font-size: .92rem;
font-weight: 760;
line-height: 1.36;
}

body.campaign-site[class*="template-"] .campaign-bio-card {
align-items: stretch;
}

body.campaign-site[class*="template-"] .campaign-bio-media {
display: flex;
align-self: stretch;
overflow: hidden;
border-radius: 8px;
}

body.campaign-site[class*="template-"] .campaign-bio-media img,
body.campaign-site[class*="template-"] .campaign-bio-media video {
display: block;
width: 100%;
height: 100%;
min-height: 280px;
aspect-ratio: auto;
object-fit: cover;
object-position: 50% 35%;
border-radius: 8px;
}

@media (max-width: 980px) {
body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-home-gallery-grid {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
}

@media (max-width: 700px) {
body.campaign-site[class*="template-"] .campaign-public-hero.has-hero-background-image {
min-height: 500px;
--campaign-hero-image-y: 35%;
background-size: cover, cover, cover, cover !important;
background-position: center, center, var(--campaign-hero-image-x) var(--campaign-hero-image-y), center !important;
}

body.campaign-site[class*="template-"] .campaign-home-flow #media .campaign-home-gallery-grid {
grid-template-columns: minmax(0, 1fr) !important;
}

body.campaign-site[class*="template-"] .campaign-bio-card {
grid-template-columns: 1fr;
}

body.campaign-site[class*="template-"] .campaign-bio-media img,
body.campaign-site[class*="template-"] .campaign-bio-media video {
min-height: 240px;
}
}
