, or into a single Embed element on the page. Build the section with NATIVE Webflow elements using the class names below (see ati-fan-structure.html for the exact tree). Cards are native Link Blocks: pick each card's page in Webflow's link settings. No JavaScript. All text stays in the DOM at all times; hover and entrance are CSS transform/opacity only. Fonts: add "Archivo Black" and "Inter" in Site settings > Fonts. ============================================================ */ /* ---------- section shell (base = desktop, 1290 page) ---------- */ .fan-section{background:#0F2440;padding:88px 0 104px;overflow:hidden;} .fan-container{max-width:1290px;margin:0 auto;padding:0 40px;} /* ---------- header ---------- */ .fan-header{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;} .fan-eyebrow{display:flex;align-items:center;gap:10px;} .fan-eyebrow-dot{width:8px;height:8px;background:#C8102E;} .fan-eyebrow-text{font:500 12px/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,244,236,.62);} .fan-h2{margin:0;font:400 44px/1.08 'Archivo Black',sans-serif;letter-spacing:0;color:#F7F4EC;max-width:700px;} .fan-support{margin:0;font:400 16px/1.6 Inter,sans-serif;color:rgba(247,244,236,.68);max-width:440px;} /* ---------- fan row ---------- */ .fan-row{margin-top:56px;display:flex;justify-content:center;align-items:stretch;gap:8px;padding:26px 48px 0;} /* ---------- card = native Webflow Link Block ---------- */ .fan-card{position:relative;display:block;width:168px;height:448px;flex:0 0 auto;transform:skewX(-12deg);transform-origin:50% 50%;overflow:hidden;background:#0B1B33;border-top:2px solid #C8102E;box-shadow:0 14px 30px -16px rgba(0,0,0,.5);text-decoration:none;transition:transform .55s cubic-bezier(.19,1,.22,1),box-shadow .55s cubic-bezier(.19,1,.22,1);} .fan-card:focus-visible{outline:3px solid #C8102E;outline-offset:4px;} /* hover: hovered card keeps its lean and grows 10% from center, the others ease back 10%. Order matters: grow rule comes last. */ .fan-row:hover .fan-card{transform:skewX(-12deg) scale(.9);} .fan-row .fan-card:hover{transform:skewX(-12deg) scale(1.1);z-index:6;box-shadow:0 44px 90px -18px rgba(2,8,18,.72);} /* ---------- photo: upright and undistorted inside the leaning frame ---------- */ .fan-photo{position:absolute;top:-10px;bottom:-10px;left:-100px;right:-100px;transform:skewX(12deg);transform-origin:50% 50%;background-color:#22385A;background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(.28) brightness(.92) contrast(1.06);transition:filter .5s ease;} .fan-card:hover .fan-photo{filter:none;} .fan-tint{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(15,36,64,.42);transition:opacity .45s ease;} .fan-card:hover .fan-tint{opacity:.06;} .fan-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(6,15,30,.97) 0%,rgba(6,15,30,.7) 24%,rgba(6,15,30,.24) 46%,rgba(6,15,30,0) 64%);} /* ---------- card text ---------- */ .fan-top{position:absolute;top:0;left:0;right:0;transform:skewX(12deg);transform-origin:50% 0%;padding:18px 24px 0;} .fan-num{font:500 11px/1 Inter,sans-serif;letter-spacing:.18em;color:rgba(247,244,236,.6);} .fan-body{position:absolute;left:0;right:0;bottom:0;transform:skewX(12deg);transform-origin:50% 100%;padding:0 18px 20px 46px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;} .fan-name{margin:0;font:600 18px/1.2 Inter,sans-serif;letter-spacing:-.01em;color:#F7F4EC;} .fan-desc{margin:0;font:400 12px/1.6 Inter,sans-serif;color:rgba(247,244,236,.8);} .fan-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-top:4px;background:#C8102E;color:#F7F4EC;font:600 15px/1 Inter,sans-serif;opacity:.5;transform:translateY(5px);transition:opacity .4s ease,transform .4s ease;} .fan-card:hover .fan-arrow{opacity:1;transform:none;} /* ---------- default photos ---------- Upload your photos to Webflow Assets, then replace these URLs (right-click the asset > copy URL). is-05 (healthcare) is your own file: upload istockphoto-1290769186-612x612.jpg first. */ .fan-photo.is-01{background-image:url('https://images.unsplash.com/photo-1541888946425-d81bb19240f5?auto=format&fit=crop&w=900&h=1300&q=80');} .fan-photo.is-02{background-image:url('https://images.unsplash.com/photo-1504328345606-18bbc8c9d7d1?auto=format&fit=crop&w=900&h=1300&q=80');} .fan-photo.is-03{background-image:url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=900&h=1300&q=80');} .fan-photo.is-04{background-image:url('https://images.unsplash.com/photo-1581091226825-a6a2a5aee158?auto=format&fit=crop&w=900&h=1300&q=80');} .fan-photo.is-05{background-image:url('../uploads/istockphoto-1290769186-612x612.jpg');background-position:center 22%;} .fan-photo.is-06{background-image:url('https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?auto=format&fit=crop&w=900&h=1300&q=80');} /* ---------- entrance (CSS only; header rises, cards fade in from the center outward). Delete this block if you rebuild the entrance with native scroll-into-view Interactions instead. ---------- */ @keyframes fanRise{from{opacity:0;transform:translate3d(0,36px,0);}to{opacity:1;transform:none;}} @keyframes fanFade{from{opacity:0;}to{opacity:1;}} .fan-header{animation:fanRise .6s cubic-bezier(.22,1,.36,1) both;} .fan-card{animation:fanFade .7s ease both;animation-delay:.6s;} .fan-card:nth-child(3),.fan-card:nth-child(4){animation-delay:.3s;} .fan-card:nth-child(2),.fan-card:nth-child(5){animation-delay:.45s;} /* ---------- tablet (Webflow breakpoint 991 and down): 3 x 2 grid, softer lean, same hover ---------- */ @media (max-width:991px){ .fan-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 26px;padding:16px 34px 0;margin-top:44px;justify-items:center;} .fan-card{width:100%;max-width:200px;height:400px;transform:skewX(-8deg);} .fan-row:hover .fan-card{transform:skewX(-8deg) scale(.94);} .fan-row .fan-card:hover{transform:skewX(-8deg) scale(1.06);} .fan-photo{left:-72px;right:-72px;transform:skewX(8deg);} .fan-top{transform:skewX(8deg);} .fan-body{transform:skewX(8deg);padding:0 18px 18px 40px;} .fan-h2{font-size:36px;} } /* ---------- mobile (767 and down): clean vertical stack, full-bleed photo rows, no skew, everything still visible ---------- */ @media (max-width:767px){ .fan-section{padding:64px 0 72px;} .fan-container{padding:0 20px;} .fan-header{align-items:flex-start;text-align:left;gap:14px;} .fan-h2{font-size:29px;line-height:1.12;} .fan-support{font-size:14.5px;} .fan-row{display:flex;flex-direction:column;gap:12px;padding:8px 0 0;margin-top:28px;} .fan-card{width:100%;max-width:none;height:auto;transform:none;} .fan-row:hover .fan-card{transform:none;} .fan-row .fan-card:hover{transform:none;box-shadow:0 20px 44px -18px rgba(2,8,18,.6);} .fan-photo{top:0;right:0;bottom:0;left:0;transform:none;} .fan-top{transform:none;padding:14px 18px 0;} .fan-body{position:relative;transform:none;padding:44px 18px 16px;gap:6px;} .fan-desc{font-size:12.5px;} } /* ---------- reduced motion ---------- */ @media (prefers-reduced-motion:reduce){ .fan-card,.fan-photo,.fan-tint,.fan-arrow{transition:none;} .fan-card,.fan-header{animation:none;} }
The Formulation Specialist is responsible for the evaluation, optimization, and development of nutraceutical formulas throughout the entire product lifecycle from concept through full-scale manufacturing.
Minimum 5 years of experience in nutraceutical or pharmaceutical formulation, R&D, or product development.
Key Competencies
Ready to make an impact? Submit your resume and cover letter via our online application portal. We look forward to learning more about you!

Whether you need GMP-certified operators or experienced technicians, we’re ready to help.