PageSourceSearch

https://wearerival.webflow.io/rival50

html wearerival.webflow.io collected 2026-10-03 14:00:45 UTC 15,814 bytes, 190 lines download raw bytes

1<!DOCTYPE html><!-- Last Published: Thu Oct 01 2026 18:27:39 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="wearerival.webflow.io" data-wf-page="6a82ef693ae3f9d14eb954a1" data-wf-site="633a925bb365d583ba64f172" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Rival 50 — The Top Challenger Brands of 2026</title><meta content="The Rival 50 identifies brands that challenge convention, move culture and create outsized impact on their growth." name="description"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/css/wearerival.webflow.shared.4ae75f5e6.css" rel="stylesheet" type="text/css" integrity="sha384-SudfXm1+plVgqlJu0n7dsNu5Hq8qzj8qY8PnLzux9KjyqxsMkEKvE/NFsMpPcCQh" crossorigin="anonymous"/>
1<script src="https://use.typekit.net/tkb1ded.js" type="text/javascript"></script>
1<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/65ae3d981febf1335196a678_favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/65ae3d9e19f5f2827152a87f_webclip.png" rel="apple-touch-icon"/><!-- Google Tag Manager -->
2<script>
vendor: 327 bytes, lines 2-6
2(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
3new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
4j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
5'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
6})(window,document,'script','dataLayer','
6GTM-T3LR6FL
vendor: 3 bytes, line 6
6');
6</script>
6
7<!-- End Google Tag Manager -->
8
9<!-- Sopro integration -->
10<script type="fs-cc">
11    (function (o, u, t, b, a, s, e) {
12        window[b] = window[b] || {}; (e = e || [])['key'] = o; e['__obr'] = u.location.href; a = [];
13        u.location.search.replace('?', '').split('&').forEach(function (q) { if (q.startsWith(b) || q.startsWith('_obid')) e[q.split('=')[0]] = q.split('=')[1]; });
14        e['_obid'] = e['_obid'] || (u.cookie.match(/(^|;)\s*_obid\s*=\s*([^;]+)/) || []).pop() || 0;
15        for (k in e) { if (e.hasOwnProperty(k)) a.push(encodeURIComponent(k) + '=' + encodeURIComponent(e[k])); }
16        s = u.createElement('script'); s.src = t + '?' + a.join('&'); u.head.appendChild(s);
17    })('cc28e23b-1fa8-40e3-9678-8daf5470eadf', document, 'https://plugin.sopro.io/hq.js', 'outbase')
18</script>
18
19
20<!-- Finsweet Cookie Consent -->
21<script async src="https://cdn.jsdelivr.net/npm/@finsweet/cookie-consent@1/fs-cc.js" fs-cc-mode="opt-out"></script>
21
22
23<!-- 1. Import the @botpoison/browser script -->
24<script src="https://unpkg.com/@botpoison/browser" async></script>
24
25
26<!-- Programatic Function Loading -->
27<script>
28(function(global){global.pageFunctions=global.pageFunctions||{executed:{},functions:{},addFunction:function(id,fn){if(!this.functions[id])this.functions[id]=fn},executeFunctions:function(){if(this.added)return;this.added=true;for(const id in this.functions){if(!this.executed[id]){try{this.functions[id]();this.executed[id]=true}catch(e){console.error(`Error executing function ${id}:`,e)}}}}}})(window);
29</script>
29
30
31<!-- OPEN ALL EXTERNAL LINKS IN A NEW TAB -->
32<script>
33document.addEventListener('DOMContentLoaded', function() {
34    const links = document.getElementsByTagName('a');
35    for (let link of links) {
36        if (link.hostname !== window.location.hostname) {
37            link.target = '_blank';
38            link.rel = 'noopener noreferrer'; // Security measure
39        }
40    }
41});
42</script>
42
43
44<style>
45[data-split-line] {
46    visibility: hidden;
47    width: 100%;
48 }
49.split-line {
50    /*display: block;*/
51    will-change: transform, opacity;
52    backface-visibility: hidden;
53    -webkit-font-smoothing: antialiased;
54    display: inline-block; /* Ensures proper transformation */
55    transform-origin: left center;
56 }
57[data-split-line] > div {
58    width: 100%;
59 }
60
61[data-split-line] {
62  transform-style: preserve-3d;
63  perspective: 800px; /* Matches the GSAP value */
64}
65
66</style>
67
68<!-- Anchor-link offset: keep in-page targets clear of the fixed nav (94px)
69     and, on sections that need it, the announcement bar. -->
70<style>
71html { scroll-padding-top: 110px; }
72</style>
73
74<!-- Sunday Times announcement banner disabled 2026-09-10: as a 172px fixed bar at
75     z-index 300 it covered the 94px nav (z-index 100) and swallowed every nav click.
76     Remove this rule to bring it back, but fix the stacking first. -->
77<style>
78#pop-up-wrapper { display: none !important; }
79</style>
80</head><body><section class="r50-nav"><a href="/rival50" aria-current="page" class="r50-nav-logolink w-inline-block w--current"><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d6944a8946da7ca718d1_rival50-logo-navy.svg" loading="lazy" alt="Rival 50" class="r50-nav-logo"/></a><div class="r50-nav-links"><a href="/rival50/about" class="r50-nav-link">ABOUT</a><a href="/rival50/brands" class="r50-nav-link">BRANDS</a><a href="/rival50/insights" class="r50-nav-link">INSIGHTS</a></div><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c4442ab73dfe6d92bb_rival-logo-dark.png" loading="lazy" alt="Rival" class="r50-nav-rival"/></section><section class="r50-ticker"><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5ccda72edfcad9b5909_rival50-ticker-headline.svg" loading="lazy" alt="The challenger brands building the future" class="r50-ticker-img"/></section><section class="r50-hero"><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block.png" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block-p-500.png 500w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block-p-800.png 800w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block-p-1080.png 1080w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block-p-1600.png 1600w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block.png 1727w" alt="Rival 50" class="r50-hero-img"/><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4.jpg" loading="lazy" sizes="(max-width: 2048px) 100vw, 2048px" srcset="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4-p-500.jpg 500w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4-p-800.jpg 800w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4-p-1080.jpg 1080w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4-p-1600.jpg 1600w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4-p-2000.jpg 2000w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4.jpg 2048w" alt="Rival Fifty" class="r50-wall-img"/><div class="w-embed w-script"><!-- Rival 50 countdown wall v7: photographic plaster wall that cracks toward 9 Nov 2026; the merch hammer is the cursor, click to chip the wall; at zero it falls and reveals the logos. QA: click the timer 4x, or ?r50test=1 / ?r50p=0.8 -->
81<script defer src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6aba42ec7a48767357f11bdf_r50-wall-v7.js"></script>
81</div></section><section class="r50-banner"><h2 class="r50-h2">NOMINATIONS FOR 2026 ARE NOW CLOSED.</h2><div class="r50-btns"><a href="/rival50/2025" class="r50-btn-white">Explore 2025 Rival 50</a></div></section><section class="r50-about"><p class="r50-about-p">The Rival 50 identifies brands that challenge convention, move culture and drive create outsized impact on their growth.</p><p class="r50-about-p2">We analyzed more than 500 brands to get to the top 50 of 2025, and now we&#x27;re searching for the brands that deserve a spot on the list for 2026.</p><div class="r50-partners"><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c73addaf3982bedabe_rival50-mark-b.svg" loading="lazy" alt="Web Summit" class="r50-partner-ws"/><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c5d0d3aeae25b4cecd_rival50-mark-a.svg" loading="lazy" alt="Imperial Business School" class="r50-partner-imp"/></div></section><section class="r50-pillars"><h2 class="r50-h2">THE THREE PILLARS</h2><div class="r50-cols"><div><h3 class="r50-pillar-h">DIFFERENTIATION</h3><div class="r50-pillar-p">Distinctive point of view</div></div><div><h3 class="r50-pillar-h">RELEVANCE</h3><div class="r50-pillar-p">Understand culture and people</div></div><div><h3 class="r50-pillar-h">TALKABILITY</h3><div class="r50-pillar-p">Ideas people want to talk about</div></div></div></section><section class="r50-process"><h2 class="r50-h2">THE PROCESS</h2><div class="r50-steps"><div class="r50-step"><div class="r50-num">01</div><div class="r50-step-lbl">NOMINATION</div></div><div class="r50-step"><div class="r50-num">02</div><div class="r50-step-lbl">RESEARCH</div></div><div class="r50-step"><div class="r50-num">03</div><div class="r50-step-lbl">SCORING</div></div><div class="r50-step"><div class="r50-num">04</div><div class="r50-step-lbl">JURY</div></div><div class="r50-step"><div class="r50-num">05</div><div class="r50-step-lbl">RANKING</div></div></div></section><section class="r50-video"><div class="r50-well"><div class="r50-video-ratio"><div class="r50-video-frame w-embed"><iframe src="https://player.vimeo.com/video/1133878898?badge=0&autopause=0&app_id=58479" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0" title="Rival 50 Hero" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe></div></div></div></section><section class="r50-footer"><div class="r50-footer-lead">Sign-up to be the first to know when the Rival 50 2026 index is live</div><div class="r50-form w-form"><form method="get" name="" data-name="Html Form" data-wf-page-id="6a82ef693ae3f9d14eb954a1" data-wf-element-id="51657824-c3e1-a30b-35ad-c92507a24821"><input class="r50-input w-input" maxlength="256" name="field" data-name="Field" aria-label="Email address" placeholder="Enter your email" type="email" id="field"/><input type="submit" data-wait="Please wait..." class="r50-submit w-button" value="→"/></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c84d1b9f0b7e824191_rival50-logo.svg" loading="lazy" alt="Rival 50" class="r50-footer-logo"/></section>
81<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=633a925bb365d583ba64f172" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
81<script src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/js/webflow.schunk.b243a97fed2d3524.js" type="text/javascript" integrity="sha384-1qoY9V20fk3dh/6Nz6DOe3XDw3cDv00UAm/Tu2DA7X9iZPUOIX7ggPewjMTqxCpt" crossorigin="anonymous"></script>
81<script src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/js/webflow.schunk.ecd93df7722c7876.js" type="text/javascript" integrity="sha384-nKCAW46H3EgCjh+sGhvEMHx4XJaeiR6CtbjHnxyy8UKXqOAvPjznuKhsTXW/bS6q" crossorigin="anonymous"></script>
81<script src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/js/webflow.794874b9.3696457db493705f.js" type="text/javascript" integrity="sha384-21L5Sz/YQasz5FXPmv1MaGPR3v80UBzoKrngqlJ5sQpixuhfVVpCm10azx/xB1p4" crossorigin="anonymous"></script>
81<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 81-82
81
82<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
82GTM-T3LR6FL
vendor: 83 bytes, lines 82-83
82"
83height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
84<!-- End Google Tag Manager (noscript) -->
85
86<!-- SPLIT TEXT -->
87<script src="https://unpkg.com/split-type"></script>
87
88<!-- GSAP -->
89<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js"></script>
vendor: 1 bytes, line 89
89
90<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/Flip.min.js"></script>
vendor: 1 bytes, line 90
90
91<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrollTrigger.min.js"></script>
91
92
93<!-- pop-up banner rival 50 -->
94<script src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.2.1/js.cookie.min.js" >//pop up code</script>
94
95
96<script>
97//pop-up banner rival 50 code
98const delay = 6; // pop-up delay in seconds
99const popupId = "pop-up-wrapper"; // pop-up Id name
100
101document.addEventListener("DOMContentLoaded", function () {
102  if (!document.cookie.includes('alert=true')) {
103    setTimeout(function () {
104      const popup = document.getElementById(popupId);
105      if (popup) {
106        popup.style.display = "flex";
107        popup.style.opacity = 0;
108        popup.style.transition = "opacity 1s ease";
109        
110        // Force reflow to ensure transition is applied
111        void popup.offsetWidth;
112
113        popup.style.opacity = 1;
114
115        // Set cookie manually
116        document.cookie = "alert=true; max-age=" + 60 * 60 * 24; // 1 day in seconds
117      }
118    }, delay * 1000);
119  }
120});
121//end of pop up code
122</script>
122
123
124
125
126
127<script>
128  $('.menu_text-link').on('click', function() {
129  $('.navbar_menu-button').click();
130});
131</script>
131
132 
133<!-- Text animation -->
134<script>
135document.addEventListener("DOMContentLoaded", function () {
136  // Create splits for text elements
137  document.querySelectorAll("[data-split-line='scroll']").forEach((element) => {
138    new SplitType(element, {
139      types: "lines",
140      lineClass: "split-line",
141      tagName: "span",
142    });
143  });
144  // Animate lines with subtle opacity and yPercent
145  document
146    .querySelectorAll("[data-split-line='scroll']")
147    .forEach((element, index) => {
148      let tl = gsap.timeline({
149        scrollTrigger: {
150          trigger: element,
151          start: "top bottom",
152          end: "top 75%",
153          toggleActions: "none play none none",
154        },
155      });
156      // Set initial states with 3D perspective on parent
157      gsap.set(element, {
158        perspective: 800, // Adds 3D perspective to parent (adjust value as needed)
159        transformStyle: "preserve-3d", // Ensures 3D transforms work properly
160      });
161      gsap.set(element.querySelectorAll(".split-line"), {
162        opacity: 0,
163        transformOrigin: "left center",
164        rotationX: -90,
165        yPercent: 50,
166        z: -50, // Adds depth in 3D space
167      });
168      // Make parent visible immediately
169      tl.set(element, {
170        visibility: "visible",
171        //immediate: true,
172      });
173      // Animate in the lines with 3D properties
174      tl.to(element.querySelectorAll(".split-line"), {
175        opacity: 1,
176        yPercent: 0,
177        rotationX: 0,
178        z: 0, // Animate back to zero depth
179        duration: 0.7,
180        ease: "expo.out",
181        stagger: { amount: 0.35 },
182      });
183    });
184});
185</script>
185  
186
187<!-- Programatic Function Execution -->
188<script>
189pageFunctions.executeFunctions();
190</script>
190<script src="https://hubspotonwebflow.com/assets/js/form-124.js" type="text/javascript" integrity="sha384-bjyNIOqAKScdeQ3THsDZLGagNN56B4X2Auu9YZIGu+tA/PlggMk4jbWruG/P6zYj" crossorigin="anonymous"></script>
190</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.