Mariyah Ribbon
Mariyah Ribbon is the perfect accessory for school spirit, sports events, or everyday wear. Customise it with your name, sports team, or school to make it uniquely yours—or wear it as is for instant style. Whether you're cheering at the game, showing school pride, or adding a pop of colour to any occasion, this versatile ribbon brings fun and personality to your look. 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.6%;top:57.36%;transform:rotate(-45.64deg)} #rnt-pv .pv-anchor.pv-r{left:97.47%;top:68.21%;transform:rotate(-131.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++