Files
Clintchiz d402256547
Deploy to Production / Build & Verify (push) Failing after 5m56s
Ping Search Engines / Notify Search Engines (push) Successful in 2s
Deploy to Production / Pre-Deploy Tests (push) Has been skipped
Deploy to Production / Deploy to Railway (push) Has been skipped
Deploy to Production / Deploy to Render (push) Has been skipped
Deploy to Production / Deploy to VPS (PM2) (push) Has been skipped
Deploy to Production / Deploy to Fly.io (push) Has been skipped
Deploy to Production / Post-Deploy Verification (push) Has been skipped
Deploy to Production / Notify on Failure (push) Successful in 2s
E2E Test Suite / Critical User Journeys (push) Has been skipped
E2E Test Suite / API Integration Tests (push) Has been skipped
E2E Test Suite / Smoke Tests (P0) (push) Failing after 11m26s
E2E Test Suite / Form Interaction Tests (push) Failing after 11m42s
E2E Test Suite / Destructive & Chaos Tests (push) Failing after 12m2s
E2E Test Suite / Cross-Browser Regression (chromium) (push) Failing after 16m14s
E2E Test Suite / Cross-Browser Regression (webkit) (push) Failing after 17m45s
E2E Test Suite / Cross-Browser Regression (firefox) (push) Failing after 25m23s
E2E Test Suite / Security Header Tests (push) Failing after 7m55s
E2E Test Suite / Test Report Summary (push) Failing after 20s
E2E Test Suite / Mobile Device Tests (push) Failing after 2h49m9s
Uptime Monitor / Health & Response Time (push) Failing after 2s
Uptime Monitor / SSL Certificate (push) Successful in 2s
Uptime Monitor / Send Alerts (push) Failing after 3s
Uptime Monitor / Record Uptime Success (push) Has been skipped
First Init
2026-03-21 16:46:46 +05:30

12 KiB
Raw Permalink Blame History

Responsive Design Testing Documentation

Project: WorkRoot IT Solutions Company Site Agent: frontend-specialist Last Updated: 2026-03-21


Breakpoints Overview

The project uses Tailwind CSS with a mobile-first approach. The following breakpoints are defined in tailwind.config.mjs:

Breakpoint Min-Width Description Common Devices
(default) 0px Mobile base styles Small phones (320px+)
xs 375px Small phones iPhone SE, older Androids
sm 640px Large phones / phablets iPhone 14, Galaxy S series
md 768px Tablets iPad, Android tablets
lg 1024px Desktop / large tablets Laptops, iPad Pro landscape
xl 1280px Large desktops Desktop monitors
2xl 1536px Ultra-wide Wide monitors

Note: The xs breakpoint (375px) was added to tailwind.config.mjs to handle very small mobile devices gracefully.


Page-by-Page Responsive Analysis

1. Homepage (/)

Status: Fully Responsive

Section Mobile (320-639px) Tablet (768-1023px) Desktop (1024px+)
Hero Single col, fluid text Same layout Same layout, larger text
Benefits 1-col grid 2-col grid 4-col grid
Services 1-col grid 2-col grid 2-col grid (max-w-6xl)
How It Works 1-col grid 2-col grid 4-col grid with connectors
Stats 2-col grid 2-col grid 4-col grid
Testimonials Single slide carousel Single slide carousel Single slide carousel
FAQ Stacked (header + accordion) Stacked 2-col (sticky header)
CTA Stacked buttons Inline buttons Inline buttons

Key Patterns:

  • Hero text: text-5xl sm:text-6xl lg:text-7xl xl:text-8xl — fluid scaling
  • CTA buttons: flex flex-wrap justify-center gap-4 — wraps gracefully on small screens
  • Tech logos: flex flex-wrap justify-center items-center gap-12 — wraps on mobile

2. Services Page (/services)

Status: Fully Responsive

Section Mobile (320-639px) Tablet (768-1023px) Desktop (1024px+)
Hero 1-col, fluid text Same Same
Stats bar 2-col grid 4-col grid 4-col grid
Service cards 1-col grid 2-col grid 2-col grid
Service details Stacked (content/visual) Stacked 2-col alternating layout
Floating badge Hidden (hidden sm:block) Visible Visible
Case studies 1-col grid 2-col grid 3-col grid
Pricing 1-col stacked (no scale) 3-col, middle scaled 3-col, middle scaled 105%
Process steps 1-col grid 2-col grid 4-col with arrows

Fix Applied (2026-03-21):

  • Pricing tier highlight: Changed scale-105md:scale-105
  • Reason: On mobile, the highlighted pricing card was causing horizontal overflow since the card occupies full width. The scale effect now only applies at md (768px+) where there's sufficient surrounding space.

3. Portfolio Page (/portfolio)

Status: Fully Responsive

Section Mobile (320-639px) Tablet (768-1023px) Desktop (1024px+)
Hero 1-col, fluid text Same Same
Stats bar 2-col grid 4-col grid 4-col grid
Featured projects 1-col stacked 1-col stacked 3-col (first spans 2 cols)
Search bar Full-width, centered Full-width max-w-xl Full-width max-w-xl
Filter tabs Flex-wrap, scrollable Flex-wrap, centered Flex-wrap, centered
Project grid 1-col 2-col 3-col
Case study modal Full-width, stacked content Full-width max-w-5xl centered

Modal Gallery Heights:

  • Gallery image: h-64 sm:h-80 lg:h-96 — scales up on larger screens

4. Contact Page (/contact)

Status: Fully Responsive

Section Mobile (320-639px) Tablet (768-1023px) Desktop (1024px+)
Hero 1-col text Same Same
Trust stats 2-col grid 4-col grid 4-col grid
Form layout Stacked (form then sidebar) Stacked 5-col split (3+2)
Form fields 1-col fields 2-col pairs (sm:grid-cols-2) 2-col pairs
Budget options Flex-wrap chips Flex-wrap chips Flex-wrap chips
Contact info cards 1-col → 2-col at xs (375px) 2-col 2-col
Map embed Full-width card Full-width card Full-width card
Social links Full-width stacked Full-width stacked Full-width stacked
FAQ accordion Full-width stacked Full-width max-w-3xl Full-width max-w-3xl

Fix Applied (2026-03-21):

  • Contact info cards: Changed grid-cols-2grid-cols-1 xs:grid-cols-2
  • Reason: On very small screens (320px phones), 2 columns of contact cards with icons and text were cramped. Cards now stack at 1-column below 375px.

5. Header / Navigation (/components/Header.astro)

Status: Fully Responsive

Breakpoint Behavior
< lg Hamburger menu button shown, slide-out drawer
lg+ Horizontal nav menu + CTA button

Mobile Menu Features:

  • Slide-out drawer from right (w-80 max-w-[85vw])
  • Overlay backdrop with click-to-dismiss
  • Animated hamburger → X icon transition
  • Staggered link entrance animation
  • Closes on Escape key, resize to desktop, overlay click

Logo Behavior:

  • Mobile: W icon only (text hidden with hidden sm:block)
  • Small+: Full logo with "WorkRoot" + "IT Solutions" subtitle

Status: Fully Responsive (verified via code exploration)

The footer uses standard responsive grid patterns matching the rest of the site.


Component Responsive Patterns

Container System

/* .container-wrapper in global.css */
max-width: 80rem; /* 1280px */
margin: auto;
padding: 0 1rem;    /* mobile */
/* sm: padding 0 1.5rem */
/* lg: padding 0 2rem */

Typography Scale

Context Mobile Tablet Desktop
H1 Hero text-4xl (36px) text-5xl (48px) text-6xl+ (60px+)
H2 Section text-3xl (30px) text-4xl (36px) text-4xl (36px)
Body text-lg (18px) text-xl (20px) text-xl (20px)
Small text-sm (14px) text-sm (14px) text-sm (14px)

Grid Patterns Used

Pattern Usage
grid-cols-1 md:grid-cols-2 Service cards, general 2-col
grid-cols-1 md:grid-cols-2 lg:grid-cols-4 Benefits, process steps
grid-cols-2 lg:grid-cols-4 Stats bars (hero sections)
grid-cols-2 sm:grid-cols-4 Stats/trust indicators
grid gap-8 sm:grid-cols-2 lg:grid-cols-3 Portfolio project grid
grid lg:grid-cols-5 Contact page form + sidebar

Testing Checklist

Manual Testing Devices/Sizes

Mobile (Priority 1)

  • iPhone SE — 375×667 (smallest modern iPhone)
  • iPhone 14 / Android mid-range — 390×844
  • Pixel 7 — 412×915

Tablet (Priority 2)

  • iPad portrait — 768×1024
  • iPad landscape — 1024×768
  • iPad Pro — 1024×1366

Desktop (Priority 3)

  • Laptop 13" — 1280×800
  • Desktop HD — 1920×1080
  • Desktop 4K — 2560×1440

Test Cases Per Page

All Pages:

  • No horizontal scroll (overflow-x hidden)
  • Navigation works at all breakpoints
  • Text remains readable (no overflow/truncation)
  • Images maintain aspect ratios
  • Interactive elements have adequate touch targets (min 44×44px)
  • Focus states visible at all breakpoints

Homepage:

  • Hero section fills viewport height on all sizes
  • Testimonial carousel controls are accessible on touch
  • FAQ accordion works on mobile
  • Stats counter animation triggers correctly

Services:

  • Pricing cards don't overflow on mobile (verify md:scale-105 fix)
  • Service detail sections alternate correctly on desktop
  • Floating stats badges (hidden on mobile, visible sm+)

Portfolio:

  • Filter tabs wrap gracefully on small screens
  • Case study modal is scrollable on mobile
  • Gallery navigation buttons are tappable on touch
  • Project cards display at correct column count

Contact:

  • Form fields stack appropriately on mobile
  • Budget option chips wrap correctly
  • Contact info cards at 1-col (320px) and 2-col (375px+)
  • Form submission works on mobile keyboards

Automated Testing

Playwright tests for responsive design are located in:

  • tests/cross-browser.spec.ts — Cross-browser and viewport testing
  • tests/accessibility.spec.ts — WCAG compliance at various viewports

Run responsive tests:

npx playwright test --grep "responsive"

Known Issues / Notes

  1. Testimonial carousel on mobile: The carousel uses 100% translateX transforms. On very small screens, touch swipe is not implemented (only button navigation). Future enhancement: add touch/swipe support.

  2. Portfolio tech filter panel: When expanded, the technology filter pills use flex flex-wrap which can result in many rows on small screens. This is acceptable UX but could be improved with a dropdown on mobile.

  3. Services page visual illustrations: The service detail "visual element" (decorative mock-up) uses aspect-square. On mobile this renders as a tall square. On very narrow screens (320px), this can be visually heavy. Consider adding max-h-64 sm:aspect-square for tighter control.

  4. Print styles: No print-specific styles are defined. If print support is needed, add @media print rules.


CSS Custom Properties for Responsive Spacing

/* Defined in src/styles/global.css */
--section-padding: 6rem;     /* Desktop: py-24 */
--section-padding-sm: 4rem;  /* Mobile: py-16 */
--container-max: 80rem;      /* max-w-7xl */

These are referenced as Tailwind utilities (.py-section, .py-section-sm) throughout the site for consistent section spacing.