NVIDIA Nemotron 3 Ultra – Health and Fitness
via BaseTen · Generated
- AIMAC Debt 6.51
- Cost $0.04
- Total Violations 15
- HTML Size 58 KB
- Em Dashes 0
Screenshot
View Live Page
Accessibility Issues Found
15 Serious
-
color-contrast serious 14 instances
Elements must meet minimum color contrast ratio thresholds
Example HTML
<p>Calculate your Body Mass Index (BMI) and Basal Metabolic Rate (BMR) instantly. Understanding these metrics is the first step in calibrating your... -
target-size serious 1 instance
All touch targets must be 24px large, or leave sufficient space
Example HTML
<summary class="faq-summary">How does the 'Find Provider' matching algorithm work?</summary>
Artifacts
View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="VitalCore Wellness: Your partner in preventive care, fitness optimization, and nutritional science. Discover personalized wellness plans, expert medical resources, and community support.">
<title>VitalCore Wellness | Empowering Your Journey to Optimal Health</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
/* --- CSS Custom Properties (Design Tokens) --- */
:root {
--color-primary: #007b7f; /* Deep Teal */
--color-primary-dark: #005f63;
--color-primary-light: #e0f7f7;
--color-secondary: #2d6a4f; /* Forest Green */
--color-accent: #e9c46a; /* Warm Gold */
--color-text-primary: #1a2a2a;
--color-text-secondary: #4a5a5a;
--color-text-light: #6b7b7b;
--color-bg: #fafdfd;
--color-bg-alt: #ffffff;
--color-border: #e0eaea;
--color-error: #d64045;
--color-success: #2a9d8f;
--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--space-xs: 0.5rem;
--space-sm: 1rem;
--space-md: 1.5rem;
--space-lg: 3rem;
--space-xl: 5rem;
--container-max: 1200px;
--header-height: 72px;
--radius-sm: 4px;
--radius-md: 8px;
--radius-lg: 16px;
--radius-full: 9999px;
--shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
--shadow-md: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -1px rgba(0,0,0,0.04);
--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
--shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);
--transition-fast: 150ms ease;
--transition-base: 250ms ease;
}
/* --- Reset & Base --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
font-family: var(--font-sans);
background-color: var(--color-bg);
color: var(--color-text-primary);
line-height: 1.7;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
img { max-width: 100%; height: auto; display: block; border-radius: var(--radius-md); }
a { color: var(--color-primary); text-decoration: none; transition: color var(--transition-fast); }
a:hover { color: var(--color-primary-dark); text-decoration: underline; }
ul { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
.container { width: 100%; max-width: var(--container-max); margin: 0 auto; padding: 0 var(--space-md); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
/* --- Typography --- */
h1, h2, h3, h4 { font-weight: 700; line-height: 1.2; color: var(--color-text-primary); }
h1 { font-size: clamp(2.5rem, 5vw, 4rem); letter-spacing: -0.02em; }
h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); letter-spacing: -0.01em; margin-bottom: var(--space-sm); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); margin-bottom: var(--space-xs); }
p { margin-bottom: var(--space-sm); color: var(--color-text-secondary); font-size: 1.05rem; }
.lead { font-size: clamp(1.1rem, 2vw, 1.3rem); font-weight: 400; color: var(--color-text-secondary); max-width: 65ch; }
/* --- Buttons --- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); padding: 0.875rem 1.75rem; font-weight: 600; font-size: 1rem; border-radius: var(--radius-full); transition: all var(--transition-fast); white-space: nowrap; }
.btn-primary { background-color: var(--color-primary); color: #fff; box-shadow: var(--shadow-md); }
.btn-primary:hover { background-color: var(--color-primary-dark); transform: translateY(-2px); box-shadow: var(--shadow-lg); text-decoration: none; color: #fff; }
.btn-secondary { background-color: transparent; color: var(--color-primary); border: 2px solid var(--color-primary); }
.btn-secondary:hover { background-color: var(--color-primary-light); text-decoration: none; }
.btn-accent { background-color: var(--color-accent); color: var(--color-text-primary); }
.btn-accent:hover { background-color: #d4b05a; text-decoration: none; color: var(--color-text-primary); }
/* --- Header & Navigation --- */
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,0.95); backdrop-filter: blur(10px); border-bottom: 1px solid var(--color-border); height: var(--header-height); }
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 100%; gap: var(--space-md); }
.logo { display: flex; align-items: center; gap: var(--space-sm); text-decoration: none; }
.logo img { width: 40px; height: 40px; border-radius: var(--radius-full); }
.logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.logo-name { font-weight: 700; font-size: 1.25rem; color: var(--color-text-primary); }
.logo-tagline { font-size: 0.7rem; font-weight: 500; color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.05em; }
.main-nav { display: none; } /* Hidden by default for mobile */
.main-nav ul { display: flex; gap: var(--space-xs); }
.main-nav a { display: block; padding: var(--space-xs) var(--space-sm); font-weight: 500; color: var(--color-text-secondary); border-radius: var(--radius-md); transition: all var(--transition-fast); text-decoration: none; }
.main-nav a:hover, .main-nav a.active { color: var(--color-primary); background: var(--color-primary-light); text-decoration: none; }
.header-actions { display: flex; align-items: center; gap: var(--space-sm); }
.mobile-menu-btn { display: flex; padding: var(--space-xs); color: var(--color-text-primary); }
.mobile-menu-btn svg { width: 24px; height: 24px; }
/* --- Hero Section --- */
.hero { position: relative; padding: var(--space-xl) 0; background: linear-gradient(180deg, var(--color-primary-light) 0%, var(--color-bg) 100%); overflow: hidden; }
.hero::before { content: ''; position: absolute; top: -50%; right: -20%; width: 60%; height: 150%; background: radial-gradient(circle, rgba(0,123,127,0.08) 0%, transparent 70%); pointer-events: none; }
.hero-grid { display: grid; gap: var(--space-lg); align-items: center; }
.hero-content { position: relative; z-index: 1; }
.hero-badge { display: inline-flex; align-items: center; gap: var(--space-xs); background: var(--color-bg-alt); padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-full); font-size: 0.875rem; font-weight: 600; color: var(--color-primary); border: 1px solid var(--color-border); margin-bottom: var(--space-md); width: fit-content; box-shadow: var(--shadow-sm); }
.hero-badge svg { width: 14px; height: 14px; }
.hero h1 { margin-bottom: var(--space-md); }
.hero .lead { margin-bottom: var(--space-lg); }
.hero-ctas { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-bottom: var(--space-lg); }
.hero-stats { display: flex; flex-wrap: wrap; gap: var(--space-lg); padding-top: var(--space-md); border-top: 1px solid var(--color-border); }
.stat-item { display: flex; flex-direction: column; }
.stat-value { font-size: 1.75rem; font-weight: 700; color: var(--color-primary); line-height: 1; }
.stat-label { font-size: 0.875rem; color: var(--color-text-light); font-weight: 500; }
.hero-visual { position: relative; z-index: 1; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-xl); aspect-ratio: 4/3; background: var(--color-border); }
.hero-visual img { width: 100%; height: 100%; object-fit: cover; }
/* --- Section Wrapper --- */
.section { padding: var(--space-xl) 0; }
.section-header { text-align: center; max-width: 700px; margin: 0 auto var(--space-xl); }
.section-header .tag { display: inline-block; font-size: 0.875rem; font-weight: 600; color: var(--color-primary); background: var(--color-primary-light); padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-full); margin-bottom: var(--space-sm); text-transform: uppercase; letter-spacing: 0.05em; }
/* --- Pillars / Feature Grid --- */
.pillars { background: var(--color-bg-alt); }
.pillars-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-md); }
.pillar-card { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-lg); transition: all var(--transition-base); display: flex; flex-direction: column; height: 100%; }
.pillar-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.pillar-icon { width: 56px; height: 56px; border-radius: var(--radius-md); background: var(--color-primary-light); color: var(--color-primary); display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-md); flex-shrink: 0; }
.pillar-icon svg { width: 28px; height: 28px; }
.pillar-card h3 { color: var(--color-text-primary); }
.pillar-card p { flex-grow: 1; margin-bottom: var(--space-md); font-size: 1rem; }
.pillar-link { font-weight: 600; font-size: 0.95rem; display: inline-flex; align-items: center; gap: 4px; color: var(--color-primary); }
.pillar-link svg { width: 18px; height: 18px; transition: transform var(--transition-fast); }
.pillar-card:hover .pillar-link svg { transform: translateX(4px); }
/* --- BMI Calculator (Interactive) --- */
.tools-section { background: var(--color-bg); }
.tool-card { background: var(--color-bg-alt); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-lg); max-width: 600px; margin: 0 auto; box-shadow: var(--shadow-md); }
.tool-header { text-align: center; margin-bottom: var(--space-lg); }
.tool-header p { color: var(--color-text-light); font-size: 1rem; }
.calculator-form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }
.form-group { display: flex; flex-direction: column; gap: var(--space-xs); }
.form-group label { font-weight: 500; font-size: 0.9rem; color: var(--color-text-primary); }
.form-group input, .form-group select { padding: 0.875rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); font-size: 1rem; font-family: inherit; color: var(--color-text-primary); background: var(--color-bg); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.form-group input:focus, .form-group select:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-light); }
.form-group.full-width { grid-column: 1 / -1; }
.result-display { grid-column: 1 / -1; background: var(--color-primary-light); border: 1px solid var(--color-primary); border-radius: var(--radius-md); padding: var(--space-md); text-align: center; min-height: 100px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--space-xs); }
.result-value { font-size: 3rem; font-weight: 700; color: var(--color-primary); line-height: 1; }
.result-category { font-size: 1.1rem; font-weight: 500; color: var(--color-text-secondary); text-transform: capitalize; }
.result-details { font-size: 0.9rem; color: var(--color-text-light); max-width: 300px; }
.btn-calc { grid-column: 1 / -1; margin-top: var(--space-sm); }
/* --- Expert Insights / Blog --- */
.insights { background: var(--color-bg-alt); }
.insights-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-md); }
.article-card { background: var(--color-bg); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--color-border); transition: all var(--transition-base); display: flex; flex-direction: column; }
.article-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); border-color: transparent; }
.article-image { aspect-ratio: 16/10; overflow: hidden; background: var(--color-border); }
.article-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.article-card:hover .article-image img { transform: scale(1.05); }
.article-body { padding: var(--space-md); display: flex; flex-direction: column; flex-grow: 1; }
.article-meta { display: flex; gap: var(--space-sm); font-size: 0.8rem; color: var(--color-text-light); margin-bottom: var(--space-xs); flex-wrap: wrap; }
.article-category { background: var(--color-primary-light); color: var(--color-primary); padding: 2px 8px; border-radius: var(--radius-full); font-weight: 600; }
.article-body h3 { font-size: 1.15rem; line-height: 1.4; margin-bottom: var(--space-xs); }
.article-body h3 a { color: inherit; text-decoration: none; }
.article-body h3 a:hover { color: var(--color-primary); text-decoration: none; }
.article-excerpt { font-size: 0.95rem; color: var(--color-text-secondary); flex-grow: 1; margin-bottom: var(--space-md); }
.article-footer { display: flex; align-items: center; justify-content: space-between; padding-top: var(--space-sm); border-top: 1px solid var(--color-border); font-size: 0.85rem; color: var(--color-text-light); }
.author { display: flex; align-items: center; gap: var(--space-xs); }
.author img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
/* --- Testimonials --- */
.testimonials { background: var(--color-bg); }
.testimonials-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-md); }
.testimonial-card { background: var(--color-bg-alt); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-lg); position: relative; }
.testimonial-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--color-primary), var(--color-accent)); border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.testimonial-quote { font-size: 1.05rem; line-height: 1.8; color: var(--color-text-secondary); margin-bottom: var(--space-md); position: relative; }
.testimonial-quote::before { content: '“'; font-size: 4rem; color: var(--color-primary-light); position: absolute; top: -1.5rem; left: -0.5rem; font-family: Georgia, serif; line-height: 1; z-index: -1; }
.testimonial-author { display: flex; align-items: center; gap: var(--space-sm); }
.author-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 2px solid var(--color-primary-light); }
.author-info strong { display: block; color: var(--color-text-primary); font-size: 1rem; }
.author-info span { font-size: 0.85rem; color: var(--color-text-light); }
.rating { color: var(--color-accent); letter-spacing: 1px; font-size: 1.1rem; }
/* --- FAQ Accordion --- */
.faq { background: var(--color-bg-alt); }
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item { border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; margin-bottom: var(--space-sm); background: var(--color-bg); transition: box-shadow var(--transition-fast); }
.faq-item[open] { box-shadow: var(--shadow-md); border-color: var(--color-primary); }
.faq-summary { display: flex; justify-content: space-between; align-items: center; padding: var(--space-md) var(--space-lg); font-weight: 600; font-size: 1.05rem; color: var(--color-text-primary); cursor: pointer; list-style: none; }
.faq-summary::-webkit-details-marker { display: none; }
.faq-summary::after { content: ''; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5a5a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") center/contain no-repeat; transition: transform var(--transition-fast); flex-shrink: 0; margin-left: var(--space-md); }
.faq-item[open] .faq-summary::after { transform: rotate(180deg); }
.faq-content { padding: 0 var(--space-lg) var(--space-lg); color: var(--color-text-secondary); line-height: 1.8; border-top: 1px solid var(--color-border); animation: fadeIn 0.3s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
/* --- Footer --- */
.site-footer { background: var(--color-text-primary); color: rgba(255,255,255,0.7); padding: var(--space-xl) 0 var(--space-lg); }
.footer-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-lg); margin-bottom: var(--space-lg); }
.footer-brand { max-width: 300px; }
.footer-brand .logo { margin-bottom: var(--space-md); }
.footer-brand p { color: rgba(255,255,255,0.6); font-size: 0.95rem; margin-bottom: var(--space-md); }
.social-links { display: flex; gap: var(--space-sm); }
.social-links a { width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; color: #fff; transition: all var(--transition-fast); text-decoration: none; }
.social-links a:hover { background: var(--color-primary); color: #fff; transform: translateY(-2px); text-decoration: none; }
.social-links svg { width: 20px; height: 20px; }
.footer-nav { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-md); }
.footer-col h4 { color: #fff; font-size: 1rem; font-weight: 600; margin-bottom: var(--space-sm); }
.footer-col ul { display: flex; flex-direction: column; gap: var(--space-xs); }
.footer-col a { color: rgba(255,255,255,0.6); font-size: 0.9rem; text-decoration: none; transition: color var(--transition-fast); }
.footer-col a:hover { color: var(--color-accent); text-decoration: none; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: var(--space-lg); display: flex; flex-direction: column; align-items: center; gap: var(--space-sm); text-align: center; font-size: 0.875rem; color: rgba(255,255,255,0.5); }
.footer-bottom a { color: inherit; text-decoration: underline; }
.footer-bottom a:hover { color: #fff; }
/* --- Mobile Menu Overlay --- */
.mobile-menu-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 99; opacity: 0; visibility: hidden; transition: all var(--transition-base); display: flex; justify-content: flex-end; }
.mobile-menu-overlay.open { opacity: 1; visibility: visible; }
.mobile-menu-panel { width: 100%; max-width: 320px; background: var(--color-bg-alt); padding: var(--space-lg); display: flex; flex-direction: column; transform: translateX(100%); transition: transform var(--transition-base); box-shadow: var(--shadow-xl); }
.mobile-menu-overlay.open .mobile-menu-panel { transform: translateX(0); }
.mobile-menu-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-lg); padding-bottom: var(--space-md); border-bottom: 1px solid var(--color-border); }
.mobile-menu-close { padding: var(--space-xs); color: var(--color-text-secondary); }
.mobile-menu-close svg { width: 24px; height: 24px; }
.mobile-nav ul { display: flex; flex-direction: column; gap: var(--space-xs); }
.mobile-nav a { display: block; padding: var(--space-sm); font-size: 1.1rem; font-weight: 500; color: var(--color-text-primary); border-radius: var(--radius-md); }
.mobile-nav a:hover { background: var(--color-primary-light); color: var(--color-primary); text-decoration: none; }
.mobile-cta { margin-top: auto; padding-top: var(--space-lg); border-top: 1px solid var(--color-border); display: flex; flex-direction: column; gap: var(--space-sm); }
/* --- Responsive Breakpoints --- */
@media (min-width: 640px) {
.pillars-grid { grid-template-columns: repeat(2, 1fr); }
.insights-grid { grid-template-columns: repeat(2, 1fr); }
.testimonials-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
.hero-grid { grid-template-columns: 1.2fr 0.8fr; }
.hero-visual { order: -1; } /* Image left on tablet? No, usually content left. Let's keep content left. */
.calculator-form { grid-template-columns: repeat(2, 1fr); align-items: end; }
.btn-calc { grid-column: auto; margin-top: 0; }
.footer-nav { grid-template-columns: repeat(4, 1fr); }
.footer-bottom { flex-direction: row; justify-content: space-between; }
}
@media (min-width: 1024px) {
.main-nav { display: block; }
.mobile-menu-btn { display: none; }
.pillars-grid { grid-template-columns: repeat(3, 1fr); }
.insights-grid { grid-template-columns: repeat(3, 1fr); }
.testimonials-grid { grid-template-columns: repeat(3, 1fr); }
.hero-grid { grid-template-columns: 1fr 1fr; }
}
/* Focus Visible for Accessibility */
:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
</style>
</head>
<body>
<header class="site-header" role="banner">
<div class="container header-inner">
<a href="#" class="logo" aria-label="VitalCore Wellness Home">
<img src="https://placehold.co/40x40/007b7f/ffffff?text=VC&font=inter" alt="" aria-hidden="true">
<div class="logo-text">
<span class="logo-name">VitalCore Wellness</span>
<span class="logo-tagline">Integrated Health</span>
</div>
</a>
<nav class="main-nav" role="navigation" aria-label="Main navigation">
<ul>
<li><a href="#home" class="active" aria-current="page">Home</a></li>
<li><a href="#services">Fitness Classes</a></li>
<li><a href="#providers">Find Provider</a></li>
<li><a href="#nutrition">Nutrition Plans</a></li>
<li><a href="#resources">Patient Resources</a></li>
<li><a href="#blog">Wellness Blog</a></li>
<li><a href="#contact">Contact Us</a></li>
</ul>
</nav>
<div class="header-actions">
<a href="#contact" class="btn btn-primary" style="display: none;">Request Consultation</a>
<button class="mobile-menu-btn" aria-label="Open navigation menu" aria-expanded="false" aria-controls="mobile-menu" onclick="toggleMobileMenu()">
<svg id="menu-icon-open" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg>
<svg id="menu-icon-close" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display:none;"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
</button>
</div>
</div>
</header>
<!-- Mobile Menu Overlay -->
<div class="mobile-menu-overlay" id="mobile-menu" role="dialog" aria-modal="true" aria-label="Navigation menu">
<div class="mobile-menu-panel">
<div class="mobile-menu-header">
<span class="logo-name">VitalCore Wellness</span>
<button class="mobile-menu-close" aria-label="Close menu" onclick="toggleMobileMenu()">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
</button>
</div>
<nav class="mobile-nav" role="navigation">
<ul>
<li><a href="#home" onclick="toggleMobileMenu()">Home</a></li>
<li><a href="#services" onclick="toggleMobileMenu()">Fitness Classes</a></li>
<li><a href="#providers" onclick="toggleMobileMenu()">Find Provider</a></li>
<li><a href="#nutrition" onclick="toggleMobileMenu()">Nutrition Plans</a></li>
<li><a href="#resources" onclick="toggleMobileMenu()">Patient Resources</a></li>
<li><a href="#blog" onclick="toggleMobileMenu()">Wellness Blog</a></li>
<li><a href="#contact" onclick="toggleMobileMenu()">Contact Us</a></li>
</ul>
</nav>
<div class="mobile-cta">
<a href="#contact" class="btn btn-primary" onclick="toggleMobileMenu()">Request Consultation</a>
<a href="#bmi-tool" class="btn btn-secondary" onclick="toggleMobileMenu()">Calculate BMI</a>
</div>
</div>
</div>
<main id="main-content">
<!-- Hero Section -->
<section class="hero" id="home" aria-labelledby="hero-title">
<div class="container hero-grid">
<div class="hero-content">
<div class="hero-badge" aria-label="Trusted by patients">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
Trusted by 50,000+ Patients Nationwide
</div>
<h1 id="hero-title">Empowering Your Journey to <span style="color: var(--color-primary);">Optimal Health</span></h1>
<p class="lead">VitalCore Wellness integrates preventive medicine, evidence-based fitness programming, and clinical nutrition to help you achieve sustainable vitality. We treat the whole person, not just the symptoms.</p>
<div class="hero-ctas">
<a href="#contact" class="btn btn-primary">Request Consultation</a>
<a href="#bmi-tool" class="btn btn-secondary">Calculate Your BMI</a>
</div>
<div class="hero-stats" role="list" aria-label="Clinic Statistics">
<div class="stat-item" role="listitem">
<span class="stat-value">15+</span>
<span class="stat-label">Years Clinical Excellence</span>
</div>
<div class="stat-item" role="listitem">
<span class="stat-value">98%</span>
<span class="stat-label">Patient Satisfaction Rate</span>
</div>
<div class="stat-item" role="listitem">
<span class="stat-value">12</span>
<span class="stat-label">Board-Certified Specialists</span>
</div>
<div class="stat-item" role="listitem">
<span class="stat-value">24/7</span>
<span class="stat-label">Telehealth Access</span>
</div>
</div>
</div>
<div class="hero-visual" aria-hidden="true">
<img src="https://picsum.photos/seed/vitalcore-hero/800/600.jpg" alt="Diverse group of healthcare professionals collaborating with a patient in a modern, sunlit clinic setting" loading="eager">
</div>
</div>
</section>
<!-- Core Pillars / Services -->
<section class="section pillars" id="services" aria-labelledby="pillars-title">
<div class="container">
<header class="section-header">
<span class="tag">Our Core Pillars</span>
<h2 id="pillars-title">Comprehensive Wellness Services</h2>
<p>We address the interconnected pillars of health: movement, fuel, recovery, and medical oversight. Each program is designed by clinicians to optimize your metabolic rate and functional capacity.</p>
</header>
<div class="pillars-grid">
<!-- Pillar 1 -->
<article class="pillar-card">
<div class="pillar-icon" aria-hidden="true">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
</div>
<h3>Medically Supervised Fitness</h3>
<p>Our exercise physiologists collaborate with your care team to design periodized training programs. Whether managing hypertension, recovering from cardiac rehab, or optimizing VO2 max, we ensure safety through continuous biometric monitoring and lifestyle modification coaching.</p>
<a href="#fitness-detail" class="pillar-link">Explore Programs <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></a>
</article>
<!-- Pillar 2 -->
<article class="pillar-card">
<div class="pillar-icon" aria-hidden="true" style="background: #e8f5e9; color: var(--color-secondary);">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"></path><path d="M7 2v20"></path><path d="M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7"></path></svg>
</div>
<h3>Precision Nutrition Therapy</h3>
<p>Move beyond generic meal plans. Our registered dietitians utilize metabolic testing, micronutrient analysis, and genetic profiling to construct individualized nutrition protocols. We specialize in gut microbiome restoration, anti-inflammatory protocols, and performance fueling strategies.</p>
<a href="#nutrition-detail" class="pillar-link">View Methodology <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></a>
</article>
<!-- Pillar 3 -->
<article class="pillar-card">
<div class="pillar-icon" aria-hidden="true" style="background: #fff3e0; color: #e65100;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z"></path><path d="M12 6v6l4 2"></path></svg>
</div>
<h3>Recovery & Regenerative Medicine</h3>
<p>Accelerate healing and enhance resilience with our regenerative suite. Offerings include PRP therapy, IV micronutrient infusions, contrast hydrotherapy, and sleep architecture optimization. We target the root causes of chronic fatigue and systemic inflammation.</p>
<a href="#recovery-detail" class="pillar-link">Learn More <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></a>
</article>
</div>
</div>
</section>
<!-- Interactive BMI Calculator -->
<section class="section tools-section" id="bmi-tool" aria-labelledby="bmi-title">
<div class="container">
<div class="tool-card">
<header class="tool-header">
<h2 id="bmi-title">Body Composition Analyzer</h2>
<p>Calculate your Body Mass Index (BMI) and Basal Metabolic Rate (BMR) instantly. Understanding these metrics is the first step in calibrating your caloric intake and training intensity for body recomposition.</p>
</header>
<form class="calculator-form" id="bmi-form" novalidate>
<div class="form-group">
<label for="height">Height (cm)</label>
<input type="number" id="height" name="height" min="100" max="250" step="0.5" placeholder="e.g. 175" required aria-required="true">
</div>
<div class="form-group">
<label for="weight">Weight (kg)</label>
<input type="number" id="weight" name="weight" min="30" max="300" step="0.1" placeholder="e.g. 70" required aria-required="true">
</div>
<div class="form-group">
<label for="age">Age</label>
<input type="number" id="age" name="age" min="10" max="100" step="1" placeholder="e.g. 30" required aria-required="true">
</div>
<div class="form-group">
<label for="sex">Biological Sex</label>
<select id="sex" name="sex" required aria-required="true">
<option value="">Select...</option>
<option value="male">Male</option>
<option value="female">Female</option>
</select>
</div>
<div class="form-group full-width">
<label for="activity">Activity Level</label>
<select id="activity" name="activity" required aria-required="true">
<option value="">Select...</option>
<option value="1.2">Sedentary (Little or no exercise)</option>
<option value="1.375">Lightly Active (Light exercise 1-3 days/week)</option>
<option value="1.55">Moderately Active (Moderate exercise 3-5 days/week)</option>
<option value="1.725">Very Active (Hard exercise 6-7 days/week)</option>
<option value="1.9">Extra Active (Very hard exercise, physical job)</option>
</select>
</div>
<button type="submit" class="btn btn-primary btn-calc">Calculate Metrics</button>
<div class="result-display" id="bmi-result" aria-live="polite" hidden>
<div class="result-value" id="bmi-value">--</div>
<div class="result-category" id="bmi-category">--</div>
<div class="result-details" id="bmi-details">Your estimated daily caloric need (TDEE) is <strong id="tdee-value">--</strong> kcal.</div>
</div>
</form>
</div>
</div>
</section>
<!-- Expert Insights / Blog -->
<section class="section insights" id="blog" aria-labelledby="insights-title">
<div class="container">
<header class="section-header">
<span class="tag">Latest Research & Insights</span>
<h2 id="insights-title">From Our Clinical Team</h2>
<p>Evidence-based articles on metabolic health, injury prevention, and nutritional science written by our board-certified physicians and fellows.</p>
</header>
<div class="insights-grid">
<!-- Article 1 -->
<article class="article-card">
<div class="article-image">
<img src="https://picsum.photos/seed/metabolic-health/600/400.jpg" alt="Illustration of metabolic pathways and glucose monitoring" loading="lazy">
</div>
<div class="article-body">
<div class="article-meta">
<span class="article-category">Metabolic Health</span>
<time datetime="2024-05-15">May 15, 2024</time>
<span>8 min read</span>
</div>
<h3><a href="#">Reversing Insulin Resistance: A Clinical Protocol for Lifestyle Modification</a></h3>
<p class="article-excerpt">Exploring the pathophysiology of metabolic syndrome and the efficacy of time-restricted eating combined with resistance training on HOMA-IR scores.</p>
<div class="article-footer">
<div class="author">
<img src="https://i.pravatar.cc/100?u=dr-sarah-chen" alt="Dr. Sarah Chen" loading="lazy">
<span>Dr. Sarah Chen, MD</span>
</div>
</div>
</div>
</article>
<!-- Article 2 -->
<article class="article-card">
<div class="article-image">
<img src="https://picsum.photos/seed/injury-prevention/600/400.jpg" alt="Athlete performing mobility drills under supervision" loading="lazy">
</div>
<div class="article-body">
<div class="article-meta">
<span class="article-category">Sports Medicine</span>
<time datetime="2024-05-08">May 8, 2024</time>
<span>6 min read</span>
</div>
<h3><a href="#">The ACL Prevention Blueprint: Neuromuscular Training for Rotational Athletes</a></h3>
<p class="article-excerpt">A deep dive into the FIFA 11+ protocol adaptations and force plate analysis for identifying valgus collapse risk factors in pre-season screening.</p>
<div class="article-footer">
<div class="author">
<img src="https://i.pravatar.cc/100?u=dr-james-ortiz" alt="Dr. James Ortiz" loading="lazy">
<span>Dr. James Ortiz, DPT</span>
</div>
</div>
</div>
</article>
<!-- Article 3 -->
<article class="article-card">
<div class="article-image">
<img src="https://picsum.photos/seed/nutrition-science/600/400.jpg" alt="Colorful whole foods arranged for macro-nutrient balance" loading="lazy">
</div>
<div class="article-body">
<div class="article-meta">
<span class="article-category">Nutrition Science</span>
<time datetime="2024-05-01">May 1, 2024</time>
<span>10 min read</span>
</div>
<h3><a href="#">Micronutrient Synergy: Optimizing Absorption for Plant-Based Athletes</a></h3>
<p class="article-excerpt">Addressing bioavailability challenges of iron, zinc, and B12. Practical food-pairing strategies and supplementation timing for endurance performance.</p>
<div class="article-footer">
<div class="author">
<img src="https://i.pravatar.cc/100?u=rdn-maria-g" alt="Maria Gonzalez, RDN" loading="lazy">
<span>Maria Gonzalez, RDN</span>
</div>
</div>
</div>
</article>
</div>
<div style="text-align: center; margin-top: var(--space-lg);">
<a href="#blog-archive" class="btn btn-secondary">View All Articles</a>
</div>
</div>
</section>
<!-- Testimonials -->
<section class="section testimonials" aria-labelledby="testimonials-title">
<div class="container">
<header class="section-header">
<span class="tag">Patient Outcomes</span>
<h2 id="testimonials-title">Real Results, Real Lives Changed</h2>
<p>Our success is measured by the sustainable health transformations of our community. Read how integrated care changed their trajectory.</p>
</header>
<div class="testimonials-grid">
<blockquote class="testimonial-card">
<p class="testimonial-quote">"After 15 years of yo-yo dieting and joint pain, the VitalCore team identified my systemic inflammation markers. The combined anti-inflammatory nutrition plan and low-impact strength program dropped my CRP levels by 60% in six months. I'm off two medications."</p>
<div class="testimonial-author">
<div class="rating" aria-label="5 out of 5 stars">★★★★★</div>
<div class="author-info">
<strong>Michael R., 52</strong>
<span>Executive / Cardiac Risk Reduction</span>
</div>
</div>
</blockquote>
<blockquote class="testimonial-card">
<p class="testimonial-quote">"As a collegiate runner, I struggled with recurrent stress fractures. The DEXA scan and RMR testing revealed severe under-fueling. The nutrition team corrected my energy availability, and I just ran a 5k PR pain-free. The sports med integration is unmatched."</p>
<div class="testimonial-author">
<div class="rating" aria-label="5 out of 5 stars">★★★★★</div>
<div class="author-info">
<strong>Sarah K., 21</strong>
<span>NCAA Division I Athlete</span>
</div>
</div>
</blockquote>
<blockquote class="testimonial-card">
<p class="testimonial-quote">"The telehealth follow-ups made managing my Type 2 diabetes feasible with my travel schedule. My endocrinologist adjusted my medication based on CGM data remotely, and the health coach kept me accountable. My A1c dropped from 8.2 to 6.1."</p>
<div class="testimonial-author">
<div class="rating" aria-label="5 out of 5 stars">★★★★★</div>
<div class="author-info">
<strong>David L., 45</strong>
<span>Management Consultant</span>
</div>
</div>
</blockquote>
</div>
</div>
</section>
<!-- FAQ Accordion -->
<section class="section faq" id="faq" aria-labelledby="faq-title">
<div class="container">
<header class="section-header">
<span class="tag">Common Questions</span>
<h2 id="faq-title">Frequently Asked Questions</h2>
<p>Transparent answers about our methodology, insurance coordination, and what to expect during your wellness journey.</p>
</header>
<div class="faq-list">
<details class="faq-item">
<summary class="faq-summary">Do you accept insurance for preventive wellness visits?</summary>
<div class="faq-content">
<p>Yes. We are in-network with most major PPO providers (Blue Cross, Aetna, Cigna, UnitedHealthcare) for preventive services, chronic disease management, and medical nutrition therapy (MNT). Coverage for advanced metabolic testing or regenerative therapies varies by plan. Our billing department provides a complimentary benefit verification prior to your initial consultation so you know your exact out-of-pocket responsibility.</p>
</div>
</details>
<details class="faq-item">
<summary class="faq-summary">What is the difference between a 'Wellness Plan' and standard primary care?</summary>
<div class="faq-content">
<p>Standard primary care focuses on acute illness management and disease screening. Our Wellness Plans are proactive, longitudinal programs. They include: quarterly advanced biomarker panels (apoB, hs-CRP, insulin, hormones), body composition analysis (DEXA/BIA), VO2 max testing, personalized periodized exercise prescriptions delivered via our app, and monthly check-ins with your dedicated care coordinator. It is 'Healthcare' vs 'Sick-care'.</p>
</div>
</details>
<details class="faq-item">
<summary class="faq-summary">Can I join fitness classes if I have a pre-existing condition (e.g., hypertension, osteoporosis)?</summary>
<div class="faq-content">
<p>Absolutely. This is our specialty. All group classes are stratified by medical complexity (Level 1: Medical Clearance Required, Level 2: Supervised, Level 3: Open). Before entering any class, you complete a comprehensive musculoskeletal and cardiovascular screening. Our clinical exercise physiologists modify load, range of motion, and intensity in real-time. We frequently manage patients with controlled heart failure, post-surgical spines, and autoimmune arthritis.</p>
</div>
</details>
<details class="faq-item">
<summary class="faq-summary">How does the 'Find Provider' matching algorithm work?</summary>
<div class="faq-content">
<p>Our proprietary matching engine weighs 14 variables: clinical specialty (e.g., Sports Cardiology vs. Functional Medicine), therapeutic philosophy (aggressive vs. conservative), communication style, scheduling availability, language proficiency, and patient-reported outcome scores from similar demographics. You complete a 5-minute intake questionnaire, and we present the top 3 matched providers with video bios. You choose your fit.</p>
</div>
</details>
<details class="faq-item">
<summary class="faq-summary">What technology platform do you use for remote patient monitoring?</summary>
<div class="faq-content">
<p>We utilize a HIPAA-compliant, FHIR-integrated platform that syncs with Apple Health, Google Fit, Garmin, Withings, and Dexcom/Glooko. This allows your care team to visualize trends in HRV, sleep stages, glucose variability, and activity adherence between visits. Alerts are triggered for actionable deviations (e.g., resting HR >10bpm baseline, fasting glucose >130mg/dL), prompting proactive outreach.</p>
</div>
</details>
</div>
</div>
</section>
<!-- CTA Banner -->
<section class="section" style="background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%); color: white; text-align: center;" aria-labelledby="cta-title">
<div class="container">
<h2 id="cta-title" style="color: white;">Ready to Optimize Your Healthspan?</h2>
<p class="lead" style="color: rgba(255,255,255,0.9); max-width: 700px; margin: 0 auto var(--space-lg);">Join the thousands who have moved from reactive treatment to proactive vitality. Schedule your comprehensive baseline assessment today.</p>
<a href="#contact" class="btn btn-accent" style="font-size: 1.1rem; padding: 1rem 2.5rem;">Start My Assessment</a>
</div>
</section>
</main>
<footer class="site-footer" role="contentinfo">
<div class="container">
<div class="footer-grid">
<div class="footer-brand">
<a href="#" class="logo" aria-label="VitalCore Wellness Home">
<img src="https://placehold.co/40x40/007b7f/ffffff?text=VC&font=inter" alt="" aria-hidden="true">
<div class="logo-text">
<span class="logo-name" style="color: white;">VitalCore Wellness</span>
<span class="logo-tagline">Integrated Health</span>
</div>
</a>
<p>Redefining the standard of care through the integration of clinical medicine, exercise physiology, and nutritional science. Your partner in longevity.</p>
<div class="social-links" role="list" aria-label="Social media links">
<a href="#" aria-label="Follow us on Instagram" role="listitem"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg></a>
<a href="#" aria-label="Follow us on LinkedIn" role="listitem"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg></a>
<a href="#" aria-label="Follow us on YouTube" role="listitem"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.44 24.07 24.07 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.44 24.07 24.07 0 0 1-16.2 0A2 2 0 0 1 2.5 17z"></path><path d="m10 15 5-3-5-3z"></path></svg></a>
<a href="#" aria-label="Follow us on Twitter" role="listitem"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"></path></svg></a>
</div>
</div>
<nav class="footer-nav" aria-label="Footer navigation">
<div class="footer-col">
<h4>Clinical Services</h4>
<ul>
<li><a href="#services">Medically Supervised Fitness</a></li>
<li><a href="#nutrition">Precision Nutrition Therapy</a></li>
<li><a href="#recovery">Regenerative Medicine</a></li>
<li><a href="#providers">Find a Specialist</a></li>
<li><a href="#">Corporate Wellness</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Patient Resources</h4>
<ul>
<li><a href="#">Patient Portal Login</a></li>
<li><a href="#">Insurance & Billing</a></li>
<li><a href="#">New Patient Forms</a></li>
<li><a href="#">Telehealth Guide</a></li>
<li><a href="#">Medical Records Request</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Education</h4>
<ul>
<li><a href="#blog">Wellness Blog</a></li>
<li><a href="#">Research Library</a></li>
<li><a href="#">Webinars & Workshops</a></li>
<li><a href="#">Provider Referrals</a></li>
<li><a href="#">Careers</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Contact Info</h4>
<ul>
<li><a href="tel:+18005550199">(800) 555-0199</a></li>
<li><a href="mailto:care@vitalcorewellness.com">care@vitalcorewellness.com</a></li>
<li><address style="font-style: normal; color: rgba(255,255,255,0.6); line-height: 1.6;">1200 Vitality Blvd, Suite 400<br>San Diego, CA 92101</address></li>
</ul>
</div>
</nav>
</div>
<div class="footer-bottom">
<p>© 2024 VitalCore Wellness. All rights reserved.</p>
<div style="display: flex; gap: var(--space-md);">
<a href="#">Privacy Policy</a>
<a href="#">Terms of Service</a>
<a href="#">HIPAA Notice</a>
<a href="#">Accessibility Statement</a>
</div>
</div>
</div>
</footer>
<script>
// Mobile Menu Toggle
function toggleMobileMenu() {
const overlay = document.getElementById('mobile-menu');
const btn = document.querySelector('.mobile-menu-btn');
const isOpen = overlay.classList.toggle('open');
btn.setAttribute('aria-expanded', isOpen);
document.getElementById('menu-icon-open').style.display = isOpen ? 'none' : 'block';
document.getElementById('menu-icon-close').style.display = isOpen ? 'block' : 'none';
// Trap focus (simple version)
if (isOpen) {
overlay.querySelector('.mobile-menu-close').focus();
}
}
// Close mobile menu on escape key
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
const overlay = document.getElementById('mobile-menu');
if (overlay.classList.contains('open')) toggleMobileMenu();
}
});
// BMI Calculator Logic
const form = document.getElementById('bmi-form');
const resultDiv = document.getElementById('bmi-result');
const bmiValue = document.getElementById('bmi-value');
const bmiCategory = document.getElementById('bmi-category');
const bmiDetails = document.getElementById('bmi-details');
const tdeeValue = document.getElementById('tdee-value');
form.addEventListener('submit', (e) => {
e.preventDefault();
const height = parseFloat(document.getElementById('height').value); // cm
const weight = parseFloat(document.getElementById('weight').value); // kg
const age = parseInt(document.getElementById('age').value);
const sex = document.getElementById('sex').value;
const activity = parseFloat(document.getElementById('activity').value);
if (!height || !weight || !age || !sex || !activity) {
alert('Please fill in all fields.');
return;
}
// BMI Calculation
const heightM = height / 100;
const bmi = weight / (heightM * heightM);
// BMR Calculation (Mifflin-St Jeor)
let bmr;
if (sex === 'male') {
bmr = (10 * weight) + (6.25 * height) - (5 * age) + 5;
} else {
bmr = (10 * weight) + (6.25 * height) - (5 * age) - 161;
}
// TDEE
const tdee = Math.round(bmr * activity);
// Category
let category = '';
let categoryColor = '';
if (bmi < 18.5) { category = 'Underweight'; categoryColor = '#3b82f6'; }
else if (bmi < 25) { category = 'Normal Weight'; categoryColor = 'var(--color-success)'; }
else if (bmi < 30) { category = 'Overweight'; categoryColor = 'var(--color-accent)'; }
else { category = 'Obesity'; categoryColor = 'var(--color-error)'; }
// Update UI
bmiValue.textContent = bmi.toFixed(1);
bmiValue.style.color = categoryColor;
bmiCategory.textContent = category;
bmiCategory.style.color = categoryColor;
tdeeValue.textContent = tdee.toLocaleString();
let detailText = `Your Basal Metabolic Rate (BMR) is approximately <strong>${Math.round(bmr)} kcal/day</strong>. `;
detailText += `With your activity level, your Total Daily Energy Expenditure (TDEE) is <strong>${tdee.toLocaleString()} kcal/day</strong>. `;
if (bmi < 18.5) detailText += 'Consider a caloric surplus with resistance training to build lean mass.';
else if (bmi < 25) detailText += 'Maintain current intake relative to activity for weight stability.';
else if (bmi < 30) detailText += 'A moderate deficit of 300-500 kcal/day combined with resistance training improves body composition.';
else detailText += 'A structured medical weight management plan is recommended to reduce cardiometabolic risk.';
bmiDetails.innerHTML = detailText;
resultDiv.hidden = false;
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
});
// Smooth scroll for anchor links (fallback for browsers without scroll-behavior support)
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
const targetId = this.getAttribute('href');
if (targetId === '#') return;
const target = document.querySelector(targetId);
if (target) {
e.preventDefault();
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
// Update URL without scroll jump
history.pushState(null, null, targetId);
}
});
});
</script>
</body>
</html>
View Axe Report (JSON)
{
"testEngine": {
"name": "axe-core",
"version": "4.10.2"
},
"testRunner": {
"name": "axe"
},
"testEnvironment": {
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
"windowWidth": 1280,
"windowHeight": 720,
"orientationAngle": 0,
"orientationType": "landscape-primary"
},
"timestamp": "2026-11-12T09:42:39.646Z",
"url": "https://benchmark.aimac.invalid/237fa44347d67fc9a9a8a1137f0c621b47009e7dbe2a836e601092f378a049a3.html",
"toolOptions": {
"runOnly": {
"type": "tag",
"values": [
"wcag2a",
"wcag2aa",
"wcag21a",
"wcag21aa",
"wcag22a",
"wcag22aa"
]
},
"resultTypes": [
"violations"
],
"reporter": "v1"
},
"inapplicable": [
{
"id": "area-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag244",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.2.4.4",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <area> elements of image maps have alternative text",
"help": "Active <area> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
"nodes": []
},
{
"id": "aria-braille-equivalent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
"help": "aria-braille attributes must have a non-braille equivalent",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
"nodes": []
},
{
"id": "aria-command-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA button, link and menuitem has an accessible name",
"help": "ARIA commands must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-input-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA input field has an accessible name",
"help": "ARIA input fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-meter-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA meter node has an accessible name",
"help": "ARIA meter nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-progressbar-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA progressbar node has an accessible name",
"help": "ARIA progressbar nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-toggle-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA toggle field has an accessible name",
"help": "ARIA toggle fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-tooltip-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every ARIA tooltip node has an accessible name",
"help": "ARIA tooltip nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
"nodes": []
},
{
"id": "autocomplete-valid",
"impact": null,
"tags": [
"cat.forms",
"wcag21aa",
"wcag135",
"EN-301-549",
"EN-9.1.3.5",
"ACT"
],
"description": "Ensure the autocomplete attribute is correct and suitable for the form field",
"help": "autocomplete attribute must be used correctly",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
"nodes": []
},
{
"id": "blink",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag222",
"section508",
"section508.22.j",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <blink> elements are not used",
"help": "<blink> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
"nodes": []
},
{
"id": "definition-list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dl> elements are structured correctly",
"help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
"nodes": []
},
{
"id": "dlitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dt> and <dd> elements are contained by a <dl>",
"help": "<dt> and <dd> elements must be contained by a <dl>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
"nodes": []
},
{
"id": "frame-focusable-content",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
"help": "Frames with focusable content must not have tabindex=-1",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
"nodes": []
},
{
"id": "frame-title-unique",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
"help": "Frames must have a unique title attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
"nodes": []
},
{
"id": "frame-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"section508",
"section508.22.i",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements have an accessible name",
"help": "Frames must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
"nodes": []
},
{
"id": "html-xml-lang-mismatch",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
"help": "HTML elements with lang and xml:lang must have the same base language",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
"nodes": []
},
{
"id": "input-button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure input buttons have discernible text",
"help": "Input buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
"nodes": []
},
{
"id": "input-image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <input type=\"image\"> elements have alternative text",
"help": "Image buttons must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
"nodes": []
},
{
"id": "marquee",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag222",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <marquee> elements are not used",
"help": "<marquee> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
"nodes": []
},
{
"id": "meta-refresh",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag221",
"TTv5",
"TT8.a",
"EN-301-549",
"EN-9.2.2.1"
],
"description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
"help": "Delayed refresh under 20 hours must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
"nodes": []
},
{
"id": "object-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure <object> elements have alternative text",
"help": "<object> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
"nodes": []
},
{
"id": "role-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure [role=\"img\"] elements have alternative text",
"help": "[role=\"img\"] elements must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "scrollable-region-focusable",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"wcag213",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1",
"EN-9.2.1.3"
],
"description": "Ensure elements that have scrollable content are accessible by keyboard",
"help": "Scrollable region must have keyboard access",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
"nodes": []
},
{
"id": "server-side-image-map",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag211",
"section508",
"section508.22.f",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure that server-side image maps are not used",
"help": "Server-side image maps must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
"nodes": []
},
{
"id": "svg-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
"help": "<svg> elements with an img role must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "td-headers-attr",
"impact": null,
"tags": [
"cat.tables",
"wcag2a",
"wcag131",
"section508",
"section508.22.g",
"TTv5",
"TT14.b",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
"help": "Table cells that use the headers attribute must only refer to cells in the same table",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
"nodes": []
},
{
"id": "th-has-data-cells",
"impact": null,
"tags": [
"cat.tables",
"wcag2a",
"wcag131",
"section508",
"section508.22.g",
"TTv5",
"TT14.b",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
"help": "Table headers in a data table must refer to data cells",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
"nodes": []
},
{
"id": "valid-lang",
"impact": null,
"tags": [
"cat.language",
"wcag2aa",
"wcag312",
"TTv5",
"TT11.b",
"EN-301-549",
"EN-9.3.1.2",
"ACT"
],
"description": "Ensure lang attributes have valid values",
"help": "lang attribute must have a valid value",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
"nodes": []
},
{
"id": "video-caption",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag122",
"section508",
"section508.22.a",
"TTv5",
"TT17.a",
"EN-301-549",
"EN-9.1.2.2"
],
"description": "Ensure <video> elements have captions",
"help": "<video> elements must have captions",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
"nodes": []
},
{
"id": "no-autoplay-audio",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag142",
"TTv5",
"TT2.a",
"EN-301-549",
"EN-9.1.4.2",
"ACT"
],
"description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
"help": "<video> or <audio> elements must not play automatically",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
"nodes": []
}
],
"passes": [
{
"id": "aria-allowed-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure an element's role supports its ARIA attributes",
"help": "Elements must only use supported ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "aria-allowed-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attributes are used correctly for the defined role"
}
],
"none": [
{
"id": "aria-unsupported-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attribute is supported"
}
],
"impact": null,
"html": "<a href=\"#\" class=\"logo\" aria-label=\"VitalCore Wellness Home\">",
"target": [
".header-inner > .logo[aria-label=\"VitalCore Wellness Home\"][href=\"#\"]"
]
}
]
},
{
"id": "aria-conditional-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure ARIA attributes are used as described in the specification of the element's role",
"help": "ARIA attributes must be used as specified for the element's role",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "aria-conditional-attr",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "ARIA attribute is allowed"
}
],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"logo\" aria-label=\"VitalCore Wellness Home\">",
"target": [
".header-inner > .logo[aria-label=\"VitalCore Wellness Home\"][href=\"#\"]"
]
}
]
},
{
"id": "aria-deprecated-role",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements do not use deprecated roles",
"help": "Deprecated ARIA roles must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "deprecatedrole",
"data": null,
"relatedNodes": [],
"impact": "minor",
"message": "ARIA role is not deprecated"
}
],
"impact": null,
"html": "<header class=\"site-header\" role=\"banner\">",
"target": [
".site-header"
]
}
]
},
{
"id": "aria-hidden-body",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"wcag412",
"EN-301-549",
"EN-9.1.3.1",
"EN-9.4.1.2"
],
"description": "Ensure aria-hidden=\"true\" is not present on the document body.",
"help": "aria-hidden=\"true\" must not be present on the document body",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "aria-hidden-body",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "No aria-hidden attribute is present on document body"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<body>",
"target": [
"body"
]
}
]
},
{
"id": "aria-hidden-focus",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
"help": "ARIA hidden element must not be focusable or contain focusable elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "focusable-modal-open",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "No focusable elements while a modal is open"
},
{
"id": "focusable-disabled",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "No focusable elements contained within element"
},
{
"id": "focusable-not-tabbable",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "No focusable elements contained within element"
}
],
"none": [],
"impact": null,
"html": "<img src=\"https://placehold.co/40x40/007b7f/ffffff?text=VC&font=inter\" alt=\"\" aria-hidden=\"true\">",
"target": [
".header-inner > .logo[aria-label=\"VitalCore Wellness Home\"][href=\"#\"] > img[alt=\"\"][aria-hidden=\"true\"]"
]
}
]
},
{
"id": "aria-prohibited-attr",
"impact": "serious",
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure ARIA attributes are not prohibited for an element's role",
"help": "Elements must only use permitted ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "aria-prohibited-attr",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "ARIA attribute is allowed"
}
],
"impact": null,
"html": "<a href=\"#\" class=\"logo\" aria-label=\"VitalCore Wellness Home\">",
"target": [
".header-inner > .logo[aria-label=\"VitalCore Wellness Home\"][href=\"#\"]"
]
}
]
},
{
"id": "aria-required-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements with ARIA roles have all required ARIA attributes",
"help": "Required ARIA attributes must be provided",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "aria-required-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "All required ARIA attributes are present"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<header class=\"site-header\" role=\"banner\">",
"target": [
".site-header"
]
}
]
},
{
"id": "aria-required-children",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require child roles contain them",
"help": "Certain ARIA roles must contain particular children",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-children?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "aria-required-children",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Required ARIA children are present"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<div class=\"hero-stats\" role=\"list\" aria-label=\"Clinic Statistics\">",
"target": [
".hero-stats"
]
}
]
},
{
"id": "aria-required-parent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require parent roles are contained by them",
"help": "Certain ARIA roles must be contained by particular parents",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "aria-required-parent",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Required ARIA parent role present"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<div class=\"stat-item\" role=\"listitem\">\n <span class=\"stat-value\">15+</span>\n <span class=\"stat-label\">Years Clinical Excellence</span>\n </div>",
"target": [
".stat-item[role=\"listitem\"]:nth-child(1)"
]
}
]
},
{
"id": "aria-roles",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure all elements with a role attribute use a valid value",
"help": "ARIA roles used must conform to valid values",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "invalidrole",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA role is valid"
},
{
"id": "abstractrole",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Abstract roles are not used"
},
{
"id": "unsupportedrole",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA role is supported"
}
],
"impact": null,
"html": "<header class=\"site-header\" role=\"banner\">",
"target": [
".site-header"
]
}
]
},
{
"id": "aria-valid-attr-value",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure all ARIA attributes have valid values",
"help": "ARIA attributes must conform to valid values",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "aria-valid-attr-value",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attribute values are valid"
},
{
"id": "aria-errormessage",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique"
},
{
"id": "aria-level",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-level values are valid"
}
],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"logo\" aria-label=\"VitalCore Wellness Home\">",
"target": [
".header-inner > .logo[aria-label=\"VitalCore Wellness Home\"][href=\"#\"]"
]
}
]
},
{
"id": "aria-valid-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure attributes that begin with aria- are valid ARIA attributes",
"help": "ARIA attributes must conform to valid names",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "aria-valid-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attribute name is valid"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"logo\" aria-label=\"VitalCore Wellness Home\">",
"target": [
".header-inner > .logo[aria-label=\"VitalCore Wellness Home\"][href=\"#\"]"
]
}
]
},
{
"id": "avoid-inline-spacing",
"impact": null,
"tags": [
"cat.structure",
"wcag21aa",
"wcag1412",
"EN-301-549",
"EN-9.1.4.12",
"ACT"
],
"description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets",
"help": "Inline text spacing must be adjustable with custom stylesheets",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/avoid-inline-spacing?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "important-letter-spacing",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Letter-spacing in the style attribute is not set to !important, or meets the minimum"
},
{
"id": "important-word-spacing",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "word-spacing in the style attribute is not set to !important, or meets the minimum"
},
{
"id": "important-line-height",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "line-height in the style attribute is not set to !important, or meets the minimum"
}
],
"none": [],
"impact": null,
"html": "<span style=\"color: var(--color-primary);\">Optimal Health</span>",
"target": [
"#hero-title > span"
]
}
]
},
{
"id": "button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure buttons have discernible text",
"help": "Buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "button-has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has inner text that is visible to screen readers"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<button type=\"submit\" class=\"btn btn-primary btn-calc\">Calculate Metrics</button>",
"target": [
".btn-calc"
]
}
]
},
{
"id": "bypass",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag241",
"section508",
"section508.22.o",
"TTv5",
"TT9.a",
"EN-301-549",
"EN-9.2.4.1"
],
"description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
"help": "Page must have means to bypass repeated blocks",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/bypass?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "internal-link-present",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Valid skip link found"
},
{
"id": "header-present",
"data": null,
"relatedNodes": [
{
"html": "<h1 id=\"hero-title\">Empowering Your Journey to <span style=\"color: var(--color-primary);\">Optimal Health</span></h1>",
"target": [
"#hero-title"
]
},
{
"html": "<h2 id=\"pillars-title\">Comprehensive Wellness Services</h2>",
"target": [
"#pillars-title"
]
},
{
"html": "<h3>Medically Supervised Fitness</h3>",
"target": [
".pillar-card:nth-child(1) > h3"
]
},
{
"html": "<h3>Precision Nutrition Therapy</h3>",
"target": [
".pillar-card:nth-child(2) > h3"
]
},
{
"html": "<h3>Recovery & Regenerative Medicine</h3>",
"target": [
".pillar-card:nth-child(3) > h3"
]
},
{
"html": "<h2 id=\"bmi-title\">Body Composition Analyzer</h2>",
"target": [
"#bmi-title"
]
},
{
"html": "<h2 id=\"insights-title\">From Our Clinical Team</h2>",
"target": [
"#insights-title"
]
},
{
"html": "<h3><a href=\"#\">Reversing Insulin Resistance: A Clinical Protocol for Lifestyle Modification</a></h3>",
"target": [
".article-card:nth-child(1) > .article-body > h3"
]
},
{
"html": "<h3><a href=\"#\">The ACL Prevention Blueprint: Neuromuscular Training for Rotational Athletes</a></h3>",
"target": [
".article-card:nth-child(2) > .article-body > h3"
]
},
{
"html": "<h3><a href=\"#\">Micronutrient Synergy: Optimizing Absorption for Plant-Based Athletes</a></h3>",
"target": [
".article-card:nth-child(3) > .article-body > h3"
]
},
{
"html": "<h2 id=\"testimonials-title\">Real Results, Real Lives Changed</h2>",
"target": [
"#testimonials-title"
]
},
{
"html": "<h2 id=\"faq-title\">Frequently Asked Questions</h2>",
"target": [
"#faq-title"
]
},
{
"html": "<h2 id=\"cta-title\" style=\"color: white;\">Ready to Optimize Your Healthspan?</h2>",
"target": [
"#cta-title"
]
},
{
"html": "<h4>Clinical Services</h4>",
"target": [
".footer-col:nth-child(1) > h4"
]
},
{
"html": "<h4>Patient Resources</h4>",
"target": [
".footer-col:nth-child(2) > h4"
]
},
{
"html": "<h4>Education</h4>",
"target": [
".footer-col:nth-child(3) > h4"
]
},
{
"html": "<h4>Contact Info</h4>",
"target": [
".footer-col:nth-child(4) > h4"
]
}
],
"impact": "serious",
"message": "Page has a heading"
},
{
"id": "landmark",
"data": null,
"relatedNodes": [
{
"html": "<main id=\"main-content\">",
"target": [
"#main-content"
]
}
],
"impact": "serious",
"message": "Page has a landmark region"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1a2a2a",
"bgColor": "#ffffff",
"contrastRatio": 14.9,
"fontSize": "15.0pt (20px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 14.9"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<span class=\"logo-name\">VitalCore Wellness</span>",
"target": [
".header-inner > .logo[aria-label=\"VitalCore Wellness Home\"][href=\"#\"] > .logo-text > .logo-name"
]
}
]
},
{
"id": "document-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"TTv5",
"TT12.a",
"EN-301-549",
"EN-9.2.4.2",
"ACT"
],
"description": "Ensure each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document has a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "duplicate-id-aria",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
"help": "IDs used in ARIA and labels must be unique",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "duplicate-id-aria",
"data": "mobile-menu",
"relatedNodes": [],
"impact": "critical",
"message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<div class=\"mobile-menu-overlay\" id=\"mobile-menu\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Navigation menu\">",
"target": [
"#mobile-menu"
]
}
]
},
{
"id": "form-field-multiple-labels",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag332",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.3.3.2"
],
"description": "Ensure form field does not have multiple label elements",
"help": "Form field must not have multiple label elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "multiple-label",
"data": null,
"relatedNodes": [
{
"html": "<label for=\"height\">Height (cm)</label>",
"target": [
"label[for=\"height\"]"
]
}
],
"impact": "moderate",
"message": "Form field does not have multiple label elements"
}
],
"impact": null,
"html": "<input type=\"number\" id=\"height\" name=\"height\" min=\"100\" max=\"250\" step=\"0.5\" placeholder=\"e.g. 175\" required=\"\" aria-required=\"true\">",
"target": [
"#height"
]
}
]
},
{
"id": "html-has-lang",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure every HTML document has a lang attribute",
"help": "<html> element must have a lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "The <html> element has a lang attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "html-lang-valid",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure the lang attribute of the <html> element has a valid value",
"help": "<html> element must have a valid value for the lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "valid-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Value of lang attribute is included in the list of valid languages"
}
],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"TT7.b",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <img> elements have alternative text or a role of none or presentation",
"help": "Images must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-alt",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has an alt attribute"
}
],
"all": [],
"none": [
{
"id": "alt-space-value",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has a valid alt attribute value"
}
],
"impact": null,
"html": "<img src=\"https://picsum.photos/seed/metabolic-health/600/400.jpg\" alt=\"Illustration of metabolic pathways and glucose monitoring\" loading=\"lazy\">",
"target": [
".article-card:nth-child(1) > .article-image > img[loading=\"lazy\"]"
]
}
]
},
{
"id": "label",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every form element has a label",
"help": "Form elements must have labels",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "explicit-label",
"data": {
"explicitLabel": "Height (cm)"
},
"relatedNodes": [
{
"html": "<label for=\"height\">Height (cm)</label>",
"target": [
"label[for=\"height\"]"
]
}
],
"impact": "critical",
"message": "Element has an explicit <label>"
},
{
"id": "non-empty-placeholder",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has a placeholder attribute"
}
],
"all": [],
"none": [
{
"id": "hidden-explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Form element has a visible explicit <label>"
}
],
"impact": null,
"html": "<input type=\"number\" id=\"height\" name=\"height\" min=\"100\" max=\"250\" step=\"0.5\" placeholder=\"e.g. 175\" required=\"\" aria-required=\"true\">",
"target": [
"#height"
]
}
]
},
{
"id": "link-in-text-block",
"impact": null,
"tags": [
"cat.color",
"wcag2a",
"wcag141",
"TTv5",
"TT13.a",
"EN-301-549",
"EN-9.1.4.1"
],
"description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
"help": "Links must be distinguishable without relying on color",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "link-in-text-block-style",
"data": null,
"relatedNodes": [
{
"html": "<div class=\"container\">",
"target": [
"section[aria-labelledby=\"cta-title\"] > .container"
]
}
],
"impact": "serious",
"message": "Links can be distinguished from surrounding text by visual styling"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#contact\" class=\"btn btn-accent\" style=\"font-size: 1.1rem; padding: 1rem 2.5rem;\">Start My Assessment</a>",
"target": [
".btn-accent"
]
}
]
},
{
"id": "link-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag244",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.2.4.4",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure links have discernible text",
"help": "Links must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element has text that is visible to screen readers"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "aria-label attribute exists and is not empty"
}
],
"all": [],
"none": [
{
"id": "focusable-no-name",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element is not in tab order or has accessible text"
}
],
"impact": null,
"html": "<a href=\"#\" class=\"logo\" aria-label=\"VitalCore Wellness Home\">",
"target": [
".header-inner > .logo[aria-label=\"VitalCore Wellness Home\"][href=\"#\"]"
]
}
]
},
{
"id": "list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that lists are structured correctly",
"help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "only-listitems",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "List element only has direct children that are allowed inside <li> elements"
}
],
"impact": null,
"html": "<ul>",
"target": [
".main-nav > ul"
]
}
]
},
{
"id": "listitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <li> elements are used semantically",
"help": "<li> elements must be contained in a <ul> or <ol>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "listitem",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "List item has a <ul>, <ol> or role=\"list\" parent element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<li><a href=\"#home\" class=\"active\" aria-current=\"page\">Home</a></li>",
"target": [
".main-nav > ul > li:nth-child(1)"
]
}
]
},
{
"id": "meta-viewport",
"impact": null,
"tags": [
"cat.sensory-and-visual-cues",
"wcag2aa",
"wcag144",
"EN-301-549",
"EN-9.1.4.4",
"ACT"
],
"description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
"help": "Zooming and scaling must not be disabled",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "meta-viewport",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "<meta> tag does not disable zooming on mobile devices"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
"target": [
"meta[name=\"viewport\"]"
]
}
]
},
{
"id": "nested-interactive",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
"help": "Interactive controls must not be nested",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "no-focusable-content",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element does not have focusable descendants"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<option value=\"\">Select...</option>",
"target": [
"#sex > option[value=\"\"]"
]
}
]
},
{
"id": "select-name",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure select element has an accessible name",
"help": "Select element must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "explicit-label",
"data": {
"explicitLabel": "Biological Sex"
},
"relatedNodes": [
{
"html": "<label for=\"sex\">Biological Sex</label>",
"target": [
"label[for=\"sex\"]"
]
}
],
"impact": "critical",
"message": "Element has an explicit <label>"
}
],
"all": [],
"none": [
{
"id": "hidden-explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Form element has a visible explicit <label>"
}
],
"impact": null,
"html": "<select id=\"sex\" name=\"sex\" required=\"\" aria-required=\"true\">\n <option value=\"\">Select...</option>\n <option value=\"male\">Male</option>\n <option value=\"female\">Female</option>\n </select>",
"target": [
"#sex"
]
}
]
},
{
"id": "summary-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure summary elements have discernible text",
"help": "Summary elements must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element has text that is visible to screen readers"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<summary class=\"faq-summary\">Do you accept insurance for preventive wellness visits?</summary>",
"target": [
"details:nth-child(1) > summary"
]
}
]
},
{
"id": "target-size",
"impact": null,
"tags": [
"cat.sensory-and-visual-cues",
"wcag22aa",
"wcag258"
],
"description": "Ensure touch targets have sufficient size and space",
"help": "All touch targets must be 24px large, or leave sufficient space",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "target-size",
"data": {
"minSize": 24,
"width": 218.1,
"height": 56.3
},
"relatedNodes": [],
"impact": "serious",
"message": "Control has sufficient size (218.1px by 56.3px, should be at least 24px by 24px)"
},
{
"id": "target-offset",
"data": {
"closestOffset": 24,
"minOffset": 24
},
"relatedNodes": [],
"impact": "serious",
"message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"logo\" aria-label=\"VitalCore Wellness Home\">",
"target": [
".header-inner > .logo[aria-label=\"VitalCore Wellness Home\"][href=\"#\"]"
]
}
]
}
],
"incomplete": [
{
"id": "aria-prohibited-attr",
"impact": "serious",
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure ARIA attributes are not prohibited for an element's role",
"help": "Elements must only use permitted ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "aria-prohibited-attr",
"data": {
"role": null,
"nodeName": "div",
"messageKey": "noRoleSingular",
"prohibited": [
"aria-label"
]
},
"relatedNodes": [],
"impact": "serious",
"message": "aria-label attribute is not well supported on a div with no valid role attribute."
}
],
"impact": "serious",
"html": "<div class=\"hero-badge\" aria-label=\"Trusted by patients\">",
"target": [
".hero-badge"
],
"failureSummary": "Fix all of the following:\n aria-label attribute is not well supported on a div with no valid role attribute."
}
]
},
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fontSize": "10.5pt (14px)",
"fontWeight": "normal",
"messageKey": "pseudoContent",
"expectedContrastRatio": "4.5:1"
},
"relatedNodes": [
{
"html": "<section class=\"hero\" id=\"home\" aria-labelledby=\"hero-title\">",
"target": [
"#home"
]
}
],
"impact": "serious",
"message": "Element's background color could not be determined due to a pseudo element"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"hero-badge\" aria-label=\"Trusted by patients\">",
"target": [
".hero-badge"
],
"failureSummary": "Fix any of the following:\n Element's background color could not be determined due to a pseudo element"
}
]
}
],
"violations": [
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#ffffff",
"contrastRatio": 4.42,
"fontSize": "12.0pt (16px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"tool-card\">",
"target": [
".tool-card"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.42 (foreground color: #6b7b7b, background color: #ffffff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p>Calculate your Body Mass Index (BMI) and Basal Metabolic Rate (BMR) instantly. Understanding these metrics is the first step in calibrating your caloric intake and training intensity for body recomposition.</p>",
"target": [
".tool-header > p"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.42 (foreground color: #6b7b7b, background color: #ffffff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#e0f7f7",
"contrastRatio": 3.96,
"fontSize": "10.8pt (14.4px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"result-display\" id=\"bmi-result\" aria-live=\"polite\" hidden=\"\">",
"target": [
"#bmi-result"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.96 (foreground color: #6b7b7b, background color: #e0f7f7, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"result-details\" id=\"bmi-details\">Your estimated daily caloric need (TDEE) is <strong id=\"tdee-value\">--</strong> kcal.</div>",
"target": [
"#bmi-details"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.96 (foreground color: #6b7b7b, background color: #e0f7f7, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#fafdfd",
"contrastRatio": 4.32,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"article-card\">",
"target": [
".article-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<time datetime=\"2024-05-15\">May 15, 2024</time>",
"target": [
"time[datetime=\"2024-05-15\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#fafdfd",
"contrastRatio": 4.32,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"article-card\">",
"target": [
".article-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>8 min read</span>",
"target": [
".article-card:nth-child(1) > .article-body > .article-meta > span:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#fafdfd",
"contrastRatio": 4.32,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"article-card\">",
"target": [
".article-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Dr. Sarah Chen, MD</span>",
"target": [
".article-card:nth-child(1) > .article-body > .article-footer > .author > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#fafdfd",
"contrastRatio": 4.32,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"article-card\">",
"target": [
".article-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<time datetime=\"2024-05-08\">May 8, 2024</time>",
"target": [
"time[datetime=\"2024-05-08\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#fafdfd",
"contrastRatio": 4.32,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"article-card\">",
"target": [
".article-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>6 min read</span>",
"target": [
".article-card:nth-child(2) > .article-body > .article-meta > span:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#fafdfd",
"contrastRatio": 4.32,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"article-card\">",
"target": [
".article-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Dr. James Ortiz, DPT</span>",
"target": [
".article-card:nth-child(2) > .article-body > .article-footer > .author > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#fafdfd",
"contrastRatio": 4.32,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"article-card\">",
"target": [
".article-card:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<time datetime=\"2024-05-01\">May 1, 2024</time>",
"target": [
"time[datetime=\"2024-05-01\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#fafdfd",
"contrastRatio": 4.32,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"article-card\">",
"target": [
".article-card:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>10 min read</span>",
"target": [
".article-card:nth-child(3) > .article-body > .article-meta > span:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#fafdfd",
"contrastRatio": 4.32,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"article-card\">",
"target": [
".article-card:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Maria Gonzalez, RDN</span>",
"target": [
".article-card:nth-child(3) > .article-body > .article-footer > .author > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #6b7b7b, background color: #fafdfd, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6b7b7b",
"bgColor": "#ffffff",
"contrastRatio": 4.42,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<blockquote class=\"testimonial-card\">",
"target": [
"blockquote:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.42 (foreground color: #6b7b7b, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Executive / Cardiac Risk Reduction</span>",
"target": [
"blockquote:nth-child(1) > .testimonial-author > .author-info > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.42 (foreground color: #6b7b7b, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#007b7f",
"bgColor": "#1a2a2a",
"contrastRatio": 2.93,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site-footer\" role=\"contentinfo\">",
"target": [
"footer"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.93 (foreground color: #007b7f, background color: #1a2a2a, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"logo-tagline\">Integrated Health</span>",
"target": [
".footer-brand > .logo[aria-label=\"VitalCore Wellness Home\"][href=\"#\"] > .logo-text > .logo-tagline"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.93 (foreground color: #007b7f, background color: #1a2a2a, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#4a5a5a",
"bgColor": "#1a2a2a",
"contrastRatio": 2.05,
"fontSize": "12.6pt (16.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site-footer\" role=\"contentinfo\">",
"target": [
"footer"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.05 (foreground color: #4a5a5a, background color: #1a2a2a, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p>\u00a9 2024 VitalCore Wellness. All rights reserved.</p>",
"target": [
".footer-bottom > p"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.05 (foreground color: #4a5a5a, background color: #1a2a2a, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
]
},
{
"id": "target-size",
"impact": "serious",
"tags": [
"cat.sensory-and-visual-cues",
"wcag22aa",
"wcag258"
],
"description": "Ensure touch targets have sufficient size and space",
"help": "All touch targets must be 24px large, or leave sufficient space",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "target-size",
"data": {
"messageKey": "partiallyObscured",
"minSize": 24,
"width": 798,
"height": 6.7
},
"relatedNodes": [
{
"html": "<a href=\"#\" class=\"logo\" aria-label=\"VitalCore Wellness Home\">",
"target": [
".header-inner > .logo[aria-label=\"VitalCore Wellness Home\"][href=\"#\"]"
]
},
{
"html": "<a href=\"#home\" class=\"active\" aria-current=\"page\">Home</a>",
"target": [
".active"
]
},
{
"html": "<a href=\"#services\">Fitness Classes</a>",
"target": [
".main-nav > ul > li:nth-child(2) > a[href$=\"#services\"]"
]
},
{
"html": "<a href=\"#providers\">Find Provider</a>",
"target": [
".main-nav > ul > li:nth-child(3) > a[href$=\"#providers\"]"
]
},
{
"html": "<a href=\"#nutrition\">Nutrition Plans</a>",
"target": [
".main-nav > ul > li:nth-child(4) > a[href$=\"#nutrition\"]"
]
},
{
"html": "<a href=\"#resources\">Patient Resources</a>",
"target": [
".main-nav > ul > li:nth-child(5) > a[href$=\"#resources\"]"
]
},
{
"html": "<a href=\"#blog\">Wellness Blog</a>",
"target": [
".main-nav > ul > li:nth-child(6) > a[href$=\"#blog\"]"
]
}
],
"impact": "serious",
"message": "Target has insufficient size because it is partially obscured (smallest space is 798px by 6.7px, should be at least 24px by 24px)"
},
{
"id": "target-offset",
"data": {
"closestOffset": 8,
"minOffset": 24
},
"relatedNodes": [
{
"html": "<a href=\"#providers\">Find Provider</a>",
"target": [
".main-nav > ul > li:nth-child(3) > a[href$=\"#providers\"]"
]
}
],
"impact": "serious",
"message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 8px instead of at least 24px."
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<summary class=\"faq-summary\">How does the 'Find Provider' matching algorithm work?</summary>",
"target": [
"details:nth-child(4) > summary"
],
"failureSummary": "Fix any of the following:\n Target has insufficient size because it is partially obscured (smallest space is 798px by 6.7px, should be at least 24px by 24px)\n Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 8px instead of at least 24px."
}
]
}
],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 7221
},
{
"y": 576,
"height": 7221
},
{
"y": 1152,
"height": 7221
},
{
"y": 1728,
"height": 7221
},
{
"y": 2304,
"height": 7221
},
{
"y": 2880,
"height": 7221
},
{
"y": 3456,
"height": 7221
},
{
"y": 4032,
"height": 7221
},
{
"y": 4608,
"height": 7221
},
{
"y": 5184,
"height": 7221
},
{
"y": 5760,
"height": 7221
},
{
"y": 6336,
"height": 7221
},
{
"y": 6501,
"height": 7221
}
],
"scans": 14,
"max_states": 512,
"settle_ms": 5000,
"page_timeout_seconds": 150,
"layout_stability": "consecutive 100ms size samples within one CSS pixel",
"animation_settling": "finite animations present when scroll resources are ready finish or are cancelled",
"interactive_states": "not exercised",
"horizontal_scroll": "not exercised"
}
}
System Prompt
You are a lead web developer at a top digital agency, tasked with creating a one-page website for a new client based on the given specifications, delivered as an HTML file. First non-whitespace char '<', last non-whitespace char '>'. Use the following services to generate placeholder images where needed:
- placehold.co (text): https://placehold.co/[{w}x{h}|{size}][/{bg-color}/{text-color}]?text={text}&font=[lato|lora|montserrat|noto sans|open sans|oswald|playfair display|poppins|pt sans|raleway|roboto|source sans|source sans pro]
- picsum.photos (photos): https://picsum.photos/[{w}/{h}|{size}]?[grayscale][&blur={1-10}]
- pravatar.cc (avatars): https://i.pravatar.cc/{size}?u={identifier}
Choose sizes appropriate to layout.
User Prompt
Create a **complete, polished, production-quality** primary web page for a new client in the "Health and Fitness" sector.
Your goal is to generate the full HTML code for a page that is not just functional but also visually compelling, content-rich, and feels like a finished product ready for launch.
**Client & Category:**
- Industry: "Health and Fitness"
- Description: Healthcare, wellness, fitness tips, nutrition, and medical resources.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Health and Fitness" category.
2. **Define Page:** Determine the most effective primary page type (e.g., homepage, service landing page, category portal) to showcase this fictional entity.
3. **Design:** Develop an opinionated, modern, and professional layout. Make distinct choices about structure and flow.
**Content & Structure Requirements (Deliver a COMPLETE page):**
- **Overall:** The final page must feel substantial and complete, with realistic amounts of text (multiple paragraphs per section where appropriate, avoid single sentences), well-integrated placeholder images, and logical flow. It should look like a real website a business would proudly use.
- **HEADER:** Include the invented site name, tagline, a logo placeholder image, and a primary navigation bar. Ensure the navigation has **at least 5-7 clearly defined, relevant links** including: "Fitness Classes", "Contact", "Find Provider".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Health and Fitness" category. Consider themes similar to: "Preventive Care", "Medical Services", "Patient Resources".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "lifestyle modification", "wellness plan", "metabolic rate".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Sign Up", "Request Consultation", "Calculate BMI".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Health and Fitness" sector. Ideas similar but not limited to: "symptom checker".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "health news", "success stories", "health alerts".
- **FOOTER:** Include a professional footer with invented contact details, copyright (current year), social media links, and standard links (Privacy, Terms).
- **MODERN WEB PATTERNS:** Include modern web patterns like testimonial cards, feature grids, or FAQ accordions where appropriate.