Magic Ribbon
Make a statement that matters. Magic Ribbon transforms the ordinary into the extraordinary—it's more than an accessory, it's a declaration. When you choose to stand out, you inspir e your team to do the same. Wear it with intention. Be the difference you want to see. Let your ribbon be the symbol of unity, courage, and the magic that happens when people dare to look different and think bolder. This is how movements start. 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.49%;top:61.99%;transform:rotate(-48.64deg)} #rnt-pv .pv-anchor.pv-r{left:97.07%;top:53.82%;transform:rotate(-140.14deg)} #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
Party Ribbon Magic Spools Hand Thrown Ribbon Spider Silk Rib
Related
Magical Ribbon
Related
Magic Ribbon Wands
Related