Compare commits

...
7 Commits
Author SHA1 Message Date
DeCentN2MadnessandClaude Sonnet 4.6 db1e3b168b feat(team): add tinted band and tagline to ABA Clinic Management section
Move the --color-tint background from Employment Opportunities to the
ABA Clinic Management group. Restructure the group template so the
section (not the inner container) carries the background, allowing it
to span full width. Add the live site's italic tagline "Applied
Behavior Analysis '(ABA) at your service'" from the source markup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 01:25:08 -07:00
DeCentN2MadnessandClaude Sonnet 4.6 562109f207 feat(team): restyle cards to match live site and add image hover effect
Remove the bordered, aspect-ratio-constrained card style and replace
with a plain flex-wrap grid of 227px cards using the live site's
4px-radius, borderless image treatment and smaller body-font labels.
Wrap each image in a .team-thumb overflow container and add a
scale(1.1)→scale(1.05) zoom-out transition on hover, matching the
Growmeda plugin behavior on the live page.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 01:24:21 -07:00
DeCentN2MadnessandClaude Sonnet 4.6 f5c715f5c0 fix(team): restore HR contact email in Employment Opportunities
The live site's second paragraph ends with a contact sentence that was
missing from the Astro component.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 01:23:49 -07:00
DeCentN2MadnessandClaude Sonnet 4.6 496744471a fix(typography): increase script-label size and collapse gap to following h2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 01:23:15 -07:00
DeCentN2Madness 4675809911 feat(library): restore live-site intro copy above post listings
- add the two live intro paragraphs between the hero and article grid
- keep the library listing cards in the live two-column layout
- restore the 4:3 cropped article thumbnails and card spacing via library-scoped selectors
- avoid leaking the card-grid overrides into unrelated pages
- add likes/views from api to library article cards
2026-06-15 17:34:38 -07:00
DeCentN2Madness f64c535971 fix(homepage): move section rendering into the Astro template
- keep homepage section data driven from structured frontmatter
- render typed section components inside the template map instead of frontmatter helper code
- resolve the Astro parse error in HomePage.astro
- preserve the existing homepage section order and component split
2026-06-15 17:34:38 -07:00
DeCentN2Madness 79e9e08464 refactor(styles): move component-specific CSS into Astro components
- relocate header, footer, nav, hero, and page-hero styles into their owning components
- move blog index, blog post, team, video, insurance, CTA, and home-section styles out of the global sheet
- keep  focused on shared primitives such as buttons, cards, links, and list styling
- preserve existing layout and responsive behavior while reducing global CSS scope
2026-06-15 17:34:38 -07:00
23 changed files with 364 additions and 188 deletions
+26
View File
@@ -1,4 +1,5 @@
--- ---
import LikeViewCounter from './LikeViewCounter.astro';
const { post, prefix = '' } = Astro.props; const { post, prefix = '' } = Astro.props;
const href = `${prefix}/library/${post.data.slug}`.replace('//', '/'); const href = `${prefix}/library/${post.data.slug}`.replace('//', '/');
const readMore = { en: 'Read More', es: 'Leer Más', ar: 'اقرأ المزيد' }[post.data.lang] || 'Read More'; const readMore = { en: 'Read More', es: 'Leer Más', ar: 'اقرأ المزيد' }[post.data.lang] || 'Read More';
@@ -9,6 +10,31 @@ const readMore = { en: 'Read More', es: 'Leer Más', ar: 'اقرأ المزيد'
<div class="blog-card-meta"><img src="/assets/images/rula-diab-avatar.jpg" alt="" /><p>Rula Diab, Clinical Director, M.Ed, BCBA, LBA<br /><time datetime={post.data.date.toISOString()}>{post.data.date.toLocaleDateString(post.data.lang, { day: 'numeric', month: 'long', year: 'numeric' })}</time></p></div> <div class="blog-card-meta"><img src="/assets/images/rula-diab-avatar.jpg" alt="" /><p>Rula Diab, Clinical Director, M.Ed, BCBA, LBA<br /><time datetime={post.data.date.toISOString()}>{post.data.date.toLocaleDateString(post.data.lang, { day: 'numeric', month: 'long', year: 'numeric' })}</time></p></div>
<h3><a href={href}>{post.data.title}</a></h3> <h3><a href={href}>{post.data.title}</a></h3>
<p>{post.data.description}</p> <p>{post.data.description}</p>
<div class="blog-card-footer" style="align-items:center;display:flex;justify-content:space-between;gap:var(--space-lg);margin-top:auto;">
<a class="text-link" href={href}>{readMore}</a> <a class="text-link" href={href}>{readMore}</a>
<LikeViewCounter slug={post.data.slug} />
</div>
</div> </div>
</article> </article>
<style>
.blog-card-meta { align-items: center; display: flex; font-size: .78rem; gap: .75rem; }
.blog-card-meta img { aspect-ratio: 1; border-radius: 50%; height: 42px; width: 42px; }
.blog-card { background: white; border: 0; border-radius: 4px; box-shadow: rgba(54, 48, 48, 0.28) 0 0 12px 0; display: flex; margin-bottom: 40px; overflow: hidden; }
.blog-card > a { flex: 0 0 232px; display: block; margin: .75rem; }
.blog-card > a img { aspect-ratio: auto; display: block; height: 100%; object-fit: cover; width: 100%; }
.blog-card .card-body { display: flex; flex: 1; flex-direction: column; gap: 0; padding: 20px; }
.blog-card .card-body h3 { font-family: var(--font-body); }
.blog-card-footer { align-items: center; display: flex; justify-content: space-between; gap: var(--space-lg); margin-top: auto; }
:global(.blog-card .like-view-counter) { border-top: 0; justify-content: space-between; margin-block: 0; padding-top: 0; width: auto; }
.blog-card h3 { font-size: 1.35rem; margin-bottom: 1rem; }
.blog-card p { margin-bottom: 1rem; }
.blog-card .text-link { margin: 0; }
@media (max-width: 760px) {
.blog-card { flex-direction: column; }
.blog-card > a { flex-basis: auto; }
.blog-card > a img { height: auto; aspect-ratio: 4 / 3; }
.blog-card-footer { align-items: flex-start; flex-direction: column; }
}
</style>
+5
View File
@@ -4,3 +4,8 @@
<a class="button button-light" href="/client-consultation">Schedule a Free Consultation</a> <a class="button button-light" href="/client-consultation">Schedule a Free Consultation</a>
</div> </div>
</section> </section>
<style>
.cta-band { background: var(--color-primary); color: white; padding-block: var(--space-xl); }
.cta-band h2, .cta-band .eyebrow { color: white; margin: 0; }
</style>
+25
View File
@@ -63,3 +63,28 @@ const labels = lang === 'es'
<p><a href="/privacy-policy">Privacy Policy</a> | <a href="/faqs">FAQ</a></p> <p><a href="/privacy-policy">Privacy Policy</a> | <a href="/faqs">FAQ</a></p>
</div> </div>
</footer> </footer>
<style>
.site-footer { background: var(--color-primary-dark); color: white; padding-block: var(--space-xl) var(--space-md); }
.footer-grid { display: grid; gap: var(--space-xl); grid-template-columns: 1fr 1fr 1.5fr; }
.site-footer h2, .site-footer a { color: white; text-decoration: none; }
.site-footer h2 { font-size: 1.25rem; letter-spacing: .3px; margin-bottom: 1.2rem; }
.site-footer a:hover { color: var(--color-accent); }
.site-footer ul { list-style: none; padding: 0; }
.site-footer li { line-height: 2.6; margin-bottom: 0; }
.site-footer p { line-height: 2.6; }
.footer-contact { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2rem; margin-top: 2rem; }
.footer-contact-item { align-items: flex-start; display: flex; gap: .6rem; line-height: 1.5; }
.footer-contact-item img { flex-shrink: 0; }
.footer-contact-item address { font-style: normal; }
.social-links { display: flex; gap: .85rem; margin-left: 1.6rem; margin-top: .25rem; }
.social-links a { align-items: center; color: white; display: flex; opacity: .85; }
.social-links a:hover { color: var(--color-accent); opacity: 1; }
.footer-bottom { border-top: 1px solid rgb(255 255 255 / 20%); display: flex; justify-content: space-between; margin-top: var(--space-lg); padding-top: var(--space-md); }
@media (max-width: 950px) {
.footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
.footer-bottom { align-items: flex-start; flex-direction: column; }
}
</style>
+17
View File
@@ -24,3 +24,20 @@ const utility = lang === 'es'
<a class="button button-small" href="/tour">Tour AIA</a> <a class="button button-small" href="/tour">Tour AIA</a>
</div> </div>
</header> </header>
<style>
.utility-bar { background: var(--color-primary); color: white; font-size: .85rem; }
.utility-inner { align-items: center; display: flex; gap: var(--space-md); justify-content: flex-end; min-height: 38px; }
.utility-bar a { color: white; text-decoration: none; }
.site-header { background: white; box-shadow: var(--shadow-sm); position: relative; z-index: 5; }
.header-inner { align-items: center; display: flex; gap: 1.4rem; min-height: 110px; }
.brand img { width: 150px; }
@media (max-width: 950px) {
.header-inner > .button { display: none; }
}
@media (max-width: 760px) {
.utility-inner { justify-content: center; }
.header-inner { min-height: 88px; }
.header-inner .lang-switcher { margin-left: auto; }
}
</style>
+9
View File
@@ -13,3 +13,12 @@ const { title, eyebrow, description, image, alt = '' } = Astro.props;
{image && <img src={image} alt={alt} loading="eager" />} {image && <img src={image} alt={alt} loading="eager" />}
</div> </div>
</section> </section>
<style>
.hero { background: var(--color-tint); overflow: hidden; padding-block: clamp(3rem, 7vw, 5rem); }
.hero-grid { align-items: center; display: grid; gap: var(--space-xl); grid-template-columns: 1.05fr .95fr; }
.hero img { max-height: 430px; object-fit: contain; width: 100%; }
@media (max-width: 950px) {
.hero-grid { grid-template-columns: 1fr; }
}
</style>
+5 -7
View File
@@ -38,8 +38,9 @@ function fromHomeContent(home: HomePageContent): HomeSection[] {
const sections: HomeSection[] = entry.data.home const sections: HomeSection[] = entry.data.home
? fromHomeContent(entry.data.home) ? fromHomeContent(entry.data.home)
: ((entry.data.sections ?? []) as HomeSection[]); : ((entry.data.sections ?? []) as HomeSection[]);
---
function renderSection(section: HomeSection) { <BaseLayout {title} {description} {canonical} {lang}>
{sections.map((section) => {
switch (section.type) { switch (section.type) {
case 'hero': case 'hero':
return <HomeHero section={section} />; return <HomeHero section={section} />;
@@ -61,11 +62,8 @@ function renderSection(section: HomeSection) {
return <HomeDirector section={section} />; return <HomeDirector section={section} />;
case 'testimonials': case 'testimonials':
return <HomeTestimonials section={section} />; return <HomeTestimonials section={section} />;
} default:
return null; return null;
} }
--- })}
<BaseLayout {title} {description} {canonical} {lang}>
{sections.map(renderSection)}
</BaseLayout> </BaseLayout>
+7
View File
@@ -4,3 +4,10 @@ const logos = ['aetna.png', 'bluecrossblueshield-logo-1.webp', 'logo-ahcccs.webp
<section class="insurance-strip" aria-labelledby="insurance-title"> <section class="insurance-strip" aria-labelledby="insurance-title">
<div class="container"><h2 id="insurance-title">Insurance partners</h2><div class="logo-row">{logos.map((logo) => <img src={`/assets/images/${logo}`} alt="" loading="lazy" />)}</div></div> <div class="container"><h2 id="insurance-title">Insurance partners</h2><div class="logo-row">{logos.map((logo) => <img src={`/assets/images/${logo}`} alt="" loading="lazy" />)}</div></div>
</section> </section>
<style>
.insurance-strip { background: white; border-block: 1px solid var(--color-border); padding-block: var(--space-lg); text-align: center; }
.insurance-strip h2 { font-size: 1.4rem; }
.logo-row { align-items: center; display: flex; flex-wrap: wrap; justify-content: space-around; }
.logo-row img { filter: grayscale(1); max-height: 55px; max-width: 130px; }
</style>
+12
View File
@@ -51,3 +51,15 @@ const activeShort = langMeta[activeCode]?.short ?? 'EN';
))} ))}
</ul> </ul>
</nav> </nav>
<style>
.lang-switcher { position: relative; }
.lang-switcher__trigger { align-items: center; color: var(--color-primary); cursor: pointer; display: flex; font-size: .85rem; font-weight: 700; gap: .35rem; }
.lang-switcher__trigger svg { flex-shrink: 0; }
.lang-switcher__menu { background: white; box-shadow: var(--shadow-md); display: none; left: 50%; list-style: none; margin: 0; min-width: 110px; padding: .5rem 0 .4rem; position: absolute; top: 100%; transform: translateX(-50%); z-index: 10; }
.lang-switcher__menu a { color: rgb(83 83 91); display: block; font-size: .85rem; padding: .4rem .9rem; text-decoration: none; white-space: nowrap; }
.lang-switcher__menu a:hover { background: var(--color-primary); color: white; }
.lang-switcher__menu a[aria-current="page"] { color: var(--color-accent); font-weight: 700; }
.lang-switcher:hover .lang-switcher__menu,
.lang-switcher:focus-within .lang-switcher__menu { display: block; }
</style>
+28 -4
View File
@@ -1,11 +1,16 @@
--- ---
const { slug } = Astro.props; const { slug } = Astro.props;
--- ---
<div class="like-view-counter likes-views" data-counter> <div class="like-view-counter" data-counter>
<span aria-label="Article views"><span class="view-count" data-views>0</span> views</span>
<span class="like-group">
<span class="like-count" data-likes>—</span>
<button class="like-button" type="button" data-like data-slug={slug} aria-label="Like this article" aria-pressed="false"> <button class="like-button" type="button" data-like data-slug={slug} aria-label="Like this article" aria-pressed="false">
<span aria-hidden="true">♡</span> <span class="like-count" data-likes>—</span> <svg aria-hidden="true" viewBox="0 0 12 10" width="20" height="20" focusable="false" class="like-icon">
<path d="m1 4.4c-1-4 2.5-5 4.5-2.5l.5 .6l.5-.6c2-2.5 6-1.5 4.5 2.5q-1 3-5 5q-4-2-5-5z"></path>
</svg>
</button> </button>
<span aria-label="Article views">Views: <span class="view-count" data-views>—</span></span> </span>
</div> </div>
<script> <script>
const apiBase = import.meta.env.PUBLIC_AIA_API_BASE || 'https://api.azinstitute4autism.com'; const apiBase = import.meta.env.PUBLIC_AIA_API_BASE || 'https://api.azinstitute4autism.com';
@@ -44,6 +49,14 @@ const { slug } = Astro.props;
const views = counter.querySelector<HTMLElement>('[data-views]'); const views = counter.querySelector<HTMLElement>('[data-views]');
if (!button || !slug) return; if (!button || !slug) return;
const isLocalhost = ['localhost', '127.0.0.1', '::1'].includes(window.location.hostname);
if (isLocalhost) {
counter.dataset.unavailable = 'true';
if (likes) likes.textContent = '0';
if (views) views.textContent = '0';
return;
}
const cookieName = `liked_${slug}`; const cookieName = `liked_${slug}`;
const renderLiked = (liked: boolean) => { const renderLiked = (liked: boolean) => {
button.classList.toggle('liked', liked); button.classList.toggle('liked', liked);
@@ -66,7 +79,7 @@ const { slug } = Astro.props;
} catch { } catch {
counter.dataset.unavailable = 'true'; counter.dataset.unavailable = 'true';
if (likes) likes.textContent = '0'; if (likes) likes.textContent = '0';
if (views) views.textContent = ''; if (views) views.textContent = '0';
} }
button.addEventListener('click', async () => { button.addEventListener('click', async () => {
@@ -96,3 +109,14 @@ const { slug } = Astro.props;
}); });
}); });
</script> </script>
<style>
.like-view-counter { align-items: center; border-top: 1px solid var(--color-border); display: flex; gap: var(--space-lg); font-size: .75rem; margin-block: var(--space-xl); padding-top: var(--space-md); }
.like-view-counter { font-size: .8rem; }
.like-group { align-items: center; display: inline-flex; gap: .35rem; }
.like-view-counter button { align-items: center; background: white; border: none; color: inherit; display: inline-flex; gap: 0; padding: 0; }
.like-view-counter .like-count { color: var(--color-text); min-width: 1ch; }
.like-view-counter .like-icon { fill: none; flex: 0 0 auto; stroke: #d92d20; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.like-view-counter button.liked .like-icon { fill: #d92d20; stroke: #d92d20; }
.like-view-counter button:disabled { cursor: wait; opacity: .65; }
</style>
+4
View File
@@ -2,3 +2,7 @@
const { title = 'Scottsdale', address = '8901 E Raintree Dr Ste 160, Scottsdale, AZ 85260' } = Astro.props; const { title = 'Scottsdale', address = '8901 E Raintree Dr Ste 160, Scottsdale, AZ 85260' } = Astro.props;
--- ---
<article class="card location-card"><h3>{title}</h3><p>{address}</p><a class="text-link" href={`https://maps.google.com/?q=${encodeURIComponent(address)}`}>Get directions</a></article> <article class="card location-card"><h3>{title}</h3><p>{address}</p><a class="text-link" href={`https://maps.google.com/?q=${encodeURIComponent(address)}`}>Get directions</a></article>
<style>
.location-card { padding: var(--space-lg); }
</style>
+16
View File
@@ -22,3 +22,19 @@ const aboutLinks = lang === 'es'
))} ))}
</ul> </ul>
</nav> </nav>
<style>
.main-nav { margin-inline: auto; }
.main-nav ul { display: flex; gap: 1.4rem; list-style: none; margin: 0; padding: 0; }
.main-nav li { position: relative; }
.main-nav a { color: var(--color-primary); font-size: .9rem; text-decoration: none; }
.main-nav a:hover { color: var(--color-accent-strong); }
.main-nav .submenu { background: white; box-shadow: var(--shadow-md); display: none; gap: 0; left: -1rem; min-width: 180px; padding: .75rem 0; position: absolute; top: 100%; }
.main-nav .submenu a { display: block; padding: .45rem 1rem; }
.main-nav li:hover > .submenu, .main-nav li:focus-within > .submenu { display: block; }
@media (max-width: 950px) {
.main-nav { display: none; }
:global(.mobile-nav) .main-nav { display: block; }
:global(.mobile-nav) .main-nav ul { align-items: flex-start; flex-direction: column; padding: var(--space-md); }
}
</style>
+7
View File
@@ -6,3 +6,10 @@ const { lang = 'en' } = Astro.props;
<summary>Menu</summary> <summary>Menu</summary>
<MainNav lang={lang} /> <MainNav lang={lang} />
</details> </details>
<style>
.mobile-nav { display: none; }
@media (max-width: 950px) {
.mobile-nav { display: block; }
}
</style>
+15
View File
@@ -16,3 +16,18 @@ const { title, image, eyebrow, constrain = false } = Astro.props;
} }
</div> </div>
</header> </header>
<style>
.page-hero { background: var(--color-tint); padding-block: 4rem; text-align: center; }
.page-hero h1 { margin: 0; }
.page-hero--image { background-image: var(--hero-image); background-position: center; background-repeat: no-repeat; background-size: cover; max-height: 420px; padding-block: 0; text-align: left; }
.page-hero--image > .container { padding-block: 10rem; }
.page-hero--image h1 { max-width: 600px; }
.page-hero__copy { max-width: 600px; }
.page-hero--constrained { background-image: var(--hero-image), linear-gradient(var(--color-tint), var(--color-tint)); background-clip: content-box, border-box; background-origin: content-box, border-box; background-position: center, center; background-repeat: no-repeat, repeat; background-size: cover, auto; padding-inline: max(0px, calc((100% - var(--container-w)) / 2)); }
@media (max-width: 760px) {
.page-hero--image > .container { padding-block: 6.25rem; }
.page-hero--image { text-align: center; }
.page-hero--image h1, .page-hero__copy { margin-inline: auto; }
}
</style>
+29 -2
View File
@@ -26,6 +26,8 @@ const groups = [
}, },
{ {
title: 'ABA Clinic Management', title: 'ABA Clinic Management',
tagline: 'Applied Behavior Analysis "(ABA) at your service"',
tinted: true,
members: [ members: [
['team-mariah-marley.webp', 'Mariah Marley', 'Claims Billing'], ['team-mariah-marley.webp', 'Mariah Marley', 'Claims Billing'],
['team-eney-garcia.webp', 'Eney Garcia, BA', 'Accounts Billing'], ['team-eney-garcia.webp', 'Eney Garcia, BA', 'Accounts Billing'],
@@ -42,17 +44,22 @@ const groups = [
<p>AIA's clinical team consists of experienced professionals and paraprofessionals as well as Board Certified Behavior Analysts (BCBA) and Psychologists who have diverse experience and expertise.</p> <p>AIA's clinical team consists of experienced professionals and paraprofessionals as well as Board Certified Behavior Analysts (BCBA) and Psychologists who have diverse experience and expertise.</p>
</section> </section>
{groups.map((group) => ( {groups.map((group) => (
<section class="team-group container"> <section class:list={['team-group', { 'team-group--tinted': group.tinted }]}>
<div class="container">
<h2>{group.title}</h2> <h2>{group.title}</h2>
{group.tagline && <p class="team-group__tagline"><em>{group.tagline}</em></p>}
<div class="team-grid"> <div class="team-grid">
{group.members.map(([image, name, role]) => ( {group.members.map(([image, name, role]) => (
<article class="team-member"> <article class="team-member">
<div class="team-thumb">
<img src={`/assets/images/${image}`} alt={name} loading="lazy" /> <img src={`/assets/images/${image}`} alt={name} loading="lazy" />
</div>
<h3>{name}</h3> <h3>{name}</h3>
<p>{role}</p> <p>{role}</p>
</article> </article>
))} ))}
</div> </div>
</div>
</section> </section>
))} ))}
<section class="team-careers"> <section class="team-careers">
@@ -60,8 +67,28 @@ const groups = [
<p class="script-label">Join the AIA Team!</p> <p class="script-label">Join the AIA Team!</p>
<h2>Employment Opportunities</h2> <h2>Employment Opportunities</h2>
<p>Apply online to join the AIA team! At the Arizona Institute for Autism (AIA) we are on a mission to improve special education and strengthen communities throughout Arizona.</p> <p>Apply online to join the AIA team! At the Arizona Institute for Autism (AIA) we are on a mission to improve special education and strengthen communities throughout Arizona.</p>
<p>Our talented and passionate employees are a critical piece to the high-quality ABA therapy we provide along with our commitment to behavioral health, school solutions, and community outreach.</p> <p>Our talented and passionate employees are a critical piece to the high-quality ABA therapy we provide along with our commitment to behavioral health, school solutions, and community outreach. For questions regarding open positions, please contact us at <a href="mailto:hr@azinstitute4autism.com">hr@azinstitute4autism.com</a>.</p>
<a class="button" href="/careers">View Open Positions</a> <a class="button" href="/careers">View Open Positions</a>
</div> </div>
</section> </section>
</article> </article>
<style>
.team-intro { padding-block: 4rem; text-align: center; }
.team-intro .script-label { font-size: 1.8rem; }
.team-group { padding-block: 2rem 4rem; text-align: center; }
.team-group--tinted { background: var(--color-tint); }
.team-group h2 { margin: 0 auto 1rem; max-width: 760px; }
.team-group__tagline { font-size: 1.125rem; margin: 0 auto 2rem; }
.team-grid { display: flex; flex-wrap: wrap; gap: 2rem 1.5rem; justify-content: center; }
.team-member { flex: 0 0 227px; }
.team-thumb { border-radius: 4px; overflow: hidden; }
.team-thumb img { display: block; object-fit: cover; transform: scale(1.1); transition: transform .5s; width: 100%; }
.team-thumb img:hover { transform: scale(1.05); }
.team-member h3 { font-family: var(--font-body); font-size: .8rem; margin-bottom: 0; }
.team-member p { font-size: .85rem; margin: 0; }
.team-careers { padding-block: 5rem; }
@media (max-width: 950px) {
.team-member { flex-basis: min(100%, 227px); }
}
</style>
+15
View File
@@ -49,3 +49,18 @@ const { image, alt, videoUrl, videoTitle } = Astro.props;
}); });
}); });
</script> </script>
<style>
.video-card { background: none; border: none; cursor: pointer; display: block; padding: 0; position: relative; }
.video-card img { width: 100%; }
.video-card span { align-items: center; background: var(--color-accent); border-radius: 50%; color: white; display: flex; height: 64px; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 64px; z-index: 1; }
.video-card::before, .video-card::after { animation-duration: 3s; animation-iteration-count: infinite; animation-name: video-ripple; animation-timing-function: cubic-bezier(.65, 0, .34, 1); border: 8px solid var(--color-accent); border-radius: 50%; content: ""; height: 64px; left: 50%; opacity: 0; position: absolute; top: 50%; width: 64px; }
.video-card::before { animation-delay: .5s; }
.video-dialog { background: none; border: none; box-sizing: border-box; max-width: min(90vw, 900px); padding: 1rem 1rem 0 0; width: 100%; }
.video-dialog::backdrop { background: rgba(0, 0, 0, .85); }
.video-dialog-inner { position: relative; }
.video-dialog-frame { aspect-ratio: 16 / 9; width: 100%; }
.video-dialog-frame iframe { border: none; height: 100%; width: 100%; }
.video-dialog-close { background: white; border: none; border-radius: 50%; cursor: pointer; font-size: 1rem; height: 2rem; line-height: 2rem; position: absolute; right: -1rem; top: -1rem; width: 2rem; }
@keyframes video-ripple { 0% { opacity: 1; transform: translate(-50%, -50%) scale3d(.75, .75, 1); } to { opacity: 0; transform: translate(-50%, -50%) scale3d(1.5, 1.5, 1); } }
</style>
+41 -2
View File
@@ -4,8 +4,47 @@ interface Props { section: InsuranceSection }
const { section } = Astro.props; const { section } = Astro.props;
--- ---
<style> <style>
.insurance-section .logo-row { margin-top: 2rem; } .insurance-section .logo-row {
.logo-row img { filter: none; } align-items: center;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 2rem;
}
.insurance-section .logo-row img {
flex: 0 1 auto;
max-width: 200px;
}
@media (min-width: 640px) {
.insurance-section .logo-row {
display: grid;
gap: var(--space-lg);
grid-template-columns: repeat(3, minmax(0, 1fr));
align-items: center;
justify-items: center;
}
.insurance-section .logo-row img {
flex: 0 1 auto;
max-width: 25vw;
}
}
@media (min-width: 1024px) {
.insurance-section .logo-row {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
}
.insurance-section .logo-row img {
flex-basis: 0;
flex-grow: 1;
max-width: 120px;
}
}
</style> </style>
<section class="section insurance-section"> <section class="section insurance-section">
+11
View File
@@ -17,6 +17,17 @@ const { section } = Astro.props;
</div> </div>
</section> </section>
<style>
.process-section h2 { text-align: center; }
.process-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); margin-top: 2.5rem; }
.process-grid div { background: white; min-height: 190px; padding: 3.2rem 1rem; position: relative; text-align: center; transition: transform .3s ease-in-out; }
.process-grid div:hover { transform: scale(1.05); z-index: 1; }
.process-grid img { margin: 0 auto 1rem; width: 42%; }
@media (max-width: 760px) {
.process-grid { grid-template-columns: 1fr 1fr; }
}
</style>
<script> <script>
function equalizeProcessCards() { function equalizeProcessCards() {
const cards = [...document.querySelectorAll('.process-grid > div')] as HTMLElement[]; const cards = [...document.querySelectorAll('.process-grid > div')] as HTMLElement[];
@@ -50,3 +50,14 @@ const { section } = Astro.props;
}, },
}); });
</script> </script>
<style>
.testimonial-section h2 { text-align: center; }
.testimonial-section blockquote { margin: 0 auto; max-width: 720px; padding: 0 2rem; text-align: center; }
.testimonial-author { font-size: 1.25rem; font-weight: 700; margin-bottom: .5rem; }
.testimonial-swiper { --swiper-pagination-bullet-horizontal-gap: 1vw; padding-bottom: 3rem !important; }
.testimonial-swiper .swiper-pagination-bullet { background-color: var(--color-accent); opacity: 1; }
.testimonial-swiper .swiper-pagination-bullet-active { background-color: var(--color-accent-strong); }
.testimonial-swiper .swiper-button-next, .testimonial-swiper .swiper-button-prev { color: var(--color-accent); }
.testimonial-swiper .swiper-button-next:hover, .testimonial-swiper .swiper-button-prev:hover { color: var(--color-accent-strong); }
</style>
+25 -2
View File
@@ -1,12 +1,35 @@
--- ---
import BaseLayout from './BaseLayout.astro'; import BaseLayout from './BaseLayout.astro';
import PageHero from '../components/PageHero.astro'; import PageHero from '../components/PageHero.astro';
const { title, description, lang = 'en' } = Astro.props; const { title, description, intro = [], lang = 'en' } = Astro.props;
const languagePrefix = lang === 'en' ? '' : `/${lang}`; const languagePrefix = lang === 'en' ? '' : `/${lang}`;
const canonical = `https://www.azinstitute4autism.com${languagePrefix}/library`; const canonical = `https://www.azinstitute4autism.com${languagePrefix}/library`;
--- ---
<BaseLayout title={title} description={description} canonical={canonical} lang={lang}> <BaseLayout title={title} description={description} canonical={canonical} lang={lang}>
<PageHero title={title} image="/assets/images/hero-library-index.webp" eyebrow="Welcome to" constrain /> <PageHero title={title} image="/assets/images/hero-library-index.webp" eyebrow="Welcome to" constrain />
<section class="library-intro"><div class="container"><h2>Library</h2><p>{description}</p></div></section> <section class="library-intro">
<div class="container">
<h2>Library</h2>
{intro.length ? intro.map((paragraph) => <p>{paragraph}</p>) : <p>{description}</p>}
</div>
</section>
<div class="container section library-layout"><slot /></div> <div class="container section library-layout"><slot /></div>
</BaseLayout> </BaseLayout>
<style>
:global(.library-intro) { background: var(--color-primary); color: white; padding-block: 3rem; }
:global(.library-intro h2) { color: white; }
:global(.library-layout) { align-items: start; display: grid; gap: 3rem; grid-template-columns: 1fr 240px; }
:global(.library-sidebar) { position: sticky; top: 1rem; }
:global(.library-sidebar label) { display: block; font-weight: 700; margin-bottom: .4rem; }
:global(.library-sidebar input) { border: 1px solid var(--color-border); border-radius: 4px; font: inherit; padding: .7rem; width: 100%; }
:global(.library-sidebar h2) { font-size: 1.1rem; margin-top: 2rem; }
:global(.library-sidebar ul) { list-style: none; padding: 0; }
:global(.library-sidebar li) { border-bottom: 1px solid var(--color-border); padding-block: .65rem; }
:global(.library-sidebar a) { color: var(--color-primary); font-size: .9rem; }
:global(.blog-list) { display: block; }
@media (max-width: 760px) {
:global(.library-layout) { grid-template-columns: 1fr; }
:global(.library-sidebar) { position: static; }
}
</style>
+12
View File
@@ -19,3 +19,15 @@ const { entry } = Astro.props;
</article> </article>
<BlogPostFooter entryId={entry.id} /> <BlogPostFooter entryId={entry.id} />
</BaseLayout> </BaseLayout>
<style>
.article-header { padding-block: 4.5rem 0; text-align: left; }
.article-header h1 { font-size: clamp(2.3rem, 5vw, 3rem); max-width: 900px; }
.article-byline { align-items: center; display: flex; font-size: .9rem; gap: 1rem; }
.article-byline img { margin-top: 0; height: 52px; width: 52px; }
.article-featured { height: 480px; margin: 3rem auto 0; max-width: 800px; overflow: hidden; }
.article-featured img { height: 100%; margin: 0; object-fit: cover; width: 100%; }
@media (max-width: 760px) {
.article-featured { height: auto; }
}
</style>
+8 -1
View File
@@ -5,7 +5,14 @@ import BlogCard from '../../components/BlogCard.astro';
const posts = (await getCollection('blog', ({ data }) => data.lang === 'en' && !data.draft)).sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf()); const posts = (await getCollection('blog', ({ data }) => data.lang === 'en' && !data.draft)).sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf());
const popular = posts.slice(0, 5); const popular = posts.slice(0, 5);
--- ---
<BlogIndexLayout title="The Library at AZ Institute for Autism" description="Welcome to the Library at AIA, where we share valuable insights, strategies, and resources to support individuals with autism, their families, and professionals in the field. Our articles explore key topics in Applied Behavior Analysis (ABA) therapy, community events, success stories, and expert guidance."> <BlogIndexLayout
title="The Library at AZ Institute for Autism"
description="Welcome to the Library at AIA, where we share valuable insights, strategies, and resources to support individuals with autism, their families, and professionals in the field. Our articles explore key topics in Applied Behavior Analysis (ABA) therapy, community events, success stories, and expert guidance."
intro={[
"Welcome to the Library at AIA, where we share valuable insights, strategies, and resources to support individuals with autism, their families, and professionals in the field. Our articles explore key topics in Applied Behavior Analysis (ABA) therapy, including teaching self-advocacy, proactive and reactive strategies, and innovative intervention techniques.",
"We also highlight community events, success stories, and expert guidance to foster understanding and empowerment. Whether you're a parent, caregiver, educator, or advocate, our goal is to provide meaningful content that helps children with autism reach their highest potential in a compassionate and supportive environment. Stay connected with us as we continue to share knowledge and celebrate progress!",
]}
>
<div class="blog-list">{posts.map((post) => <BlogCard post={post} />)}</div> <div class="blog-list">{posts.map((post) => <BlogCard post={post} />)}</div>
<aside class="library-sidebar"> <aside class="library-sidebar">
<label for="library-search">Search</label> <label for="library-search">Search</label>
+1 -136
View File
@@ -1,149 +1,14 @@
.utility-bar { background: var(--color-primary); color: white; font-size: .85rem; }
.utility-inner { align-items: center; display: flex; gap: var(--space-md); justify-content: flex-end; min-height: 38px; }
.utility-bar a { color: white; text-decoration: none; }
.lang-switcher { position: relative; }
.lang-switcher__trigger { align-items: center; color: var(--color-primary); cursor: pointer; display: flex; font-size: .85rem; font-weight: 700; gap: .35rem; }
.lang-switcher__trigger svg { flex-shrink: 0; }
.lang-switcher__menu { background: white; box-shadow: var(--shadow-md); display: none; left: 50%; list-style: none; margin: 0; min-width: 110px; padding: .5rem 0 .4rem; position: absolute; top: 100%; transform: translateX(-50%); z-index: 10; }
.lang-switcher__menu a { color: rgb(83 83 91); display: block; font-size: .85rem; padding: .4rem .9rem; text-decoration: none; white-space: nowrap; }
.lang-switcher__menu a:hover { background: var(--color-primary); color: white; }
.lang-switcher__menu a[aria-current="page"] { color: var(--color-accent); font-weight: 700; }
.lang-switcher:hover .lang-switcher__menu,
.lang-switcher:focus-within .lang-switcher__menu { display: block; }
.site-header { background: white; box-shadow: var(--shadow-sm); position: relative; z-index: 5; }
.header-inner { align-items: center; display: flex; gap: 1.4rem; min-height: 110px; }
.brand img { width: 150px; }
.main-nav { margin-inline: auto; }
.main-nav ul { display: flex; gap: 1.4rem; list-style: none; margin: 0; padding: 0; }
.main-nav li { position: relative; }
.main-nav a { color: var(--color-primary); font-size: .9rem; text-decoration: none; }
.main-nav a:hover { color: var(--color-accent-strong); }
.main-nav .submenu { background: white; box-shadow: var(--shadow-md); display: none; gap: 0; left: -1rem; min-width: 180px; padding: .75rem 0; position: absolute; top: 100%; }
.main-nav .submenu a { display: block; padding: .45rem 1rem; }
.main-nav li:hover > .submenu, .main-nav li:focus-within > .submenu { display: block; }
.mobile-nav { display: none; }
.button { background: var(--color-accent); border: 2px solid var(--color-accent); border-radius: 4px; color: var(--color-primary); display: inline-block; padding: .65rem 1.2rem; text-decoration: none; transition: .3s linear all; } .button { background: var(--color-accent); border: 2px solid var(--color-accent); border-radius: 4px; color: var(--color-primary); display: inline-block; padding: .65rem 1.2rem; text-decoration: none; transition: .3s linear all; }
.button:hover { background: transparent; border-color: var(--color-accent-strong); color: var(--color-primary); } .button:hover { background: transparent; border-color: var(--color-accent-strong); color: var(--color-primary); }
.button-small { font-size: .9rem; } .button-small { font-size: .9rem; }
.button-light { background: white; color: var(--color-primary-dark); } .button-light { background: white; color: var(--color-primary-dark); }
.hero { background: var(--color-tint); overflow: hidden; padding-block: clamp(3rem, 7vw, 5rem); }
.hero-grid { align-items: center; display: grid; gap: var(--space-xl); grid-template-columns: 1.05fr .95fr; }
.hero img { max-height: 430px; object-fit: contain; width: 100%; }
.card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; } .card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; }
.card img { aspect-ratio: 16/10; object-fit: cover; width: 100%; } .card img { aspect-ratio: 16/10; object-fit: cover; width: 100%; }
.card-body, .location-card { padding: var(--space-lg); } .card-body { padding: var(--space-lg); }
.card h2, .card h3 { margin-top: 0; } .card h2, .card h3 { margin-top: 0; }
.card h2 a, .card h3 a { color: inherit; text-decoration: none; } .card h2 a, .card h3 a { color: inherit; text-decoration: none; }
.text-link { font-weight: 700; } .text-link { font-weight: 700; }
.insurance-strip { background: white; border-block: 1px solid var(--color-border); padding-block: var(--space-lg); text-align: center; }
.insurance-strip h2 { font-size: 1.4rem; }
.logo-row { align-items: center; display: flex; flex-wrap: wrap; justify-content: space-around; }
.logo-row img { filter: grayscale(1); max-height: 55px; max-width: 130px; }
.cta-band { background: var(--color-primary); color: white; padding-block: var(--space-xl); }
.cta-band h2, .cta-band .eyebrow { color: white; margin: 0; }
.site-footer { background: var(--color-primary-dark); color: white; padding-block: var(--space-xl) var(--space-md); }
.footer-grid { display: grid; gap: var(--space-xl); grid-template-columns: 1fr 1fr 1.5fr; }
.site-footer h2, .site-footer a { color: white; text-decoration: none; }
.site-footer h2 { font-size: 1.25rem; letter-spacing: .3px; margin-bottom: 1.2rem; }
.site-footer a:hover { color: var(--color-accent); }
.site-footer ul { list-style: none; padding: 0; }
.site-footer li { line-height: 2.6; margin-bottom: 0; }
.site-footer p { line-height: 2.6; }
.footer-contact { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2rem; margin-top: 2rem; }
.footer-contact-item { align-items: flex-start; display: flex; gap: .6rem; line-height: 1.5; }
.footer-contact-item img { flex-shrink: 0; }
.footer-contact-item address { font-style: normal; }
.social-links { display: flex; gap: .85rem; margin-left: 1.6rem; margin-top: .25rem; }
.social-links a { align-items: center; color: white; display: flex; opacity: .85; }
.social-links a:hover { color: var(--color-accent); opacity: 1; }
.footer-bottom { border-top: 1px solid rgb(255 255 255 / 20%); display: flex; justify-content: space-between; margin-top: var(--space-lg); padding-top: var(--space-md); }
.article-header { padding-block: var(--space-xl) var(--space-lg); text-align: center; }
.article-header h1 { font-size: clamp(2.3rem, 6vw, 4.6rem); }
.article-header img { border-radius: var(--radius-lg); margin-top: var(--space-lg); width: 100%; }
.like-view-counter { align-items: center; border-top: 1px solid var(--color-border); display: flex; gap: var(--space-lg); margin-block: var(--space-xl); padding-top: var(--space-md); }
.like-view-counter button { background: white; border: 1px solid var(--color-border); border-radius: 999px; padding: .6rem 1rem; }
.like-view-counter button.liked { background: var(--color-primary-dark); border-color: var(--color-primary-dark); color: white; }
.like-view-counter button:disabled { cursor: wait; opacity: .65; }
.page-hero { background: var(--color-tint); padding-block: 4rem; text-align: center; }
.page-hero h1 { margin: 0; }
.page-hero--image { background-image: var(--hero-image); background-position: center; background-repeat: no-repeat; background-size: cover; max-height: 420px; padding-block: 0; text-align: left; }
.page-hero--image > .container { padding-block: 10rem; }
.page-hero--image h1 { max-width: 600px; }
.page-hero__copy { max-width: 600px; }
.page-hero--constrained { background-image: var(--hero-image), linear-gradient(var(--color-tint), var(--color-tint)); background-clip: content-box, border-box; background-origin: content-box, border-box; background-position: center, center; background-repeat: no-repeat, repeat; background-size: cover, auto; padding-inline: max(0px, calc((100% - var(--container-w)) / 2)); }
.library-intro { background: var(--color-primary); color: white; padding-block: 3rem; }
.library-intro h2 { color: white; }
.library-layout { align-items: start; display: grid; gap: 3rem; grid-template-columns: 1fr 240px; }
.library-sidebar { position: sticky; top: 1rem; }
.library-sidebar label { display: block; font-weight: 700; margin-bottom: .4rem; }
.library-sidebar input { border: 1px solid var(--color-border); border-radius: 4px; font: inherit; padding: .7rem; width: 100%; }
.library-sidebar h2 { font-size: 1.1rem; margin-top: 2rem; }
.library-sidebar ul { list-style: none; padding: 0; }
.library-sidebar li { border-bottom: 1px solid var(--color-border); padding-block: .65rem; }
.library-sidebar a { color: var(--color-primary); font-size: .9rem; }
.blog-list { display: grid; gap: 2rem; }
.blog-list .blog-card { box-shadow: none; display: grid; grid-template-columns: 240px 1fr; }
.blog-list .blog-card > a img { aspect-ratio: 4 / 3; height: 100%; }
.blog-card-meta { align-items: center; display: flex; font-size: .78rem; gap: .75rem; }
.blog-card-meta img { aspect-ratio: 1; border-radius: 50%; height: 42px; width: 42px; }
.blog-card h3 { font-size: 1.35rem; }
.article-header { padding-block: 4.5rem 0; text-align: left; }
.article-header h1 { font-size: clamp(2.3rem, 5vw, 3rem); max-width: 900px; }
.article-byline { align-items: center; display: flex; font-size: .9rem; gap: 1rem; }
.article-byline img { margin-top: 0; height: 52px; width: 52px; }
.article-featured { height: 480px; margin: 3rem auto 0; max-width: 800px; overflow: hidden; }
.article-featured img { height: 100%; margin: 0; object-fit: cover; width: 100%; }
.team-intro { padding-block: 4rem; text-align: center; }
.team-intro .script-label { font-size: 1.8rem; }
.team-group { padding-block: 2rem 4rem; text-align: center; }
.team-group > h2 { margin: 0 auto 2.5rem; max-width: 760px; }
.team-grid { display: grid; gap: 2rem 1.5rem; grid-template-columns: repeat(4, minmax(0, 1fr)); justify-content: center; }
.team-member img { aspect-ratio: 1 / 1.08; border: 5px solid var(--color-primary-dark); border-radius: 15px; object-fit: cover; width: 100%; }
.team-member h3 { font-size: 1.1rem; margin-bottom: .25rem; }
.team-member p { margin: 0; }
.team-careers { background: var(--color-tint); padding-block: 5rem; text-align: center; }
@media (max-width: 950px) { .main-nav, .header-inner > .button { display: none; } .mobile-nav { display: block; } .mobile-nav .main-nav { display: block; } .mobile-nav .main-nav ul { align-items: flex-start; flex-direction: column; padding: var(--space-md); } .hero-grid, .footer-grid { grid-template-columns: 1fr; } }
.source-list { margin-block: 0 1.5rem; padding-inline-start: 2.5rem; } .source-list { margin-block: 0 1.5rem; padding-inline-start: 2.5rem; }
.source-list li { line-height: 1.625; margin: 0; padding-inline-start: .15rem; } .source-list li { line-height: 1.625; margin: 0; padding-inline-start: .15rem; }
.source-list li::marker { color: var(--color-accent); } .source-list li::marker { color: var(--color-accent); }
.source-list li > p { margin-block: 0; } .source-list li > p { margin-block: 0; }
.video-card { background: none; border: none; cursor: pointer; display: block; padding: 0; position: relative; }
.video-card img { width: 100%; }
.video-card span { align-items: center; background: var(--color-accent); border-radius: 50%; color: white; display: flex; height: 64px; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 64px; z-index: 1; }
.video-card::before, .video-card::after { animation-duration: 3s; animation-iteration-count: infinite; animation-name: video-ripple; animation-timing-function: cubic-bezier(.65, 0, .34, 1); border: 8px solid var(--color-accent); border-radius: 50%; content: ""; height: 64px; left: 50%; opacity: 0; position: absolute; top: 50%; width: 64px; }
.video-card::before { animation-delay: .5s; }
@keyframes video-ripple { 0% { opacity: 1; transform: translate(-50%, -50%) scale3d(.75, .75, 1); } to { opacity: 0; transform: translate(-50%, -50%) scale3d(1.5, 1.5, 1); } }
.video-dialog { background: none; border: none; box-sizing: border-box; max-width: min(90vw, 900px); padding: 1rem 1rem 0 0; width: 100%; }
.video-dialog::backdrop { background: rgba(0, 0, 0, .85); }
.video-dialog-inner { position: relative; }
.video-dialog-frame { aspect-ratio: 16 / 9; width: 100%; }
.video-dialog-frame iframe { border: none; height: 100%; width: 100%; }
.video-dialog-close { background: white; border: none; border-radius: 50%; cursor: pointer; font-size: 1rem; height: 2rem; line-height: 2rem; position: absolute; right: -1rem; top: -1rem; width: 2rem; }
.process-section h2, .testimonial-section h2 { text-align: center; }
.process-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); margin-top: 2.5rem; }
.process-grid div { background: white; min-height: 190px; padding: 3.2rem 1rem; position: relative; text-align: center; transition: transform .3s ease-in-out; }
.process-grid div:hover { transform: scale(1.05); z-index: 1; }
.process-grid img { margin: 0 auto 1rem; width: 42%; }
.testimonial-section blockquote { margin: 0 auto; max-width: 720px; padding: 0 2rem; text-align: center; }
.testimonial-author { font-size: 1.25rem; font-weight: 700; margin-bottom: .5rem; }
.testimonial-swiper { --swiper-pagination-bullet-horizontal-gap: 1vw; padding-bottom: 3rem !important; }
.testimonial-swiper .swiper-pagination-bullet { background-color: var(--color-accent); opacity: 1; }
.testimonial-swiper .swiper-pagination-bullet-active { background-color: var(--color-accent-strong); }
.testimonial-swiper .swiper-button-next, .testimonial-swiper .swiper-button-prev { color: var(--color-accent); }
.testimonial-swiper .swiper-button-next:hover, .testimonial-swiper .swiper-button-prev:hover { color: var(--color-accent-strong); }
@media (max-width: 760px) {
.utility-inner { justify-content: center; }
.header-inner { min-height: 88px; }
.header-inner .lang-switcher { margin-left: auto; }
.process-grid { grid-template-columns: 1fr 1fr; }
.footer-bottom { align-items: flex-start; flex-direction: column; }
.library-layout { grid-template-columns: 1fr; }
.library-sidebar { position: static; }
.blog-list .blog-card { grid-template-columns: 1fr; }
.article-featured { height: auto; }
.team-grid { grid-template-columns: 1fr; }
.page-hero--image > .container { padding-block: 6.25rem; }
.page-hero--image { text-align: center; }
.page-hero--image h1, .page-hero__copy { margin-inline: auto; }
}
@media (min-width: 761px) and (max-width: 1050px) { .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
+2 -1
View File
@@ -11,7 +11,8 @@ h3 { font-size: 1.5rem; }
a { color: var(--color-primary); } a { color: var(--color-primary); }
.eyebrow { color: var(--color-secondary); font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; } .eyebrow { color: var(--color-secondary); font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.lede, .hero-copy { color: var(--color-muted); font-size: 1.25rem; } .lede, .hero-copy { color: var(--color-muted); font-size: 1.25rem; }
.script-label { color: var(--color-accent-strong); font-family: var(--font-accent); font-size: 1.5rem; margin: 0 0 .5rem; } .script-label { color: var(--color-accent-strong); font-family: var(--font-accent); font-size: 2rem; margin: 0; }
.script-label + h2 { margin-top: 0; }
.prose :where(ul, ol) { .prose :where(ul, ol) {
margin-block: 0 1.5rem; margin-block: 0 1.5rem;