PageSourceSearch

https://flfirst.org/

html flfirst.org collected 2026-10-08 19:39:14 UTC 10,345 bytes, 73 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Florida FIRST Tech Challenge</title><meta name="description" content="Welcome to Remix!"/><link rel="stylesheet" href="/assets/root-BqRT6muG.css"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&amp;display=swap"/></head><body class="bg-gray-100 flex flex-col min-h-screen pt-16 pb-20 bg-cover bg-fixed"><nav class="bg-white shadow-md w-full fixed top-0 z-10"><div class="max-w-7xl mx-auto px-2 sm:px-6 lg:px-8"><div class="relative flex items-center justify-between h-16"><div class="flex-1 flex items-center"><a href="/" class="flex-shrink-0"><img class="h-8 w-auto" src="FIRSTTech_iconHorz_RGB.png" alt="Logo"/></a></div><div class="flex-1 flex items-center justify-end"><div class="hidden sm:block"><div class="flex space-x-4"><a id="newsletter" href="/newsletter" class="text-gray-700 hover:bg-gray-200 px-3 py-2 rounded-md text-sm font-medium">Newsletter</a><a id="leagues" href="/leagues" class="text-gray-700 hover:bg-gray-200 px-3 py-2 rounded-md text-sm font-medium">Leagues</a><a id="events" href="/events" class="text-gray-700 hover:bg-gray-200 px-3 py-2 rounded-md text-sm font-medium">Events</a><a id="teams" href="/teams" class="text-gray-700 hover:bg-gray-200 px-3 py-2 rounded-md text-sm font-medium">Teams</a><a id="gallery" href="/gallery" class="text-gray-700 hover:bg-gray-200 px-3 py-2 rounded-md text-sm font-medium">Gallery</a><a id="videos" href="/videos" class="text-gray-700 hover:bg-gray-200 px-3 py-2 rounded-md text-sm font-medium">Videos</a></div></div></div><div id="menu-button" class="absolute inset-y-0 right-0 flex items-center sm:hidden"><button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-700 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white" aria-controls="mobile-menu" aria-expanded="false"><span class="sr-only">Open main menu</span><svg class="block h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16m-7 6h7"></path></svg><svg class="hidden h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></svg></button></div></div></div><div class="hidden" id="mobile-menu"><div class="px-2 pt-2 pb-3 space-y-1"><a id="newsletter-mobile" href="/newsletter" class="text-gray-700 hover:bg-gray-200 block px-3 py-2 rounded-md text-base font-medium">Newsletter</a><a id="leagues-mobile" href="/leagues" class="text-gray-700 hover:bg-gray-200 block px-3 py-2 rounded-md text-base font-medium">Leagues</a><a id="events-mobile" href="/events" class="text-gray-700 hover:bg-gray-200 block px-3 py-2 rounded-md text-base font-medium">Events</a><a id="events-mobile" href="/teams" class="text-gray-700 hover:bg-gray-200 block px-3 py-2 rounded-md text-base font-medium">Teams</a><a id="gallery-mobile" href="/gallery" class="text-gray-700 hover:bg-gray-200 block px-3 py-2 rounded-md text-base font-medium">Gallery</a><a id="videos-mobile" href="/videos" class="text-gray-700 hover:bg-gray-200 block px-3 py-2 rounded-md text-base font-medium">Videos</a></div></div></nav><div class="flex items-center justify-center pt-5 px-5 text-black"><div class="bg-white shadow-md p-4 max-w-5xl mx-auto flex flex-col gap-2"><div class="relative z-0 -mt-4 -mx-4"><img src="cover.jpg" alt="Logo"/><div class="h-full absolute top-0 left-0 flex flex-col justify-end"><h2 class="text-6xl font-bold text-white bg-black w-auto py-6 px-4 opacity-80">Florida <i>FIRST</i> Tech Challenge</h2></div></div><div><p class="[&:not(:last-child)]:mb-4">The Florida <a href="https://www.firstinspires.org/programs/ftc/"><i>FIRST</i> Tech Challenge</a> program is a sport for engineers. However, <em>FIRST</em> is more than building robots. It enables middle and high school students to apply the skills they are learning it school to a sports-style robotics competition.</p><p class="[&:not(:last-child)]:mb-4"><em>FIRST</em> Tech Challenge teams (grades 6-12) are challenged to design, build, program, and operate robots to compete in a head-to-head challenge in an alliance/team format. The robot kit is reusable from year to year and can be coded using a variety of levels of Java-based programming. Participants are eligible to apply for <strong>$80M+</strong> in college scholarships.</p><p class="[&:not(:last-child)]:mb-4">The Florida <em>FIRST</em> Tech Challenge program includes <strong>256+</strong> teams from Pensacola to Miami. Florida is organized into <a href="/leagues" class="text-gray-500 underline hover:text-blue-600">leagues</a> that compete in local events between October and earlier February with some teams qualifying for the Florida Championship in early March.</p><p class="[&:not(:last-child)]:mb-4">For more information about the program, check out <a href="https://docs.flfirst.org/overview/" class="text-gray-500 underline hover:text-blue-600">this overview</a> or contact:</p><p class="[&:not(:last-child)]:mb-4"><strong>AJ Foster</strong><br>
2Program Delivery Partner<br>
3<a href="/cdn-cgi/l/email-protection#1574737a6661706755737c676661657467617b7067663b7a6772" class="text-gray-500 underline hover:text-blue-600"><span class="__cf_email__" data-cfemail="b2d3d4ddc1c6d7c0f2d4dbc0c1c6c2d3c0c6dcd7c0c19cddc0d5">[email&#160;protected]</span></a></p></div></div><div class="w-full flex justify-center items-center py-4 px-6 fixed bottom-0 bg-white drop-shadow-[0_35px_35px_rgba(0,0,0,0.25)]"><div class="flex-1 flex items-start"><div><a class="block w-full text-center" href="https://www.rtx.com/" target="_blank"><img class="h-8 w-auto inline-block" src="rtx-black.jpg" alt="RTX"/></a></div></div><div class="flex-1 flex items-center justify-center gap-4"><div><a class="block w-full text-center" href="https://docs.flfirst.org/sponsors/visit-central-florida/" target="_blank"><img class="h-8 w-auto inline-block" src="VisitCF_4cHorLogo-png.png" alt="Visit Central Florida"/></a></div></div><div class="flex-1 flex items-center justify-center gap-4"><div><a class="block w-full text-center" href="https://docs.flfirst.org/sponsors/infinity-insurance-agency/" target="_blank"><img class="h-8 w-auto inline-block" src="IIA-logo.png" alt="Infinity Insurance Agency"/></a></div></div><div class="flex-1 text-right"><a href="/about" class="text-gray-400 hover:text-blue-500">About this site</a></div></div></div>
vendor: 108 bytes, line 3
3<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
3<script>((STORAGE_KEY, restoreKey) => {
4    if (!window.history.state || !window.history.state.key) {
5      let key = Math.random().toString(32).slice(2);
6      window.history.replaceState({
7        key
8      }, "");
9    }
10    try {
11      let positions = JSON.parse(sessionStorage.getItem(STORAGE_KEY) || "{}");
12      let storedY = positions[restoreKey || window.history.state.key];
13      if (typeof storedY === "number") {
14        window.scrollTo(0, storedY);
15      }
16    } catch (error) {
17      console.error(error);
18      sessionStorage.removeItem(STORAGE_KEY);
19    }
20  })("positions", null)</script>
20<link rel="modulepreload" href="/assets/entry.client-B-G-elFD.js"/><link rel="modulepreload" href="/assets/jsx-runtime-d4vcKfGz.js"/><link rel="modulepreload" href="/assets/components-C5c64wmR.js"/><link rel="modulepreload" href="/assets/root-F-Y_TkGJ.js"/><link rel="modulepreload" href="/assets/content-page-heading-dsc4FPMR.js"/><link rel="modulepreload" href="/assets/markdown-CJYhZ9p4.js"/><link rel="modulepreload" href="/assets/_index-DQ31-6eY.js"/>
20<script>window.__remixContext = {"basename":"/","future":{"v3_fetcherPersist":true,"v3_relativeSplatPath":true,"v3_throwAbortReason":true,"v3_singleFetch":true,"v3_lazyRouteDiscovery":true,"unstable_optimizeDeps":false,"unstable_routeConfig":false},"isSpaMode":false};window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script>
20<script type="module" async="">;
21import * as route0 from "/assets/root-F-Y_TkGJ.js";
22import * as route1 from "/assets/_index-DQ31-6eY.js";
23window.__remixManifest = {
24  "entry": {
25    "module": "/assets/entry.client-B-G-elFD.js",
26    "imports": [
27      "/assets/jsx-runtime-d4vcKfGz.js",
28      "/assets/components-C5c64wmR.js"
29    ],
30    "css": []
31  },
32  "routes": {
33    "root": {
34      "id": "root",
35      "path": "",
36      "hasAction": false,
37      "hasLoader": false,
38      "hasClientAction": false,
39      "hasClientLoader": false,
40      "hasErrorBoundary": false,
41      "module": "/assets/root-F-Y_TkGJ.js",
42      "imports": [
43        "/assets/jsx-runtime-d4vcKfGz.js",
44        "/assets/components-C5c64wmR.js"
45      ],
46      "css": [
47        "/assets/root-BqRT6muG.css"
48      ]
49    },
50    "routes/_index": {
51      "id": "routes/_index",
52      "parentId": "root",
53      "index": true,
54      "hasAction": false,
55      "hasLoader": false,
56      "hasClientAction": false,
57      "hasClientLoader": false,
58      "hasErrorBoundary": false,
59      "module": "/assets/_index-DQ31-6eY.js",
60      "imports": [
61        "/assets/jsx-runtime-d4vcKfGz.js",
62        "/assets/content-page-heading-dsc4FPMR.js",
63        "/assets/markdown-CJYhZ9p4.js"
64      ],
65      "css": []
66    }
67  },
68  "url": "/assets/manifest-debbf7e0.js",
69  "version": "debbf7e0"
70};
71window.__remixRouteModules = {"root":route0,"routes/_index":route1};
72
73import("/assets/entry.client-B-G-elFD.js");</script>
73</body></html><!--$-->
73<script>window.__remixContext.streamController.enqueue("[{\"_1\":2,\"_5\":-5,\"_6\":-5},\"loaderData\",{\"_3\":-5,\"_4\":-5},\"root\",\"routes/_index\",\"actionData\",\"errors\"]\n");</script>
73<!--$-->
73<script>window.__remixContext.streamController.close();</script>
73<!--/$--><!--/$-->

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.