Pines Ribbon
Add a pop of colour to your school day with Pines Ribbon. Perfect for tying back hair during PE class, decorating school projects, or adding flair to your uniform. Lightweight and durable, this ribbon stays put whether you're running between classes or settling in for study time. A fun, practical essential for any student. Show your team spirit with Pines Ribbon. Ideal for sports day, team events, and athletic activities. Wear it as a wristband, tie it around your sports bag, or use it to coordinate team colours. Durable enough to withstand active play and training sessions, this ribbon is the perfect way to display your team pride on and off the field. 4 layers on each side 18cm in length x1 25mm (each side) x3 12mm (each side) Custom both left and right 25mm Please note: Current turnaround time is 1-2 weeks for this item. #rnt-pv{--pv-line:#EDDFC9;--pv-ink:#17231E;--pv-muted:#7C8C84;--pv-pink:#FF3D8A;background:#fff;border:1px solid var(--pv-line);border-radius:20px;padding:18px;margin:22px 0;font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif} #rnt-pv .pv-lab{display:block;font-size:.82rem;font-weight:600;color:#3E524A;margin:0 0 6px} #rnt-pv .pv-in{width:100%;box-sizing:border-box;padding:11px 13px;border:1px solid var(--pv-line);border-radius:12px;font:1rem 'Inter',sans-serif;color:var(--pv-ink);background:#fff} #rnt-pv .pv-in:focus{outline:none;border-color:var(--pv-pink);box-shadow:0 0 0 3px rgba(255,61,138,.12)} #rnt-pv .pv-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:6px 0 0} #rnt-pv .pv-c{color:var(--pv-muted);font-size:.76rem} #rnt-pv .pv-two{display:grid;grid-template-columns:1fr 1fr;gap:14px} @media (max-width:520px){#rnt-pv .pv-two{grid-template-columns:1fr}} #rnt-pv .pv-fonts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px} #rnt-pv .pv-f{border:1px solid var(--pv-line);background:#fff;border-radius:99px;padding:7px 14px;cursor:pointer;font-size:.95rem;color:var(--pv-ink);line-height:1.1} #rnt-pv .pv-f[aria-pressed="true"]{border-color:var(--pv-pink);background:#FFF1F6;box-shadow:inset 0 0 0 1px var(--pv-pink)} #rnt-pv .pv-stage{position:relative;width:100%;max-width:460px;margin:12px auto 0;background:#FFFFFF;border-radius:16px;overflow:hidden} #rnt-pv .pv-img{display:block;width:100%;height:auto} #rnt-pv .pv-anchor{position:absolute;width:0;height:0;pointer-events:none} #rnt-pv .pv-anchor.pv-l{left:2.48%;top:56.5%;transform:rotate(-47.84deg)} #rnt-pv .pv-anchor.pv-r{left:97.15%;top:59.84%;transform:rotate(-137.15deg)} #rnt-pv .pv-name{position:absolute;left:0;top:0;transform:translateY(-50%);white-space:pre;line-height:1;letter-spacing:.055em} #rnt-pv .pv-price{margin:0 0 12px;font-size:.92rem;color:#3E524A} #rnt-pv .pv-price b{color:#17231E} #rnt-pv .pv-hint{color:var(--pv-muted);font-size:.78rem;text-align:center;margin:8px 0 0} Blank ribbon $9.50. Type a name on one or both tails and it is personalised for $15, or $12 each for 10 or more. Left tail Printed up the left tail0 Right tail Printed up the right tail. Leave empty for one side only.0 / 13 #rnt-pv .pv-team{margin:2px 0 14px} #rnt-pv .pv-team-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap} #rnt-pv .pv-add{background:#fff;border:1.5px solid var(--pv-pink);color:var(--pv-pink);border-radius:999px;padding:8px 14px;font:600 .84rem/1 inherit;font-family:inherit;cursor:pointer} #rnt-pv .pv-add:hover{background:#FFF0F6} #rnt-pv .pv-add:disabled{opacity:.45;cursor:default} #rnt-pv .pv-team-note{font-size:.78rem;color:var(--pv-muted)} #rnt-pv .pv-tlist{margin-top:12px;background:#FBF7F0;border:1px solid var(--pv-line);border-radius:14px;padding:12px 14px} #rnt-pv .pv-tlist-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.82rem;margin-bottom:8px} #rnt-pv .pv-tlist-head b{color:#17231E} #rnt-pv .pv-tlist-head span{color:var(--pv-muted)} #rnt-pv .pv-tlist-head span.pv-hit{color:var(--pv-pink);font-weight:600} #rnt-pv .pv-tchips{display:flex;flex-wrap:wrap;gap:6px} #rnt-pv .pv-tchip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--pv-line);border-radius:999px;padding:5px 6px 5px 11px;font-size:.84rem;color:#17231E;cursor:pointer} #rnt-pv .pv-tchip:hover,#rnt-pv .pv-tchip.pv-tediting{border-color:var(--pv-pink);box-shadow:0 0 0 2px rgba(255,61,138,.12)} #rnt-pv .pv-tchip i{font-style:normal;color:var(--pv-muted);font-size:.72rem} #rnt-pv .pv-tchip .pv-tx{width:18px;height:18px;border-radius:50%;border:0;background:#F1E9DB;color:#3E524A;font:700 .72rem/18px inherit;cursor:pointer;padding:0} #rnt-pv .pv-tchip .pv-tx:hover{background:var(--pv-pink);color:#fff} #rnt-pv .pv-tlist-foot{font-size:.76rem;color:var(--pv-muted);margin:8px 0 0} Add this name to the team list Ordering for a team? Add each name. The right tail and font stay the same for all of them. 0 names10 or more: $12 each Tap a name to change it. The ribbon above shows the name you are typing now. (function(){ var W=document.getElementById('rnt-pv');if(!W||W.dataset.team)return;W.dataset.team='1'; var inpL=W.querySelector('#rnt-pv-l'), inpR=W.querySelector('#rnt-pv-r'); var add=W.querySelector('[data-pv-add]'), list=W.querySelector('[data-pv-tlist]'), chips=W.querySelector('[data-pv-tchips]'), cnt=W.querySelector('[data-pv-tlist-count]'), tier=W.querySelector('[data-pv-tlist-tier]'); var names=[], editing=-1, MIN=10, HARD=parseInt(W.dataset.min||'0',10)||0; function cur(){return (inpL.value||'').replace(/\s+/g,' ').trim();} function fire(){inpL.dispatchEvent(new Event('input',{bubbles:true}));} function total(){return names.length+(cur()&&editingi){editing--;} render(); }); chips.appendChild(c); }); var t=total(); cnt.textContent=t+(t===1?' name':' names'); if(t>=MIN){tier.textContent='Team price: $12 each';tier.className='pv-hit';} else{tier.textContent=(MIN-t)+' more for $12 each';tier.className='';} if(names.length){ var hint=W.querySelector('[data-pv-hint]'); if(hint)hint.textContent='Each name is its own ribbon. Personalised, $15 each, or $12 each for 10 or more.'; if(!cur()&&!(inpR.value||'').trim()){ var pr=[].slice.call(document.querySelectorAll('input[type=radio]')).filter(function(x){return x.value==='Personalised';})[0]; if(pr&&!pr.checked)pr.click(); } } add.textContent=editing>=0?'Update this name':'Add this name to the team list'; add.disabled=!cur(); var f=document.querySelector('form[action*="/cart/add"]'), b=f&&f.querySelector('[type=submit],button[name=add]'); if(b){ if(t>1){ b.dataset.pvLabel=b.dataset.pvLabel||b.textContent; b.textContent='Add '+t+' ribbons to cart'; } else if(b.dataset.pvLabel){ b.textContent=b.dataset.pvLabel; } } } function commit(){ var v=cur(); if(!v)return; if(editing>=0){names[editing]=v;editing=-1;} else {names.push(v);} inpL.value=''; fire(); render(); inpL.focus(); } add.addEventListener('click',commit); inpL.addEventListener('keydown',function(e){ if(e.key==='Enter'){e.preventDefault();commit();} }); inpL.addEventListener('input',render); document.addEventListener('submit',function(e){ var f=e.target; if(!f.matches||!f.matches('form[action*="/cart/add"]'))return; var all=names.slice(); if(cur()&&editing4 && g++
More you might like
Related
Ribboned Pines
Related
Ocean Pines 7mm Ribbon
Related
Red Ribbon Pines Invitation
Related