{"id":4984,"date":"2026-07-31T01:06:04","date_gmt":"2026-07-31T01:06:04","guid":{"rendered":"https:\/\/test.ribbonoem.com\/ribbons\/festival-ribbons\/"},"modified":"2026-07-31T06:35:21","modified_gmt":"2026-07-31T06:35:21","slug":"festival-ribbons","status":"publish","type":"page","link":"https:\/\/test.ribbonoem.com\/nl\/ribbons\/festival-ribbons\/","title":{"rendered":"Festival linten"},"content":{"rendered":"\n<!--\n  ============================================================================\n  Ribbon Category Page (8 sections), cloned from GOLDEN TEMPLATE\n  File: website\/festival-ribbons.html  |  Category: Festival Ribbons\n  ----------------------------------------------------------------------------\n  Clones website\/satin-ribbons.html section-for-section. Only content swaps:\n  H1 \/ keyword copy \/ product images \/ spec table values \/ application\n  images \/ FAQ \/ related categories.\n  SECTION MAP (per architecture\/02-page-content-strategy.md, Part 2):\n    1. Category Hero            .rb-cat-hero      (dark blue, white text, 1 CTA)\n    2. Product Gallery          .rb-cat-gallery   (3:2 cards, lightbox, no price)\n    3. Specifications           .rb-cat-spec      (real spec table)\n    4. Applications             .rb-cat-apps      (editorial scene images)\n    5. Customization            .rb-cat-custom    (dark blue, 17 techniques)\n    6. Category FAQ             .rb-cat-faq       (FAQPage schema)\n    7. Quality & Certifications .rb-cat-quality   (4 certs only)\n    8. Related Categories       .rb-cat-related   (cross internal links)\n  CONTRACT:\n    - Content sections only (theme supplies header\/footer).\n    - Each section carries its own scoped <style> (.rb-cat- prefix).\n    - Uses main.css CSS variables; dark sections = blue bg + white text.\n    - Images: ONLY real media-library URLs from research\/image-map.md.\n    - MOQ \/ payment \/ sample days => [TBD - awaiting client]. No prices.\n    - Certifications: only Oeko-Tex \/ GRS \/ Sedex \/ ISO 9001:2015.\n  ============================================================================\n-->\n<div class=\"rb-cat rb-cat--festival\">\n<!-- =====================================================================\n     SECTION 1, CATEGORY HERO\n     Contains the SHARED TEMPLATE BASE styles (root reset, buttons, reveal,\n     container) that travel with every cloned category page.\n     ===================================================================== -->\n<style>\n\/* ---------- SHARED TEMPLATE BASE (cloned with every category page) ---------- *\/\n.rb-cat { font-family: var(--font-body, 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif); color: var(--color-text, #293c82); -webkit-font-smoothing: antialiased; }\n.rb-cat *, .rb-cat *::before, .rb-cat *::after { box-sizing: border-box; margin: 0; padding: 0; }\n.rb-cat img { max-width: 100%; height: auto; display: block; }\n.rb-cat a { text-decoration: none; color: inherit; }\n.rb-cat h1, .rb-cat h2, .rb-cat h3, .rb-cat h4 { font-family: var(--font-heading, 'Roboto', sans-serif); color: var(--color-heading, #1e2d63); line-height: 1.18; text-wrap: balance; }\n.rb-cat p { line-height: 1.7; }\n.rb-cat .rb-cat-wrap { max-width: var(--container-lg, 1240px); margin: 0 auto; padding-left: var(--container-gutter, 1rem); padding-right: var(--container-gutter, 1rem); }\n.rb-cat .rb-cat-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--color-accent, #cc9591); border-left: 3px solid var(--color-accent, #cc9591); padding-left: 14px; margin-bottom: 18px; }\n.rb-cat .rb-cat-sec-head { max-width: 760px; margin: 0 auto 56px; text-align: center; }\n.rb-cat .rb-cat-sec-head h2 { font-size: clamp(1.7rem, 3vw, 2.35rem); font-weight: 800; letter-spacing: -.02em; margin-bottom: 16px; }\n.rb-cat .rb-cat-sec-head p { font-size: 1.02rem; color: var(--color-text-muted, rgba(41,60,130,.72)); }\n.rb-cat .rb-cat-btn { display: inline-block; background: var(--color-accent, #cc9591); color: #fff; font-weight: 600; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; padding: 16px 36px; border: 1px solid var(--color-accent, #cc9591); border-radius: var(--radius-sm, 6px); cursor: pointer; transition: transform var(--duration-fast, 250ms) var(--ease-out-expo, ease), box-shadow var(--duration-fast, 250ms) ease; }\n.rb-cat .rb-cat-btn:hover { transform: scale(1.04); box-shadow: var(--shadow-button-hover, 0 12px 26px rgba(204,149,145,.32)); }\n.rb-cat .rb-cat-btn--ghost { background: transparent; border: 1px solid rgba(255,255,255,.55); color: #fff; }\n.rb-cat .rb-cat-btn--ghost:hover { box-shadow: none; background: rgba(255,255,255,.10); }\n.rb-cat .rb-cat-textlink { display: inline-block; font-weight: 700; color: var(--color-primary, #293c82); border-bottom: 2px solid var(--color-accent, #cc9591); padding-bottom: 2px; transition: color var(--duration-fast, 250ms) ease; }\n.rb-cat .rb-cat-textlink:hover { color: var(--color-accent, #cc9591); }\n\/* progressive-enhancement reveal (content stays visible if JS is off) *\/\n.rb-cat--js .rb-cat-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--ease-out-expo, ease), transform .7s var(--ease-out-expo, ease); }\n.rb-cat--js .rb-cat-reveal.is-in { opacity: 1; transform: none; }\n@media (prefers-reduced-motion: reduce) { .rb-cat--js .rb-cat-reveal { opacity: 1; transform: none; transition: none; } }\n\/* ---------- HERO (dark blue, white text) ---------- *\/\n.rb-cat-hero { position: relative; background: var(--color-primary, #293c82); color: #fff; overflow: hidden; }\n.rb-cat-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .30; }\n.rb-cat-hero__overlay { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(30,45,99,.95) 0%, rgba(41,60,130,.85) 46%, rgba(41,60,130,.55) 100%); }\n.rb-cat-hero__inner { position: relative; z-index: 2; max-width: var(--container-lg, 1240px); margin: 0 auto; padding: clamp(5rem, 11vw, 8.5rem) var(--container-gutter, 1rem); }\n.rb-cat-hero__crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.72); margin-bottom: 30px; }\n.rb-cat-hero__crumb a { color: rgba(255,255,255,.72); transition: color var(--duration-fast, 250ms) ease; }\n.rb-cat-hero__crumb a:hover { color: #fff; }\n.rb-cat-hero__crumb .sep { opacity: .5; }\n.rb-cat-hero__crumb .curr { color: #fff; font-weight: 700; }\n.rb-cat-hero__kicker { display: block; font-size: 13px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; color: var(--color-accent, #cc9591); margin-bottom: 20px; }\n.rb-cat-hero h1 { color: #fff; font-size: clamp(2.1rem, 4.6vw, 3.5rem); font-weight: 900; letter-spacing: -.03em; line-height: 1.08; max-width: 840px; margin-bottom: 24px; text-shadow: 0 4px 22px rgba(0,0,0,.35); }\n.rb-cat-hero__sub { color: #fff; opacity: .94; font-size: 1.08rem; line-height: 1.75; max-width: 660px; margin-bottom: 36px; }\n.rb-cat-hero__facts { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 40px; }\n.rb-cat-hero__fact { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-sm, 6px); padding: 14px 20px; min-width: 168px; }\n.rb-cat-hero__fact b { display: block; font-size: 1.18rem; font-weight: 800; color: #fff; letter-spacing: -.01em; }\n.rb-cat-hero__fact span { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.7); margin-top: 4px; }\n@media (max-width: 768px) {\n  .rb-cat-hero__inner { padding: clamp(4rem, 16vw, 6rem) 20px; }\n  .rb-cat-hero h1 { font-size: 2rem; }\n  .rb-cat-hero__fact { flex: 1 1 100%; }\n}\n<\/style>\n<section class=\"rb-cat-hero\">\n  <img decoding=\"async\" class=\"rb-cat-hero__bg\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/festival-ribbons-01.jpg\" alt=\"Festive christmas ribbon rolls in holiday colors\" fetchpriority=\"high\" title=\"\">\n  <div class=\"rb-cat-hero__overlay\" aria-hidden=\"true\"><\/div>\n  <div class=\"rb-cat-hero__inner\">\n    <nav class=\"rb-cat-hero__crumb\" aria-label=\"Breadcrumb\">\n      <a href=\"\/\">Home<\/a>\n      <span class=\"sep\">\/<\/span>\n      <a href=\"\/ribbons\/\">Ribbons<\/a>\n      <span class=\"sep\">\/<\/span>\n      <span class=\"curr\">Festival Ribbons<\/span>\n    <\/nav>\n    <span class=\"rb-cat-hero__kicker\">Christmas &middot; Halloween &middot; Valentine &middot; Easter &middot; Thanksgiving<\/span>\n    <h1>Festival &amp; Christmas Ribbon Wholesale<\/h1>\n    <p class=\"rb-cat-hero__sub\">Vibrant festival ribbon for christmas ribbon wholesale programs and year-round holiday lines: wired, grosgrain, satin and velvet constructions in seasonal colorways and themed prints, cut across widths from 3mm to 100mm. 20+ years of OEM &amp; ODM manufacturing, 1,200+ styles and 17 printing techniques behind every festive roll.<\/p>\n    <div class=\"rb-cat-hero__facts\">\n      <div class=\"rb-cat-hero__fact\"><b>3&ndash;100mm<\/b><span>Ribbon Width<\/span><\/div>\n      <div class=\"rb-cat-hero__fact\"><b>Wired &amp; Grosgrain<\/b><span>Festive Constructions<\/span><\/div>\n      <div class=\"rb-cat-hero__fact\"><b>10 \/ 25 \/ 100<\/b><span>Yard Roll Lengths<\/span><\/div>\n    <\/div>\n    <a class=\"rb-cat-btn\" href=\"\/contact\/\">Get a Free Quote<\/a>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 2, PRODUCT GALLERY\n     ===================================================================== -->\n<style>\n.rb-cat-gallery { background: var(--color-bg, #fcfbfe); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 30px; }\n.rb-cat-card { min-width: 0; }\n.rb-cat-card__imgbox { position: relative; width: 100%; padding-bottom: 66.66%; \/* 3:2 *\/ background: var(--color-primary-ghost, #f1f4fa); border-radius: var(--radius-md, 10px); overflow: hidden; cursor: zoom-in; margin-bottom: 18px; }\n.rb-cat-card__imgbox img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-smooth, ease); }\n.rb-cat-card:hover .rb-cat-card__imgbox img { transform: scale(1.07); }\n.rb-cat-card__body { text-align: center; }\n.rb-cat-card__body h3 { font-size: 1.12rem; font-weight: 700; letter-spacing: -.01em; margin-bottom: 6px; }\n.rb-cat-card__type { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--color-text-secondary, rgba(41,60,130,.55)); margin-bottom: 14px; }\n.rb-cat-card__view { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--color-primary, #293c82); border-bottom: 1px solid var(--color-border-strong, #D4D4D4); padding-bottom: 3px; transition: border-color var(--duration-fast, 250ms) ease, color var(--duration-fast, 250ms) ease; }\n.rb-cat-card:hover .rb-cat-card__view { border-color: var(--color-accent, #cc9591); color: var(--color-accent, #cc9591); }\n.rb-cat-gallery__foot { text-align: center; margin-top: 52px; }\n@media (max-width: 1024px) { .rb-cat-gallery__grid { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 600px) { .rb-cat-gallery__grid { grid-template-columns: 1fr; gap: 40px; } }\n\/* lightbox (shared, scoped) *\/\n.rb-cat-lightbox { display: none; position: fixed; inset: 0; z-index: 999999; background: rgba(30,45,99,.94); align-items: center; justify-content: center; padding: 24px; }\n.rb-cat-lightbox.show { display: flex; }\n.rb-cat-lightbox img { max-width: 92%; max-height: 88vh; object-fit: contain; border-radius: var(--radius-sm, 6px); animation: rbCatZoom .35s var(--ease-out-expo, ease); }\n.rb-cat-lightbox__close { position: absolute; top: 22px; right: 34px; font-size: 44px; line-height: 1; color: #fff; cursor: pointer; font-weight: 300; transition: transform var(--duration-fast, 250ms) ease; }\n.rb-cat-lightbox__close:hover { transform: rotate(90deg); }\n@keyframes rbCatZoom { from { transform: scale(.92); opacity: 0; } to { transform: scale(1); opacity: 1; } }\n<\/style>\n<section class=\"rb-cat-gallery\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">Product Range<\/span>\n      <h2>Our Festival &amp; Christmas Ribbon Range<\/h2>\n      <p>Six festive lines shown, straight from our current catalog: 38mm spider ghost bat halloween ribbon, 9-50mm polyester halloween grosgrain, jute faux woven christmas ribbon, 63mm burlap wired edge thanksgiving ribbon and two custom printed christmas lines in satin and polyester. 25+ festival styles sit in our library beside 1,200+ total ribbon styles; <a class=\"rb-cat-textlink\" href=\"\/contact\/\">request the full festival catalog<\/a> for seasonal swatches, widths and custom prints.<\/p>\n    <\/div>\n    <div class=\"rb-cat-gallery__grid\">\n      <article class=\"rb-cat-card rb-cat-reveal\">\n        <div class=\"rb-cat-card__imgbox\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/festival-ribbon-02.jpg\" alt=\"38mm spider ghost bat halloween ribbon for gift packing\" loading=\"lazy\" title=\"\"><\/div>\n        <div class=\"rb-cat-card__body\">\n          <h3>38mm Spider Ghost Bat Halloween Ribbon For Gift Packing<\/h3>\n          <div class=\"rb-cat-card__type\">38mm &middot; Halloween<\/div>\n          <a class=\"rb-cat-card__view\" href=\"\/ribbons\/festival-ribbons\/38mm-spider-ghost-bat-halloween-ribbon-for-gift-packing\/\">View Details<\/a>\n        <\/div>\n      <\/article>\n      <article class=\"rb-cat-card rb-cat-reveal\">\n        <div class=\"rb-cat-card__imgbox\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/festival-ribbon-03.jpg\" alt=\"Polyester halloween grosgrain ribbon in 9-50mm widths\" loading=\"lazy\" title=\"\"><\/div>\n        <div class=\"rb-cat-card__body\">\n          <h3>9-50mm Polyester Halloween Grosgrain Ribbon Factory<\/h3>\n          <div class=\"rb-cat-card__type\">9-50mm &middot; Grosgrain<\/div>\n          <a class=\"rb-cat-card__view\" href=\"\/ribbons\/festival-ribbons\/9-50mm-polyester-halloween-grosgrain-ribbon-factory\/\">View Details<\/a>\n        <\/div>\n      <\/article>\n      <article class=\"rb-cat-card rb-cat-reveal\">\n        <div class=\"rb-cat-card__imgbox\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/thanksgiving-ribbon-02.jpg\" alt=\"Jute faux woven christmas ribbon roll\" loading=\"lazy\" title=\"\"><\/div>\n        <div class=\"rb-cat-card__body\">\n          <h3>Wholesale Jute Faux Woven Christmas Ribbon Supplier<\/h3>\n          <div class=\"rb-cat-card__type\">Jute &middot; Faux Woven<\/div>\n          <a class=\"rb-cat-card__view\" href=\"\/ribbons\/festival-ribbons\/wholesale-jute-faux-woven-christmas-ribbon-supplier\/\">View Details<\/a>\n        <\/div>\n      <\/article>\n      <article class=\"rb-cat-card rb-cat-reveal\">\n        <div class=\"rb-cat-card__imgbox\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/thanksgiving-ribbon-01.jpg\" alt=\"63mm burlap wired edge thanksgiving wrapping ribbon\" loading=\"lazy\" title=\"\"><\/div>\n        <div class=\"rb-cat-card__body\">\n          <h3>63mm Burlap Wired Edge Wrapping Thanksgiving Ribbons Vendor<\/h3>\n          <div class=\"rb-cat-card__type\">63mm &middot; Burlap Wired Edge<\/div>\n          <a class=\"rb-cat-card__view\" href=\"\/ribbons\/festival-ribbons\/63mm-burlap-wired-edge-wrapping-thanksgiving-ribbons-vendor\/\">View Details<\/a>\n        <\/div>\n      <\/article>\n      <article class=\"rb-cat-card rb-cat-reveal\">\n        <div class=\"rb-cat-card__imgbox\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/christmas-ribbon-01.jpg\" alt=\"Custom ink printed single face satin christmas ribbon\" loading=\"lazy\" title=\"\"><\/div>\n        <div class=\"rb-cat-card__body\">\n          <h3>Custom Ink Printed Single Face Satin Ribbon for Christmas<\/h3>\n          <div class=\"rb-cat-card__type\">Single Face Satin &middot; Ink Printed<\/div>\n          <a class=\"rb-cat-card__view\" href=\"\/ribbons\/festival-ribbons\/custom-ink-printed-single-face-satin-ribbon-for-christmas\/\">View Details<\/a>\n        <\/div>\n      <\/article>\n      <article class=\"rb-cat-card rb-cat-reveal\">\n        <div class=\"rb-cat-card__imgbox\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/christmas-ribbon-02.jpg\" alt=\"Custom printed polyester christmas ribbon\" loading=\"lazy\" title=\"\"><\/div>\n        <div class=\"rb-cat-card__body\">\n          <h3>Wholesale Polyester Custom Printed Christmas Ribbon<\/h3>\n          <div class=\"rb-cat-card__type\">Polyester &middot; Custom Printed<\/div>\n          <a class=\"rb-cat-card__view\" href=\"\/ribbons\/festival-ribbons\/wholesale-polyester-custom-printed-christmas-ribbon\/\">View Details<\/a>\n        <\/div>\n      <\/article>\n    <\/div>\n    <div class=\"rb-cat-gallery__foot rb-cat-reveal\">\n      <a class=\"rb-cat-btn\" href=\"\/contact\/\">Request Prices &amp; Swatches<\/a>\n    <\/div>\n  <\/div>\n  <!-- lightbox markup (shared) -->\n  <div class=\"rb-cat-lightbox\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Product image preview\">\n    <span class=\"rb-cat-lightbox__close\" aria-label=\"Close preview\">&times;<\/span>\n    <img decoding=\"async\" src=\"\" alt=\"Enlarged ribbon product view\" title=\"\">\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 3, SPECIFICATIONS\n     ===================================================================== -->\n<style>\n.rb-cat-spec { background: var(--color-bg-soft, #F7F7F7); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-spec__layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: 56px; align-items: center; }\n.rb-cat-spec__table { width: 100%; border-collapse: collapse; background: var(--color-surface, #fff); border-radius: var(--radius-md, 10px); overflow: hidden; box-shadow: var(--shadow-xs, 0 2px 8px rgba(12,15,22,.04)); }\n.rb-cat-spec__table caption { text-align: left; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--color-text-secondary, rgba(41,60,130,.55)); padding: 0 0 14px; }\n.rb-cat-spec__table th, .rb-cat-spec__table td { padding: 15px 18px; text-align: left; font-size: .95rem; border-bottom: 1px solid var(--color-border-subtle, #F0F0F0); vertical-align: top; }\n.rb-cat-spec__table tr:last-child th, .rb-cat-spec__table tr:last-child td { border-bottom: none; }\n.rb-cat-spec__table th { width: 34%; font-weight: 700; color: var(--color-heading, #1e2d63); background: var(--color-primary-ghost, #f1f4fa); }\n.rb-cat-spec__table td { color: var(--color-text-muted, rgba(41,60,130,.72)); }\n.rb-cat-spec__media { position: relative; border-radius: var(--radius-md, 10px); overflow: hidden; min-height: 460px; }\n.rb-cat-spec__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }\n.rb-cat-spec__note { margin-top: 22px; font-size: .9rem; color: var(--color-text-secondary, rgba(41,60,130,.55)); }\n@media (max-width: 1024px) {\n  .rb-cat-spec__layout { grid-template-columns: 1fr; gap: 40px; }\n  .rb-cat-spec__media { min-height: 340px; order: -1; }\n}\n<\/style>\n<section class=\"rb-cat-spec\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">Technical Data<\/span>\n      <h2>Festival Ribbon Specifications<\/h2>\n      <p>Standard festival parameters below. Theme, construction, width and print are all made to order, so specify your target season and artwork when you request a quote.<\/p>\n    <\/div>\n    <div class=\"rb-cat-spec__layout\">\n      <div class=\"rb-cat-reveal\">\n        <table class=\"rb-cat-spec__table\">\n          <caption>Festival ribbon, made-to-order parameters<\/caption>\n          <tbody>\n            <tr><th scope=\"row\">Material<\/th><td>Polyester satin, grosgrain, velvet and organza; wired edge constructions for wreaths and sculpted bows<\/td><\/tr>\n            <tr><th scope=\"row\">Width<\/th><td>3mm &ndash; 100mm (common: 3 \/ 9 \/ 10 \/ 16 \/ 19 \/ 25 \/ 28 \/ 38 \/ 50 \/ 63 \/ 75 \/ 100mm)<\/td><\/tr>\n            <tr><th scope=\"row\">Festival Themes<\/th><td>Christmas, Halloween, Valentine, Easter, Thanksgiving; seasonal colorways and themed motif prints<\/td><\/tr>\n            <tr><th scope=\"row\">Special Finish<\/th><td>Metallic Edge, Gold Foil Hot Stamping, Glitter Ink Print, Plaid \/ Stripe \/ Motif Prints<\/td><\/tr>\n            <tr><th scope=\"row\">Roll Length<\/th><td>10 \/ 25 \/ 100 yards (custom lengths on request)<\/td><\/tr>\n            <tr><th scope=\"row\">Typical Use<\/th><td>Christmas Trees &amp; Wreaths, Gift Wrapping, Retail Displays, Festival Decorations, Crafts<\/td><\/tr>\n          <\/tbody>\n        <\/table>\n        <p class=\"rb-cat-spec__note\">MOQ varies by theme, width and print, <strong>[TBD &#8211; awaiting client]<\/strong>. Request a quote for exact minimums and volume-tiered pricing.<\/p>\n      <\/div>\n      <div class=\"rb-cat-spec__media rb-cat-reveal\">\n        <img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/ribbon-factory-10.jpg\" alt=\"Festival ribbon rolls and packaging on the production floor\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 4, APPLICATIONS (editorial scene images)\n     ===================================================================== -->\n<style>\n.rb-cat-apps { background: var(--color-surface, #fff); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-apps__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }\n.rb-cat-app { position: relative; border-radius: var(--radius-md, 10px); overflow: hidden; min-height: 320px; display: flex; align-items: flex-end; isolation: isolate; }\n.rb-cat-app img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .9s var(--ease-smooth, ease); }\n.rb-cat-app::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(30,45,99,.92) 0%, rgba(30,45,99,.35) 55%, rgba(30,45,99,0) 100%); }\n.rb-cat-app:hover img { transform: scale(1.06); }\n.rb-cat-app__body { padding: 30px; color: #fff; }\n.rb-cat-app__body h3 { color: #fff; font-size: 1.3rem; font-weight: 800; margin-bottom: 8px; }\n.rb-cat-app__body p { color: rgba(255,255,255,.9); font-size: .95rem; max-width: 46ch; }\n@media (max-width: 768px) { .rb-cat-apps__grid { grid-template-columns: 1fr; } .rb-cat-app { min-height: 280px; } }\n<\/style>\n<section class=\"rb-cat-apps\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">Where It Works<\/span>\n      <h2>Applications for Festival Ribbon<\/h2>\n      <p>Festive ribbon sells through four channels every season: gift wrapping, wreaths and tree decor, retail displays and craft lines. Wired and grosgrain constructions hold the shapes those jobs demand.<\/p>\n    <\/div>\n    <div class=\"rb-cat-apps__grid\">\n      <article class=\"rb-cat-app rb-cat-reveal\">\n        <img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/11\/how-to-tie-ribbon-on-a-box-02.jpg\" alt=\"Christmas ribbon tied around a gift box\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-app__body\">\n          <h3>Christmas Gift Wrapping<\/h3>\n          <p>Satin and grosgrain festive ribbon ties clean, repeatable bows on boxes and hampers; 100-yard rolls keep per-meter cost down for high-volume wrapping stations.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"rb-cat-app rb-cat-reveal\">\n        <img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/thanksgiving-ribbon-01.jpg\" alt=\"Thanksgiving ribbon styling autumn harvest decor\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-app__body\">\n          <h3>Thanksgiving &amp; Harvest Decor<\/h3>\n          <p>Autumn colorways in wired and velvet constructions anchor wreaths, garlands and table styling from October through the holiday table.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"rb-cat-app rb-cat-reveal\">\n        <img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/11\/how-to-curl-ribbon-01.jpg\" alt=\"Curled festive ribbon for crafts and flourishes\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-app__body\">\n          <h3>Festive Crafts &amp; Flourishes<\/h3>\n          <p>Curled accents, tree loops and craft toppers cut from 3mm&ndash;100mm widths; metallic edge and glitter ink prints add the seasonal sparkle craft buyers ask for.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"rb-cat-app rb-cat-reveal\">\n        <img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/thanksgiving-ribbon-02.jpg\" alt=\"Seasonal ribbon rolls for retail display programs\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-app__body\">\n          <h3>Seasonal Retail Displays<\/h3>\n          <p>Wholesalers and distributors stock themed rolls for garden centers, florists and chain retail; consistent lot-to-lot dyeing keeps a season&rsquo;s displays matched across repeat orders.<\/p>\n        <\/div>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 5, CUSTOMIZATION (dark blue, white text)\n     ===================================================================== -->\n<style>\n.rb-cat-custom { background: var(--color-primary-strong, #1e2d63); color: #fff; padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-custom .rb-cat-sec-head h2 { color: #fff; }\n.rb-cat-custom .rb-cat-sec-head p { color: rgba(255,255,255,.82); }\n.rb-cat-custom__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 56px; }\n.rb-cat-custom__item { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius-md, 10px); padding: 26px 24px; transition: background var(--duration-fast, 250ms) ease, transform var(--duration-fast, 250ms) ease; }\n.rb-cat-custom__item:hover { background: rgba(255,255,255,.11); transform: translateY(-4px); }\n.rb-cat-custom__item h3 { color: #fff; font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; }\n.rb-cat-custom__item p { color: rgba(255,255,255,.82); font-size: .92rem; }\n.rb-cat-custom__prints { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 48px; }\n.rb-cat-custom__print { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-md, 10px); overflow: hidden; }\n.rb-cat-custom__print img { width: 100%; aspect-ratio: 4 \/ 3; object-fit: cover; }\n.rb-cat-custom__print span { display: block; padding: 12px 14px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.85); text-align: center; }\n.rb-cat-custom__cta { text-align: center; }\n.rb-cat-custom__cta p { color: rgba(255,255,255,.8); margin-bottom: 24px; font-size: .98rem; }\n@media (max-width: 1024px) { .rb-cat-custom__grid { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 768px) { .rb-cat-custom__grid { grid-template-columns: 1fr; } .rb-cat-custom__prints { grid-template-columns: 1fr; } }\n<\/style>\n<section class=\"rb-cat-custom\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">OEM &amp; ODM<\/span>\n      <h2>Custom Festival Ribbon Options<\/h2>\n      <p>100 in-house designers and 17 printing &amp; finishing techniques turn your seasonal artwork into production-ready festive ribbon, with free sample and free design support on every program.<\/p>\n    <\/div>\n    <div class=\"rb-cat-custom__grid\">\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Custom Color<\/h3><p>Christmas red, green and gold; Halloween orange and black; Valentine pinks. Dyed to your swatch with consistent lot-to-lot shade on repeat seasonal orders.<\/p><\/div>\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Custom Width<\/h3><p>Any width from 3mm to 100mm, from narrow tree-loop ribbon to wide 100mm statement bows for wreaths and displays.<\/p><\/div>\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Custom Print<\/h3><p>Snowflakes, reindeer, pumpkins, hearts and eggs printed with 17 techniques, including glitter ink, foil and puff for seasonal texture.<\/p><\/div>\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Custom Material<\/h3><p>Satin, grosgrain, velvet, organza or wired edge constructions matched to the bow style and season your line requires.<\/p><\/div>\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Logo Printing<\/h3><p>Repeat-position store and brand logos on holiday ribbon, matched to your artwork for private label seasonal programs.<\/p><\/div>\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Custom Packaging<\/h3><p>Retail-ready winding, spools, hang tags and branded cartons through our Packaging Solution service, built for garden-center and craft retail shelves.<\/p><\/div>\n    <\/div>\n    <div class=\"rb-cat-custom__prints rb-cat-reveal\">\n      <figure class=\"rb-cat-custom__print\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/1-Color-Positioning-Glitter-Ink-Print.jpg\" alt=\"Glitter ink print sample on festive ribbon\" loading=\"lazy\" title=\"\"><span>Glitter Ink Print<\/span><\/figure>\n      <figure class=\"rb-cat-custom__print\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/Screen-Foil-Print.jpg\" alt=\"Screen foil print sample on ribbon\" loading=\"lazy\" title=\"\"><span>Screen Foil Print<\/span><\/figure>\n      <figure class=\"rb-cat-custom__print\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/2-Color-Screen-Ink-Print.jpg\" alt=\"Two color screen ink print sample on ribbon\" loading=\"lazy\" title=\"\"><span>2-Color Screen Ink<\/span><\/figure>\n    <\/div>\n    <div class=\"rb-cat-custom__cta rb-cat-reveal\">\n      <p>Sample lead time <strong>[TBD &#8211; awaiting client]<\/strong> &middot; standard orders ship in 2&ndash;3 weeks &middot; festive peak-season production books early.<\/p>\n      <a class=\"rb-cat-btn\" href=\"\/contact\/\">Request Free Sample<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 6, CATEGORY FAQ (+ FAQPage schema below)\n     ===================================================================== -->\n<style>\n.rb-cat-faq { background: var(--color-bg-soft, #F7F7F7); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-faq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 26px; align-items: start; }\n.rb-cat-faq__item { background: var(--color-surface, #fff); border: 1px solid var(--color-border, #E5E5E5); border-radius: var(--radius-sm, 6px); transition: border-color var(--duration-fast, 250ms) ease; }\n.rb-cat-faq__item[open] { border-color: var(--color-accent, #cc9591); }\n.rb-cat-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 24px; cursor: pointer; list-style: none; font-size: 1rem; font-weight: 700; color: var(--color-heading, #1e2d63); line-height: 1.4; }\n.rb-cat-faq__item summary::-webkit-details-marker { display: none; }\n.rb-cat-faq__item summary::after { content: '+'; flex: 0 0 auto; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--color-border-strong, #D4D4D4); border-radius: var(--radius-full, 999px); color: var(--color-primary, #293c82); font-size: 1.15rem; font-weight: 400; line-height: 1; transition: transform var(--duration-base, 400ms) var(--ease-out-expo, ease), background var(--duration-fast, 250ms) ease, color var(--duration-fast, 250ms) ease, border-color var(--duration-fast, 250ms) ease; }\n.rb-cat-faq__item[open] summary::after { content: '\\2212'; transform: rotate(180deg); background: var(--color-accent, #cc9591); border-color: var(--color-accent, #cc9591); color: #fff; }\n.rb-cat-faq__a { padding: 0 24px 22px; font-size: .94rem; line-height: 1.75; color: var(--color-text-muted, rgba(41,60,130,.72)); }\n.rb-cat-faq__foot { text-align: center; margin-top: 44px; }\n@media (max-width: 768px) { .rb-cat-faq__grid { grid-template-columns: 1fr; } }\n<\/style>\n<section class=\"rb-cat-faq\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">Buyer Questions<\/span>\n      <h2>Festival Ribbon FAQ<\/h2>\n      <p>Straight answers on seasonal timing, holiday themes, custom christmas printing and best-selling styles, the questions wholesalers and retailers ask before booking festive production.<\/p>\n    <\/div>\n    <div class=\"rb-cat-faq__grid\">\n      <details class=\"rb-cat-faq__item rb-cat-reveal\">\n        <summary>When should retailers order christmas ribbon wholesale?<\/summary>\n        <div class=\"rb-cat-faq__a\"><p>Standard orders ship in 2&ndash;3 weeks, but christmas ribbon is made to order and peak-season weaving, dyeing and print capacity fills months ahead. Most wholesalers and retailers confirm holiday programs one season early to lock width, print and color; sample lead time is <strong>[TBD &#8211; awaiting client]<\/strong>.<\/p><\/div>\n      <\/details>\n      <details class=\"rb-cat-faq__item rb-cat-reveal\">\n        <summary>Do you offer halloween and thanksgiving ribbon as well as christmas?<\/summary>\n        <div class=\"rb-cat-faq__a\"><p>Yes. The current festival range runs from 38mm spider ghost bat halloween ribbon and 9-50mm polyester halloween grosgrain to jute faux woven christmas ribbon, 63mm burlap wired edge thanksgiving ribbon and custom printed christmas satin, all cut in widths from 3mm to 100mm with themed colorways matched to your artwork.<\/p><\/div>\n      <\/details>\n      <details class=\"rb-cat-faq__item rb-cat-reveal\">\n        <summary>Can you make custom printed christmas ribbon?<\/summary>\n        <div class=\"rb-cat-faq__a\"><p>Yes. We print snowflakes, reindeer, candy canes, logos and holiday text on satin, grosgrain and burlap-style constructions using 17 printing and finishing techniques, including screen ink, gold foil hot stamping, glitter ink and puff, backed by 100 in-house designers and free design support.<\/p><\/div>\n      <\/details>\n      <details class=\"rb-cat-faq__item rb-cat-reveal\">\n        <summary>What festival ribbon styles sell best?<\/summary>\n        <div class=\"rb-cat-faq__a\"><p>Halloween grosgrain and christmas satin lead wholesale volume because both tie clean bows on gift wrap, while 63mm burlap wired edge ribbon anchors thanksgiving wreaths and harvest displays. Standard rolls are 10, 25 and 100 yards, and volume-tiered pricing applies as quantities increase.<\/p><\/div>\n      <\/details>\n    <\/div>\n    <div class=\"rb-cat-faq__foot rb-cat-reveal\">\n      <a class=\"rb-cat-textlink\" href=\"\/faq\/\">More questions? Visit our full FAQ &rarr;<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 7, QUALITY & CERTIFICATIONS (4 certs only)\n     ===================================================================== -->\n<style>\n.rb-cat-quality { background: var(--color-surface, #fff); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-quality__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-bottom: 40px; }\n.rb-cat-cert { border: 1px solid var(--color-border, #E5E5E5); border-radius: var(--radius-md, 10px); padding: 20px; text-align: center; background: var(--color-bg, #fcfbfe); transition: border-color var(--duration-fast, 250ms) ease, transform var(--duration-fast, 250ms) ease; }\n.rb-cat-cert:hover { border-color: var(--color-accent, #cc9591); transform: translateY(-4px); }\n.rb-cat-cert img { width: 100%; aspect-ratio: 3 \/ 4; object-fit: cover; border-radius: var(--radius-sm, 6px); margin-bottom: 14px; background: #fff; }\n.rb-cat-cert h3 { font-size: 1rem; font-weight: 800; margin-bottom: 6px; }\n.rb-cat-cert p { font-size: .85rem; color: var(--color-text-muted, rgba(41,60,130,.72)); }\n.rb-cat-quality__qc { max-width: 820px; margin: 0 auto; text-align: center; font-size: 1rem; color: var(--color-text-muted, rgba(41,60,130,.72)); }\n.rb-cat-quality__foot { text-align: center; margin-top: 30px; }\n@media (max-width: 1024px) { .rb-cat-quality__grid { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 480px) { .rb-cat-quality__grid { grid-template-columns: 1fr; } }\n<\/style>\n<section class=\"rb-cat-quality\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">Compliance<\/span>\n      <h2>Certified Quality<\/h2>\n      <p>Every festival ribbon program runs under four independently audited certifications, with incoming-material, in-process and finished-goods inspection on a 150,000+&#13217; factory floor.<\/p>\n    <\/div>\n    <div class=\"rb-cat-quality__grid\">\n      <div class=\"rb-cat-cert rb-cat-reveal\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/Oeko-Tex-Certificate.jpg\" alt=\"Oeko-Tex certificate\" loading=\"lazy\" title=\"\"><h3>Oeko-Tex<\/h3><p>Tested for harmful substances, safe for skin-contact and packaging use.<\/p><\/div>\n      <div class=\"rb-cat-cert rb-cat-reveal\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/GRS-scaled.jpg\" alt=\"Global Recycled Standard certificate\" loading=\"lazy\" title=\"\"><h3>GRS<\/h3><p>Global Recycled Standard, covers our RPET recycled ribbon range.<\/p><\/div>\n      <div class=\"rb-cat-cert rb-cat-reveal\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/SMETA-scaled.jpg\" alt=\"Sedex SMETA audit certificate\" loading=\"lazy\" title=\"\"><h3>Sedex (SMETA)<\/h3><p>Supply-chain ethical audit for responsible, traceable manufacturing.<\/p><\/div>\n      <div class=\"rb-cat-cert rb-cat-reveal\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/AS9100D-and-ISO-9001-2015-scaled.jpg\" alt=\"ISO 9001:2015 quality management certificate\" loading=\"lazy\" title=\"\"><h3>ISO 9001:2015<\/h3><p>Quality management system covering weaving, dyeing, printing and QC.<\/p><\/div>\n    <\/div>\n    <p class=\"rb-cat-quality__qc rb-cat-reveal\">Quality control runs from raw-yarn inspection through dye-lot verification to finished-roll checks across 300 production machines, so a season&rsquo;s red stays the same red from the first roll to the last.<\/p>\n    <div class=\"rb-cat-quality__foot rb-cat-reveal\">\n      <a class=\"rb-cat-textlink\" href=\"\/quality-certifications\/\">See our full quality &amp; certifications page &rarr;<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 8, RELATED CATEGORIES (cross internal links)\n     ===================================================================== -->\n<style>\n.rb-cat-related { background: var(--color-bg-soft, #F7F7F7); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-bottom: 44px; }\n.rb-cat-rel { display: block; background: var(--color-surface, #fff); border: 1px solid var(--color-border, #E5E5E5); border-radius: var(--radius-md, 10px); overflow: hidden; transition: transform var(--duration-fast, 250ms) ease, box-shadow var(--duration-fast, 250ms) ease, border-color var(--duration-fast, 250ms) ease; }\n.rb-cat-rel:hover { transform: translateY(-6px); box-shadow: var(--shadow-card-hover, 0 18px 40px rgba(12,15,22,.14)); border-color: var(--color-accent, #cc9591); }\n.rb-cat-rel__img { width: 100%; aspect-ratio: 3 \/ 2; object-fit: cover; }\n.rb-cat-rel__body { padding: 22px 22px 26px; }\n.rb-cat-rel__body h3 { font-size: 1.15rem; font-weight: 800; margin-bottom: 8px; }\n.rb-cat-rel__body p { font-size: .9rem; color: var(--color-text-muted, rgba(41,60,130,.72)); margin-bottom: 14px; }\n.rb-cat-rel__body span { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--color-accent, #cc9591); }\n.rb-cat-related__cta { text-align: center; }\n.rb-cat-related__cta p { color: var(--color-text-muted, rgba(41,60,130,.72)); margin-bottom: 22px; }\n@media (max-width: 1024px) { .rb-cat-related__grid { grid-template-columns: 1fr; } }\n<\/style>\n<section class=\"rb-cat-related\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">One Supplier<\/span>\n      <h2>You May Also Need<\/h2>\n      <p>Consolidate seasonal sourcing with one factory, nine ribbon families and ready-made bows under a single order, single QC system and single export shipment.<\/p>\n    <\/div>\n    <div class=\"rb-cat-related__grid\">\n      <a class=\"rb-cat-rel rb-cat-reveal\" href=\"\/ribbons\/wired-ribbons\/\">\n        <img decoding=\"async\" class=\"rb-cat-rel__img\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/wired-ribbons-01.jpg\" alt=\"Wired ribbon with shape-holding edge\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-rel__body\"><h3>Wired Ribbons<\/h3><p>Shape-holding wired edge for wreaths, tree loops and sculpted holiday bows in 25&ndash;63mm widths.<\/p><span>Explore &rarr;<\/span><\/div>\n      <\/a>\n      <a class=\"rb-cat-rel rb-cat-reveal\" href=\"\/ribbons\/velvet-ribbons\/\">\n        <img decoding=\"async\" class=\"rb-cat-rel__img\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/velvet-ribbon-01.jpg\" alt=\"Velvet ribbon with luxurious pile\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-rel__body\"><h3>Velvet Ribbons<\/h3><p>Luxurious winter-weight velvet in red, navy and seasonal shades, the cold-month partner to christmas lines.<\/p><span>Explore &rarr;<\/span><\/div>\n      <\/a>\n      <a class=\"rb-cat-rel rb-cat-reveal\" href=\"\/ribbons\/ribbon-bows\/\">\n        <img decoding=\"async\" class=\"rb-cat-rel__img\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/ribbon-bow-02.jpg\" alt=\"Pre-made ribbon bows for gifts\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-rel__body\"><h3>Ribbon Bows<\/h3><p>Pre-made and pull bows ready for gift toppers and festive decor, plus bow-making ribbon by the roll.<\/p><span>Explore &rarr;<\/span><\/div>\n      <\/a>\n    <\/div>\n    <div class=\"rb-cat-related__cta rb-cat-reveal\">\n      <p>Can&rsquo;t find your exact festive spec? Tell us theme, material, width, color, print and quantity, we&rsquo;ll quote within service hours (8:30AM&ndash;9:30PM Mon&ndash;Sat).<\/p>\n      <a class=\"rb-cat-btn\" href=\"\/contact\/\">Talk to Our Ribbon Engineers<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n<\/div><!-- \/.rb-cat -->\n<!-- =====================================================================\n     SHARED JS, lightbox + progressive-enhancement reveal (scoped)\n     ===================================================================== -->\n<script>\n(function () {\n  var root = document.querySelector('.rb-cat--festival');\n  if (!root) { return; }\n  root.classList.add('rb-cat--js');\n  \/* Lightbox *\/\n  var lightbox = root.querySelector('.rb-cat-lightbox');\n  var lbImg = lightbox ? lightbox.querySelector('img') : null;\n  var lbClose = lightbox ? lightbox.querySelector('.rb-cat-lightbox__close') : null;\n  function openLb(src, alt) { if (!lightbox) { return; } lbImg.src = src; lbImg.alt = alt || 'Enlarged ribbon product view'; lightbox.classList.add('show'); document.body.style.overflow = 'hidden'; }\n  function closeLb() { if (!lightbox) { return; } lightbox.classList.remove('show'); document.body.style.overflow = ''; }\n  root.querySelectorAll('.rb-cat-card__imgbox').forEach(function (box) {\n    box.addEventListener('click', function () { var img = box.querySelector('img'); if (img) { openLb(img.src, img.alt); } });\n  });\n  if (lbClose) { lbClose.addEventListener('click', closeLb); }\n  if (lightbox) { lightbox.addEventListener('click', function (e) { if (e.target === lightbox) { closeLb(); } }); }\n  document.addEventListener('keydown', function (e) { if (e.key === 'Escape') { closeLb(); } });\n  \/* Reveal on scroll *\/\n  var items = root.querySelectorAll('.rb-cat-reveal');\n  if (!('IntersectionObserver' in window) || !items.length) {\n    items.forEach(function (el) { el.classList.add('is-in'); });\n    return;\n  }\n  var io = new IntersectionObserver(function (entries) {\n    entries.forEach(function (entry) {\n      if (entry.isIntersecting) { entry.target.classList.add('is-in'); io.unobserve(entry.target); }\n    });\n  }, { threshold: 0.12, rootMargin: '0px 0px -8% 0px' });\n  items.forEach(function (el) { io.observe(el); });\n})();\n<\/script>\n<!-- =====================================================================\n     JSON-LD, CollectionPage + BreadcrumbList + ItemList (products)\n     ===================================================================== -->\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"CollectionPage\",\"name\":\"Festival & Christmas Ribbon Wholesale - Meedee Ribbon\",\"description\":\"Wholesale christmas ribbon manufacturer: wired, grosgrain, satin, velvet and organza festival ribbon for Christmas, Halloween, Valentine, Easter and Thanksgiving. Widths 3-100mm, 10\/25\/100-yard rolls, 17 printing techniques, 20+ years OEM & ODM.\",\"url\":\"https:\/\/test.ribbonoem.com\/ribbons\/festival-ribbons\/\",\"image\":\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/festival-ribbons-01.jpg\",\"breadcrumb\":{\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/test.ribbonoem.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ribbons\",\"item\":\"https:\/\/test.ribbonoem.com\/ribbons\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Festival Ribbons\",\"item\":\"https:\/\/test.ribbonoem.com\/ribbons\/festival-ribbons\/\"}]},\"mainEntity\":{\"@type\":\"ItemList\",\"name\":\"Festival & Christmas Ribbon Range\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"38mm Spider Ghost Bat Halloween Ribbon For Gift Packing\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"9-50mm Polyester Halloween Grosgrain Ribbon Factory\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Wholesale Jute Faux Woven Christmas Ribbon Supplier\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"63mm Burlap Wired Edge Wrapping Thanksgiving Ribbons Vendor\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Custom Ink Printed Single Face Satin Ribbon for Christmas\"},{\"@type\":\"ListItem\",\"position\":6,\"name\":\"Wholesale Polyester Custom Printed Christmas Ribbon\"}]}}\n<\/script>\n<!-- =====================================================================\n     JSON-LD, FAQPage (kept in sync with the FAQ accordion above)\n     ===================================================================== -->\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"When should retailers order christmas ribbon wholesale?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Standard orders ship in 2-3 weeks, but christmas ribbon is made to order and peak-season weaving, dyeing and print capacity fills months ahead. Most wholesalers and retailers confirm holiday programs one season early to lock width, print and color.\"}},{\"@type\":\"Question\",\"name\":\"Do you offer halloween and thanksgiving ribbon as well as christmas?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. The current festival range runs from 38mm spider ghost bat halloween ribbon and 9-50mm polyester halloween grosgrain to jute faux woven christmas ribbon, 63mm burlap wired edge thanksgiving ribbon and custom printed christmas satin, all cut in widths from 3mm to 100mm with themed colorways matched to your artwork.\"}},{\"@type\":\"Question\",\"name\":\"Can you make custom printed christmas ribbon?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. We print snowflakes, reindeer, candy canes, logos and holiday text on satin, grosgrain and burlap-style constructions using 17 printing and finishing techniques, including screen ink, gold foil hot stamping, glitter ink and puff, backed by 100 in-house designers and free design support.\"}},{\"@type\":\"Question\",\"name\":\"What festival ribbon styles sell best?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Halloween grosgrain and christmas satin lead wholesale volume because both tie clean bows on gift wrap, while 63mm burlap wired edge ribbon anchors thanksgiving wreaths and harvest displays. Standard rolls are 10, 25 and 100 yards, and volume-tiered pricing applies as quantities increase.\"}}]}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Product Range Our Festival &amp; Christmas Ribbon Range Six festive lines shown, straight from our current catalog: 38mm spider ghost bat halloween ribbon, 9-50mm polyester halloween grosgrain, jute faux woven christmas ribbon, 63mm burlap wired edge thanksgiving ribbon and two custom printed christmas lines in satin and polyester. 25+ festival styles sit in our library &#8230; <a title=\"Festival linten\" class=\"read-more\" href=\"https:\/\/test.ribbonoem.com\/nl\/ribbons\/festival-ribbons\/\" aria-label=\"Lees meer over Festival Ribbons\">Lees meer<\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":4977,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"rank_math_title":"","rank_math_description":"","rank_math_focus_keyword":"","rank_math_robots":"","rank_math_canonical_url":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_twitter_title":"","rank_math_twitter_description":"","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_focuskw":"","_yoast_wpseo_canonical":"","_yoast_wpseo_meta-robots-noindex":"","_yoast_wpseo_meta-robots-nofollow":"","_yoast_wpseo_opengraph-title":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_twitter-title":"","_yoast_wpseo_twitter-description":"","_aioseo_title":"","_aioseo_description":"","_aioseo_keywords":"","_aioseo_robots_default":"","_aioseo_robots_noindex":"","_aioseo_og_title":"","_aioseo_og_description":"","_aioseo_twitter_title":"","_aioseo_twitter_description":"","aiosp_title":"","aiosp_description":"","aiosp_keywords":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_analysis_target_kw":"","_seopress_robots_canonical":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_genesis_title":"","_genesis_description":"","_genesis_canonical":"","_genesis_noindex":"","_genesis_nofollow":"","slim_seo":"","footnotes":""},"class_list":["post-4984","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/test.ribbonoem.com\/nl\/wp-json\/wp\/v2\/pages\/4984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.ribbonoem.com\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/test.ribbonoem.com\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/test.ribbonoem.com\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/test.ribbonoem.com\/nl\/wp-json\/wp\/v2\/comments?post=4984"}],"version-history":[{"count":3,"href":"https:\/\/test.ribbonoem.com\/nl\/wp-json\/wp\/v2\/pages\/4984\/revisions"}],"predecessor-version":[{"id":5029,"href":"https:\/\/test.ribbonoem.com\/nl\/wp-json\/wp\/v2\/pages\/4984\/revisions\/5029"}],"up":[{"embeddable":true,"href":"https:\/\/test.ribbonoem.com\/nl\/wp-json\/wp\/v2\/pages\/4977"}],"wp:attachment":[{"href":"https:\/\/test.ribbonoem.com\/nl\/wp-json\/wp\/v2\/media?parent=4984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}